加州理工学院公开课:机器学习与数据挖掘_神经网络(第十课)

课程简介:

本节课主要介绍人工神经网络.通过介绍评定模型,随机梯度下降法,生物启发和感知器系统,讲师用视图和数学解析式详细地讲解了神经网络的运行过程以及原理.

课程大纲:

1、Stochastic Gradient Descent ( 随机梯度下降法 )

2、Neural Network Model ( 神经网络模型 )

3、Backpropagation Algorithm ( 反向传播算法 )

4、Summarize

1、Stochastic Gradient Descent

在上一节课里,我们利用梯度下降法找到最优的方向,然后向该方向移动一小步,但是很有可能会导致陷入一个差的局部最优解,而且每次移动都要计算全部的点,因此计算量大。那如果每次移动只看一个点,根据当前的点找到最优的方向进行移动,当所有的点都被选择后,理论上总的移动方向是跟之前的方法一致的,因为数学期望是相等的。但是利用随机的选取一个点,却有可能让我们逃脱非常差的局部最优点的陷阱,当然无法逃脱全部的陷阱。那是因为当你随便选取一点的时候,它的方向并不一定就是最优化的那个方向,因此下一步有可能移动到高点去,然后在新的位置重新寻找出路,这样就有更大的可能性获得较好的局部最优点。考虑下面的图片,在左图中,当我们第一次选择的初始化位置是第一个黑点的时候,那么根据整体梯度下降法,就会陷入那个非常糟糕的局部嘴有点去了。然而如果我们选择的是随机梯度下降法,就有可能因为某个点的方向是偏离最优点的而使得前进的方向是想着右边的,这样就可以跳过该陷阱了。由图中,根据整体梯度下降法,当遇到平缓区域的时候,该方法就会认为找到最优点了,就会停滞不前。而随机梯度下降法却由于不同点的方向不一致从而推动了算法继续向前移动,于是我们再次逃脱了该陷阱了。

应用随机梯度下降法有如下好处:

1、计算代价小,因为每次只选取一个点进行计算

2、随机性有助于逃脱局部最小点,找到较好的最小点

3、简单,因为每次只选取一个点进行计算

2、Neural Network Model ( 神经网络模型 )

在学习感知器模型的时候我们知道当输入数据点超过三个的时候,最坏情况下我们没办法把所有的点全部正确分类,即 dVC = 3。然而如果利用两个感知器模型进行分类,然后再综合这两个模型的结果得到最总的结果,我们就有办法把所有的 4 个点全部分类,如下图:

对于更多的点,我们可以利用更多的模型进行分类。通过综合不同模型的结果,就有可能通过感知器模型找到最优的解(权重)。

利用以下图形进行直观的解释:

上图中共有第一列是输入,后面三列表示三层模型,共 5 个感知器模型(每个圆圈表示一个感知器模型,也叫一个神经元或节点)。最后的感知器输出的就是最终的结果。

每一条线上都有一些数值,这些便是我们需要学习的权重(参数),开始的时候是未知的。上述模型其实就是一个神经网络。

理论上通过这些感知器的排列组合(任意个),可以产生任何输出。

定义:

神经网络的模型是通过组合不同的简单模型而得到的一个综合的模型,组合方式如下图所示:

其中第一列是输入数据,最右边的是输出,剩下的是隐藏层,该网络的层次 L = 3.

每条线表示一个权值,需要学习确定,而每个 θ 表示一个模型(任何模型,可以互不相等),每条线所属的层次跟其所指向的模型所在的层次相同.

下一层模型的输入是上一层模型的输出乘上对应的权值(所在的线的值)。

为了方便对神经网路进行讨论,这里假定每个模型的 θ(s) = (1-e^s)/(1+e^s), 处理的数据是二分类。

此外,定义如下符号:

