机器学习吴恩达第一周

第1周

引言

1.1欢迎

许多 AI 研究者认为,实现做出一个和人类一样聪明的机器最好的方法是通过让机器试着模仿人的大脑学习。

这里有一些机器学习的案例:

  1. 大量的硅谷公
    司正在收集 web 上的单击数据,也称为点击流数据,并尝试使用机器学习算法来分析数据,
    更好的了解用户,并为用户提供更好的服务。
  2. 我们现在有了电子医疗记录。如果我们可以把医疗记录变成医学知识,
    我们就可以更好地理解疾病。
  3. 在工程的所有领域,我们有越来越大、越来
    越大的数据集,我们试图使用学习算法,来理解这些数据。

1.2机器学习是什么?

我认为经验E 就是程序上万次的自我练习的经验而任务 T 就是下棋。性能度量值 P 呢,就是它在与一些新的对手比赛时,赢得比赛的概率。

所以,以性能度量值 P 为标准,这个任务的性能,也就是这个任务 T 的系统性能,将在学习经验 E 后得到提高。

目前存在几种不同类型的学习算法,主要的两种类型被我们称之为监督学习和无监督学习。监督学习这个想法是指,我们将教计算机如何去完成任务,而在无监督学习中,我们打算让它自己进行学习。

1.3监督学习

机器学习吴恩达第一周

可以看出,监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。比如你朋友那个新房子的价格。用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。
用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。
机器学习吴恩达第一周

假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题。

分类指的是,我们试着推测出离散的输出值:0 或 1 良性或恶性,而事实上在分类问题中,输出可能不止两个值。比如说可能有三种乳腺癌,所以你希望预测离散输出 0、1、2、 3。

在其它一些机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。
机器学习吴恩达第一周

我们以后会讲一个算法,叫支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。

1.4无监督学习

机器学习吴恩达第一周

即无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。

针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。是的,无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法。

所以这个就是无监督学习,因为我们没有提前告知算法一些信息,比如,这是第一类的人,那些是第二类的人,还有第三类,等等。

就是说你要自动地聚类那些个体到各个类,我没法提前知道哪些是哪些。因为我们没有给算法正确答案来回应数据集中的数据,所以这就是无监督学习。

无监督学习或聚集有着大量的应用:

  1. 他们想解决什么样的机器易于协同地工作。
  2. 你能检索这些顾客数据集,自动地发现市场分类,并自动地把顾客划分不同的细分市场中,你才能自动并更有效地销售或不同的细分市场一起进行销售。
  3. 最后,无监督学习也可用于天文数据分析。

另外,这个算法还会区分出两个音频资源,这两个可以合成或合并成之前的录音。事实上,这个算法对应你刚才知道的那个问题的算法可以就用一行代码来完成。
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x’);

2、单变量线性回归

2.1模型表示

机器学习吴恩达第一周

你可以做的一件事就是构建一个模型,也许是条直线。而且,更具体来说,这是一个回归问题。

我们正在寻找癌症肿瘤,并想要确定肿瘤是良性的还是恶性的,这就是 0/1 离散输出的问题。更进一步来说,在监督学习中我们有一个数据集,这个数据集被称训练集。

???? 代表训练集中实例的数量
???? 代表特征/输入变量
???? 代表目标变量/输出变量
(????, ????) 代表训练集中的实例
(????(????), ????(????)) 代表第???? 个观察实例
ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis)

因此,ℎ 是一个从???? 到 ???? 的函数映射。一种可能的表达方式为:ℎ????(????) = ????0 + ????1????,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

2.2代价函数机器学习吴恩达第一周

机器学习吴恩达第一周

现在要做的便是为我们的模型选择合适的参数(parameters)????0 和 ????1,在房价问题这个例子中便是直线的斜率和在???? 轴上的截距。

模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。

我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数
机器学习吴恩达第一周
最小。

2.3代价函数的直观理解

机器学习吴恩达第一周

2.4代价函数的直观理解2

机器学习吴恩达第一周

代价函数的样子,等高线图,则可以看出在三维空间中存在一个使得????(????0, ????1)最小的点。
机器学习吴恩达第一周

2.5梯度下降

机器学习吴恩达第一周

重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点
的位置
机器学习吴恩达第一周
其中????是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。

实现方法是:你应该计算公式右边的部分,通过那一部分计算出????0和????1的值,然后同时更新????0和????1。

2.6梯度下降的直观理解

机器学习吴恩达第一周

现在,这条线有一个正斜率,也就是说它有正导数,因此,我得到的新的????1,????1更新后等于????1减去一个正数乘以????。

如果????太小了,即我的学习速率太小,结果就是只能这样像小宝宝一样一点点地挪动,去努力接近最低点;如果????太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛,下一次迭代又移动了一大步,越过一次,又越过一次,一次次越过最低点。

假设你将????1初始化在局部最低点,在这儿,它已经在一个局部的最优处或局部最低点。结果是局部最优点的导数将等于零,因为它是那条切线的斜率。这意味着你已经在局部最优点,它使得????1不再改变,也就是新的????1等于原来的????1

所以当我们接近局部最低时,导数值会自动变得越来越小,所以梯度下降将自动采取较小的幅度,这就是梯度下降的做法。所以实际上没有必要再另外减小????。

2.7梯度下降的线性回归

机器学习吴恩达第一周
机器学习吴恩达第一周

批量梯度下降”,指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中,在计算微分求导项时,我们需要进行求和运算。

正规方程(normal equations)的方法可以在不需要多步梯度下降的情况下,也能解出代价函数????的最小值。实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。