您的位置:首页 > 理论基础 > 计算机网络

反向传播神经网络 BPNN

2016-01-11 19:01 477 查看
回顾感知器学习算法,其核心思想是梯度下降法,即以训练样本被错分的程度为目标函数,训练中每次出现错误时便使权系数朝着目标函数相对于权系数负梯度方向更新,知道目标中没有被错分的样本为止。

多层感知器模型中,神经元传递函数是阶跃函数,输出端的无耻只能对最后一个神经元系数求梯度,无法对其他权系数求梯度,所以无法利用梯度下降的方法学习其他的权值。


Sigmoid函数

BP算法提出主要由于Sigmoid函数的出现,代替之前的阈值函数来构造神经元。

Sigmoid函数是单调递增的非线性函数无限次可微。当且仅当权值较大时可以逼近阈值函数,当权值较小时逼线性函数。



Sigmoid函数通常写作如下形式:



取值范围是(-1,1),代替神经元阶跃函数可写作:



由于采用Sigmoid函数作为神经元传递函数,不管网络结构多么复杂,总可以通过计算梯度来考察各个参数。这就是多层感知器反向传播算法的基本思想。


反向传播(back-propagation,BP)

BP算法就是通过迭代优化网络的权值使得输出与输入之间的实际映射关系与所期望的映射关系一致,采用梯度下降算法通过调整各层权值求目标函数最小化。网络在某个或所有训练样本上的预测输出和期望输出的误差平方和:



由输出层误差逐层反向计算各层各单元的误差, 并基于梯度下降法修正各权值:



其中,δj(k)是第k层第j单元的局部梯度,或敏感度(sensitivity) 。




(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经允许请勿用于商业用途)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息