w是我们需要学习的参数,对应图中的线,上标 l 表示当前的 w 属于第 l 层,下标表示该线出发的节点位置。j 表示该线指向的节点位置。值得注意的是 i 的取值范围,之所以能够去得到 i 是因为存在常数项: x0

于是我们有:

其中 x 表示输出,s 表示输入。

当 l = 0 的时候表示的是原始的数据,这时候 0 < j < d + 1

对 x 的求解是一个递归的过程,先求出第 1 层,再求第二层...直到最终输出。

该模型要解决如下两大难题:

1、generalization:众多的模型、参数、权重等导致自由度很大,正如在误差偏差分析里面所讲到的,假设集大会增大找到最优函数的难度。

2、optimization:应该如何进行学习才能把这么多参数学好?

第三部分将设法解决上述问题。

3、Backpropagation Algorithm ( 反向传播算法 )

这一部分基本是数学分析,看得有点晕,理解的也不是很好,只能是不断地截图了...

利用随机梯度下降法,每次只关注一个点。因此我们需要找出 Ein(W) 关于每一个数据的偏微分:▽e(W)。其中 e(W) = (h(xn),yn)。方便起见,令 e(W) = ( h(xn) - yn)^2(理论上可以用一切有效的误差度量函数)。

有  = 

因为 Sj(l) = Xi(l-1) * Wij(l) 所以(注:这里的 (l) 表示的是上标为 l ):令  

当 l = 1 的时候 Xi(l) 表示的是原始输入的数据,因此我们可以递归的求得上述等式右边的第二项,只要我们能够求出第一项就可以对 w 进行学习了。

为了求出第一项,先从最后一层开始,因为最后一层距离整个算法的输出最接近,且  θ(S1(L)) 就是 X1(L),( 注:其中 L 是上标 ),有:

当最后一层求出后,便可以递归的求出前面的值了。如下:( 之所以要求和是因为位于 l-1 层的节点受到 l 层的所有节点的反馈)


下面是伪代码:

总结:

第一部分承接了上一节课,介绍了一种更好的梯度测量方法,也为神经网络参数学习打下了基础。第二部分主要是介绍神经网络的基本概念及作用。最后一部分是基于数学的分析,从而把神经网络模型转换到计算机可以处理的层面,因此最后一部分是理论联系实际。

时间: 2024-10-05 06:38:21

加州理工学院公开课:机器学习与数据挖掘_神经网络(第十课)的相关文章

加州理工学院公开课:机器学习与数据挖掘_过拟化(第十一课)

