机器学习笔记—机器学习简介

一直以来都想学习机器学习,但是苦于找不到好的入门书籍或者教学视频(Andrew NG的斯坦福公开课没有练习),直到发现了这个:

https://www.coursera.org/learn/machine-learning/home/welcome

虽然也是Andrew NG老师的,不过是在Coursera上的,相对于课堂上的录制视频,这个用PPT来讲更直观,视频中间会有问答检测关键知识点是否理解正确,强制性要求的课后作业虽然不难,但确实能加深理解。比起只看书或者只看公开课,优点不用多说。

由于本人也是初学者,所以各位客官在看得时候务必以教学视频和自己的理解为主,若发现有问题的地方欢迎指正共同学习。

=========================分隔符=============================

Machine Learning Week1

首先,从什么是机器学习开始说起。
这里我们要引用一下台大林轩田老师《机器学习基石》的一幅图:

图片说明
  • $X$:训练数据的输入部分
  • $y$:训练数据的输出部分
  • $D$:训练数据集,表现为$(X_i, Y_i)$的形式
  • $H$:假说Hypothesis,表示对问题分析后得到的数学模型
  • $A$:学习方法

在机器学习中,对于一类问题,我们先加以分析,得到对于一组输入应该怎样处理的数学模型$H$,数学模型中有各种各样的参数$\theta$。
此时,我们知道应该有哪些参数,但是不知道参数具体值为多少,于是借助学习方法$A$以及训练数据$D$,我们不断修改参数,使得对于以后的预测数据,能得到一个相对符合实际的结果。
因此,机器学习就是一个提出假说$H$,并用学习方法$A$不断优化$\theta$的过程。

在课程中,Andrew NG将机器学习分为两种:

  1. 监督性学习(Supervised Learning)
  2. 非监督性学习(Unsupervised Learning),也称聚类算法

而这两种分类的主要依据是,当我们在训练学习机器的时候,每组数据是否有标准答案。
这样说可能不严谨,我还是拿例子来说。

在常规的训练一个机器学习的算法过程中,我们大多有一些训练数据,在不断喂(feed)学习机器的过程中,学习机器不断调整自己内部的各项参数,使得当机器学习训练完毕,我们拿实际需要预测的数据喂给机器学习算法,能得到一个比较符合实际情况的值。

然而,这种预期的值确是有区别的。

  1. 监督性学习:我们想预测房价,我们需要把房屋的大小、地理位置、规格等数据喂给学习机器,我们能得到一个预测的价格的值。在训练这种学习机器的过程中,我们在喂这组数据之前就已经知道了这组数据的标准答案,假如得到的答案和标准答案不符,我们希望修改参数来使得得到的答案尽可能像标准答案靠拢,这叫做监督。

  2. 非监督性学习:也称它聚类算法。如给邮件分类,在我们训练学习机器给喂数据的过程中,我们根本不知道这组数据应该准确地分为哪一类,甚至不知道应该有哪些类别有多少类别,我们仅能依靠训练数据之间的相关性将他们分为几类。 既然没有标准答案,监督自然也无从说起。

简介就到这,线性回归我们拿到下一章统一讲。