回顾感知器学习算法,其核心思想是梯度下降法,即以训练样本被错分的程度为目标函数,训练中每次出现错误时便使权系数朝着目标函数相对于权系数负梯度方向更新,知道目标中没有被错分的样本为止。
而多层感知器模型中,神经元传递函数是阶跃函数,输出端的无耻只能对最后一个神经元系数求梯度,无法对其他权系数求梯度,所以无法利用梯度下降的方法学习其他的权值。
Sigmoid函数
BP算法提出主要由于Sigmoid函数的出现,代替之前的阈值函数来构造神经元。
Sigmoid函数是单调递增的非线性函数,无限次可微。当且仅当权值较大时可以逼近阈值函数,当权值较小时逼线性函数。
Sigmoid函数通常写作如下形式:
取值范围是(-1,1),代替神经元阶跃函数可写作:
由于采用Sigmoid函数作为神经元传递函数,不管网络结构多么复杂,总可以通过计算梯度来考察各个参数。这就是多层感知器反向传播算法的基本思想。
反向传播(back-propagation,BP)
BP算法就是通过迭代优化网络的权值使得输出与输入之间的实际映射关系与所期望的映射关系一致,采用梯度下降算法通过调整各层权值求目标函数最小化。网络在某个或所有训练样本上的预测输出和期望输出的误差平方和:
由输出层误差逐层反向计算各层各单元的误差, 并基于梯度下降法修正各权值:
其中,δj(k)是第k层第j单元的局部梯度,或敏感度(sensitivity) 。
本文介绍了感知器学习算法及多层感知器模型中的局限性,重点探讨了Sigmoid函数如何替代阶跃函数应用于神经元中,以及如何利用BP算法进行权值优化,实现网络输出与期望的一致。
1万+

被折叠的 条评论
为什么被折叠?