课程简介 本节课主要介绍了关于机器学习中的过拟化问题.作者指出,区别一个专业级玩家和业余爱好者的方法之一就是他们如何处理过拟化问题.通过该课程,我们可以知道样本数据的拟合并不是越高越好,因为噪声的存在将使得过拟化问题的出现.最后简介了处理过拟合的两种方法. 课程大纲 1.什么是过拟化?(what is overfitting?) 2.过拟化中的噪声.(The role of noise) 3.确定性噪声.(Deterministic noise) 4.如何处理过拟化问题.(Dealing wit

加州理工学院公开课:机器学习与数据挖掘_偏差与方差权衡(第八课)

课程简介: 在回顾了VC分析之后,本节课重点介绍了另一个理解泛化的理论:偏差与方差,并通过学习曲线的运用比较了VC分析和偏偏差方差权衡的不同用途. 课程大纲: 1.偏差与方差的权衡 2.学习曲线 1.偏差与方差的权衡 在上一节课:VC 维中,我们求出了 Eout 的边界,Eout < Ein + Ω.该公式描述了 Eout 的边界.现在让我们从不同的角度来分析 Eout. 我们把 Eout 分解为两部分: 1.假设集 H 近似 f 的能力(即 H 中与 f 距离最小的 G 与 f 的误差大小 )

加州理工学院公开课:机器学习与数据挖掘_误差和噪声(第四课)

这一课的主题是:误差分析与噪声处理. 该课时的主要内容如下: 1.Nonlinear Transformation(Continue)(非线性转换(续)) 2.Error Measure (误差度量)(重点) 3.Noisy Targets(噪声指标)(重点) 4.Preamble to the Theory(理论热身) 1.Nonlinear Transformation: 在上一节课的最后,作者举了一个关于非线性转换的例子.通过该例子我们可以直观的看到非线性的数据可以被转化成线性的数据并且利

加州理工学院公开课:机器学习与数据挖掘_线性模型

这一课时主要是讲述了线性模型的一些处理. 包括: 1.输入数据的表示(Input Representation) 2.线性分类(Linear Classification) 3.线性回归(Linear Regression) 4.非线性模型转换(Nonlinear Transformation) 作者认为,如果要测试某个模型的可用性,做好就是用真实数据. 为了讲解线性模型如何应用,作者利用线性模型来解决邮局数据辨别问题: 由于不同的人有不同的书写习惯,对于同一个数字其书写形式可能各异,但是其基本

加州理工学院公开课:机器学习与数据挖掘_训练与测试(第五课)

课程简介: 本视频为机器学习系列课程第5章.主要定量研究训练与测试之间的关系,并引入学习模型中的一个重要概念--断点.课程深入浅出,从正射线.正区间和凸集三个具体例子入手,寻找突破点,从而得出训练集与测试集的关系. 课程大纲(Outline): 1.从训练到测试(From Training to Testing) 2.举例说明(Illustrative Examples ) 3.关键概念---- 断点(Key Notion --- Break Point ) 4.难题(Puzzle) 1.从训练

加州理工学院公开课:机器学习与数据挖掘_Three Learning Principles(第十七课)

课程简介 : 这一节课主要讲述机器学习中应该注意的事项,包括:Occam's Razor.Sampling Bias.Data Snooping. 课程提纲 : 1.Occam's Razor. 2.Sampling Bias. 3.Data Snooping. 1.Occam's Razor. 爱因斯坦曾经说过一句话: An explanation of the data should be made as simple as possible, but no simpler. 软件工程中也有

加州理工学院公开课:机器学习与数据挖掘_Epilogue(第十八课-终结篇)

课程简介 : 这是该课程的最后一课,作者首先总结了有关机器学习的理论.方法.模型.范式等.最后介绍了贝叶斯理论和Aggregation(聚合)方法在机器学习中的应用. 课程提纲 : 1.机器学习的地图. 2.贝叶斯理论. 3.Aggregation(聚合). 1.机器学习的地图 有关机器学习的方法.模型等非常多,简直令人目不暇接.比如下图列出来的.然而不建议一一学习这些方法.模型,否则容易迷失在这些方法里无法自拔.如果我们对于机器学习的框架认识的足够深刻,那么我们才能驾驭众多的方法. 下面列举了

加州理工学院公开课:机器学习与数据挖掘_VC 维(第七课)

课程简介: 本讲通过回顾上一讲内容,引出了VC维的定义,它是由统计学习理论定义的有关函数集学习性能的一个重要指标.并通过例子证明函数集的VC维就是它能打散的最大样本数目.课程最后介绍VC维的应用,指出它反映了函数集的学习能力,VC维越大则学习机器越复杂 课程大纲: 1.定义(The definition) 2.感知器的 VC 维(VC dimension of perceptrons) 3.VC 维的解释(Interpreting the VC dimension) 4.边界的泛化(Genera

加州理工学院公开课:机器学习与数据挖掘_Regularization(第十二课)

课程简单介绍: 接上一节课,这一节课的主题是怎样利用 Regularization 避免 Overfitting.通过给如果集设定一些限制条件从而避免  Overfitting,可是如果限制条件设置的不恰当就会造成 Underfitting. 最后讲述了选择 Regularization 的一些启示式方法. 课程大纲: 1.Regularization 2.Weight decay 3.Choosing a regularizer 1.Regularization R 有两种方法: 1) Mat