人工神经网络(ANN,Artificial Neural Networks)
注:本文是《Mitchell机器学习》《JiaweiHan数据挖掘概念与技术》的学习笔记
概览一
1 ANN学习算法对于训练数据中的错误有非常好的健壮性,因此非常适合于这样的问题:训练集合为含有噪声的复杂传感器数据,例如来自摄像机和麦克风。
2 ANN由一系列简单的单元相互密集连接构成,其中每个单元有一定数量的实值输入,并产生单一的实值输出。组成神经网络的几种主要单元包括:感知器,线性单元,sigmoid单元。
3 感知器
I 概念:输入实数值向量,计算其线性组合,结果大于某阈值输出1,否则输出-1。如下公式:
或者:
其中-w0是阈值。
II 表征能力:即n维实例空间(点空间)中的超平面,或所有可能的实数值权向量的集合。
III 感知器表示布尔函数。书中给出了与,或的示例,本文给出与非,或非,异或:
用1和-1表示真,假
与非,有一个为假就为真:令w0=0.3,w1=w2=-0.5
1) 输入:真1,真1à输出:假<0
2) 输入:真1,假-1à输出:真>0
3) 输入:假-1,真1à输出:真>0
4) 输入:假-1,假-1à输出:真>0
同理,或非,全部为假才为真:令w0=-0.8,w1=w2=-0.5
对于异或,需要阈值单元(感知器)的二层网络实现,如下图:
IV m-of-n函数。即n个输入中必须m个为真输出才为真。很容易用感知器表示。
V 感知器训练法则:重复如下过程直至收敛
对每一训练样例,
其中,是学习速率,通常比较小,且有时随权调整次数衰减。
VI 收敛条件:训练样例线性可分,且使用了充分小的。
4 线性单元
I 概念
对应于感知器的第一阶段,不带阈值。如下
II delta法则
首先指定一个度量标准来衡量假设(权向量)相对于训练样例的训练误差,常用的如下:
然后使用梯度下降方法(梯度下降是搜索庞大假设空间或无限假设空间的一种通用学习范型)搜索假设空间。在满足如下的条件时,E对于线性单元是个误差曲面,且必然是具有单一全局最小值的抛物面。
1) 假设空间包含连续参数化的假设
2) 误差对于这些假设参数可微
E对于向量w的梯度的反方向即沿误差曲面最陡峭下降的方向。因此重复如下过程直至收敛:
或分量形式
其中,经推导
因此
由公式可知,标准梯度下降在权值更新前需对所有样例汇总误差。
收敛条件:必须使用足够小的学习速率。如果太大就有越过误差曲面最小值而不停留在那一点的危险。因此,即使训练样本不是线性可分,delta法则也会收敛到目标概念的最佳近似。
III 增量法则,LMS(least-mean-square)法则,Adaline法则,或Windrow-Hoff法则
使用标准梯度下降的变体:增量梯度下降或随机梯度下降,即
可知,随机梯度下降根据每个单独样例的误差增量计算权值更新,这是与标准梯度下降最大的不同。同时,它可被看做为每个单独的训练样例d定义不同的误差函数,如下,这样的话就符合了梯度下降是通用学习范型的说法,变动的只是训练误差的评估方法:
收敛性:通过使足够小可以使随机梯度下降以任意程度接近于标准梯度下降。
5 前馈网络的表征能力
I 布尔函数,两层单元的网络可准确表示任意布尔函数。
II 连续函数,两层单元的网络可以以任意小的误差逼近任意有界连续函数。
III 任意函数,三层单元的网络可以任意精度逼近任意函数。
6 基于前馈网络的反向传播算法泛化观测数据的归纳偏置可粗略地刻画为:在数据点之间平滑插值,即如果给定两个正例,它们之间没有反例,会倾向于把这两点之间的点也标记为正例。
7 反向传播算法的一个迷人的特性是:它能够在网络内部的隐藏层发现有用的中间表示。多层网络在隐藏层自动发现有用表示的能力是ANN学习的一个关键特性。例如:
经过多轮迭代会发现隐藏层单元值自动收敛到8个不同值的二进制编码。
8随着迭代次数的增加,ANN也会产生过拟合,ANN中大量的权值参数为拟合训练样例的“特异性”提供了很大的自由度。而且过拟合一般发生在迭代的后期,而不是早期,因为网络的权值是被初始化为小随机值的,这仅能描述非常平滑的决策面,随着权值增长,学习到的决策面复杂度也增加,便可能产生过拟合。可以通过调整误差函数,或通过交叉验证引入验证数据来控制。
概览二
1 神经网络黑盒内部:可解释性。全连接的网络很难表达,由神经网络提取规则的第一步通常是网络剪枝。某些方法通过将链,单元或活跃值聚类来提取,其实质就是归纳输入单元值,隐藏层单元值与输出单元值活跃出现的规律或联系,转化为规则。
2 灵敏度分析:评估网络的一个给定输入对输出的影响。
综述
1 可微sigmoid单元
I 概念:输入与权重线性组合后经激励函数挤压后输出,如图
其中,称作logistic函数,sigmoid函数,激励函数或挤压函数,其它类型的比如双曲正切函数。
II 可以在进sigmoid函数前加上一个相应该单元的偏倚,充当阈值,改变单元的活性,如下:
III sigmoid函数的特点是它的导数很容易用它的输出表示,即:
2 多层前馈网络
即由上述sigmoid单元构成的多层网络,前馈是因为其权重都不回送到输入单元或前一层的输出单元。多个线性单元的连接仍产生线性函数,而多层前馈神经网络能将类预测作为输入的非线性组合建模。从统计学的观点来讲,它们进行非线性回归。给定足够多的隐藏单元和足够多的训练样本,多层前馈网络可以逼近任何函数。
3 后向传播算法(backpropagation)
I 多层前馈网络的学习符合梯度下降搜索的使用条件,因此首先定义误差函数,如下:
更常用的是对每个训练样例定义误差函数,如下:
II 隐藏单元的输出对上面的误差也是有间接影响的,但是训练样例仅对网络的输出提供了目标值tk,因此使用如下间接办法计算隐藏单元的误差项:对受隐藏单元h影响的每个单元的误差加权求和。即当前层的单元输出误差由前一层的误差构成,正好与前一层的输出由当前层的输出构成(前馈)相反,因此称作反向传播,反向传播的是误差,前馈的是输出,注意这里的前一层指得是输入到隐藏到输出的从后往前的顺序。
III 由梯度下降搜索原理,某处权重的更新值应由误差函数对它的偏导的反向乘以学习速率得到,如下,只要有了权重更新规则,后向传播算法就迎刃而解:
下面只需推导权重更新的计算表达式。
首先注意到w(j,i)(指与单元j的第i个输入相关联的权值)只能通过net(j)(即单元j的输入的加权和)影响Ed,所以有:
下面只需推导的表达式。
情况1:输出单元的权值训练法则
Step1, 由于netj只能通过oj影响网络,因此
Step2,对于上式右边第一项:
Step3,对于第二项,应用sigmoid函数导数特点:
情况2:隐藏(内部)单元的权值训练法则
下面用来表示任意单元i的。
Step1,对于隐藏单元,wji是间接影响网络输出的,所谓间接,指的是网络单元j通过其直接下游集合(直接输入中包含单元j的输出的所有单元)Downstream(j)影响Ed。且,netj只能通过Downstream(j)影响Ed。因此:
Step2,最终得:
IV 由后向传播使用的误差函数可知,其梯度下降是随机梯度下降或增量梯度下降版本,对每个训练实例都要更新权重,直至收敛。当使用偏倚时,还要更新偏倚。这种更新策略又称作实例更新,而标准梯度下降是周期(扫描训练集的一次迭代)更新。
V 对于学习速率,太小学习将进行得很慢,太大可能出现在不适当的解之间摆动。一个经验法则是设置为1/t,t是当前训练集迭代次数。
VI 给定|D|个元组和w个权重,每个周期需要O(|D|*w)的时间,在最坏情况下,周期数可能是输入数n的指数。
VII 后向传播算法的收敛性
误差曲面可能含有多个局部极小值,使它不一定收敛到全局最优解。
但是:
1) 当梯度下降陷入相对某个权的局部极小值时,相对其他的权,这里未必是局部极小值。
2) 如果把网络的权值初始化为接近于0的值,那么早期的梯度下降步骤中,网络将表现为一个非常平滑的函数,近似为输入的线性函数。因为sigmoid函数本身在权值靠近0时接近线性。当权值已经增长一定时间后它们才会到达可以表示高度非线性网络函数的程度。这时虽然更复杂函数的权值空间区域存在更多的局部极小值,但它们已经足够靠近全局最小值了。
使用冲量项缓解局部极小值问题,如下权值更新公式:
即使第n次的迭代时的权值更新部分地依赖于发生在第n-1次迭代时的更新。其中,叫冲量。想象一个球沿误差曲面滚动,冲量可以使这个球滚过误差曲面的局部极小值或滚过误差曲面的平坦区域,也具有在梯度不变的区域逐渐增大搜索步长的效果,从而加快收敛。
问题:
1 析取范式,范式?
2 delta法则选择训练误差的贝叶斯论证,指出在什么条件下对于给定的训练数据使E最小化的假设也就是H中最可能的假设?
3 感知器训练法则与delta法则的收敛性证明?足够小时随机梯度下降以任意程度接近于标准梯度下降的证明?
4 线性规划?
5 冲量项的作用与详细分析?
6 两层网络表示任意布尔函数的通用方案?
7 任意(连续)函数可被三(二)层单元的网络以任意精度逼近的证明?
8 人工神经网络的高级课题?