【模式识别】反向传播神经网络 BPNN
2013-06-06 15:44
267 查看
回顾感知器学习算法,其核心思想是梯度下降法,即以训练样本被错分的程度为目标函数,训练中每次出现错误时便使权系数朝着目标函数相对于权系数负梯度方向更新,知道目标中没有被错分的样本为止。
而多层感知器模型中,神经元传递函数是阶跃函数,输出端的无耻只能对最后一个神经元系数求梯度,无法对其他权系数求梯度,所以无法利用梯度下降的方法学习其他的权值。
Sigmoid函数是单调递增的非线性函数,无限次可微。当且仅当权值较大时可以逼近阈值函数,当权值较小时逼线性函数。
Sigmoid函数通常写作如下形式:
取值范围是(-1,1),代替神经元阶跃函数可写作:
由于采用Sigmoid函数作为神经元传递函数,不管网络结构多么复杂,总可以通过计算梯度来考察各个参数。这就是多层感知器反向传播算法的基本思想。
由输出层误差逐层反向计算各层各单元的误差, 并基于梯度下降法修正各权值:
其中,δj(k)是第k层第j单元的局部梯度,或敏感度(sensitivity) 。
而多层感知器模型中,神经元传递函数是阶跃函数,输出端的无耻只能对最后一个神经元系数求梯度,无法对其他权系数求梯度,所以无法利用梯度下降的方法学习其他的权值。
Sigmoid函数
BP算法提出主要由于Sigmoid函数的出现,代替之前的阈值函数来构造神经元。Sigmoid函数是单调递增的非线性函数,无限次可微。当且仅当权值较大时可以逼近阈值函数,当权值较小时逼线性函数。
Sigmoid函数通常写作如下形式:
取值范围是(-1,1),代替神经元阶跃函数可写作:
由于采用Sigmoid函数作为神经元传递函数,不管网络结构多么复杂,总可以通过计算梯度来考察各个参数。这就是多层感知器反向传播算法的基本思想。
反向传播(back-propagation,BP)
BP算法就是通过迭代优化网络的权值使得输出与输入之间的实际映射关系与所期望的映射关系一致,采用梯度下降算法通过调整各层权值求目标函数最小化。网络在某个或所有训练样本上的预测输出和期望输出的误差平方和:由输出层误差逐层反向计算各层各单元的误差, 并基于梯度下降法修正各权值:
其中,δj(k)是第k层第j单元的局部梯度,或敏感度(sensitivity) 。
相关文章推荐
- 【模式识别】反向传播神经网络 BPNN
- 反向传播神经网络 BPNN
- cs231n-反向传播与神经网络
- C++从零实现深度神经网络之二——前向传播和反向传播
- 神经网络2-反向传播
- 浅谈神经网络反向传播的梯度丢失问题
- 神经网络中的矩阵求导及反向传播推导
- 神经网络学习(三)反向(BP)传播算法(1)
- 神经网络和深度学习(三)——反向传播工作原理
- TensorFlow 深度学习框架 (2)-- 反向传播优化神经网络
- 反向传播神经网络极简入门
- 神经网络反向传播算法公式推导详解
- 机器学习:神经网络反向传播推导
- Python神经网络代码实现流程(三):反向传播与梯度下降
- TensorFlow 深度学习框架 (2)-- 反向传播优化神经网络
- 神经网络中的反向传播----Back Propagation
- 一文弄懂神经网络中的反向传播——BackPropagation
- 神经网络与深度学习学习笔记:正向传播与反向传播(未完)
- 神经网络反向传播和学习过程
- 理解神经网络中的反向传播法