回顾感知器学习算法,其核心思想是梯度下降法,即以训练样本被错分的程度为目标函数,训练中每次出现错误时便使权系数朝着目标函数相对于权系数负梯度方向更新,知道目标中没有被错分的样本为止。
而多层感知器模型中,神经元传递函数是阶跃函数,输出端的无耻只能对最后一个神经元系数求梯度,无法对其他权系数求梯度,所以无法利用梯度下降的方法学习其他的权值。
Sigmoid函数
BP算法提出主要由于Sigmoid函数的出现,代替之前的阈值函数来构造神经元。
Sigmoid函数是单调递增的非线性函数,无限次可微。当且仅当权值较大时可以逼近阈值函数,当权值较小时逼线性函数。
Sigmoid函数通常写作如下形式:
取值范围是(-1,1),代替神经元阶跃函数可写作:
由于采用Sigmoid函数作为神经元传递函数,不管网络结构多么复杂,总可以通过计算梯度来考察各个参数。这就是多层感知器反向传播算法的基本思想。
反向传播(back-propagation,BP)
BP算法就是通过迭代优化网络的权值使得输出与输入之间的实际映射关系与所期望的映射关系一致,采用梯度下降算法通过调整各层权值求目标函数最小化。网络在某个或所有训练样本上的预测输出和期望输出的误差平方和:
由输出层误差逐层反向计算各层各单元的误差, 并基于梯度下降法修正各权值:
其中,δj(k)是第k层第j单元的局部梯度,或敏感度(sensitivity) 。
分享到:
相关推荐
反向传播神经网络(BP网络)java实现。我这个项目是用BPNN做手写体识别,最后效果并不好,不过算法本身是正确的,我用它做过习题。具体原理可以看我的博客
为了提高识别矿山水害水源(即,判定水的类型)的正确率,利用免疫算法设计并优化了反向传播神经元网络(BPNN)的结构并求得BPNN的各层权系数和阈值的初值,用该初值训练BPNN,获得最佳的BPNN各层的权系数(权重)和阈值,使其...
Qt的BPNN人脸识别:Q Qt开发的基于BPNN(反向传播神经网络)的人脸识别系统
该系统首先利用滑动窗口重叠采样技术进行数据增强,随后结合自编码器减少噪声影响,通过反向传播算法训练深度神经网络双层分类器识别出故障模式及故障程度,最后用集成学习投票法进一步提高识别准确率。实验结果表明...
针对传统神经网络应用于复杂系统建模和辨识中存在的...然后,通过将小波分析方法与对经典的基于误差反向传播算法的神经网络(back propagation neural network,BPNN)、径向基神经网络(radical basis function neural netw
为了提高动态过程运行状态在线监控效率,提出了基于小波重构与支持向量(support vector machine,SVM)-反向传播神经网络(back propagation neural network,BPNN)相...
因此,提出了一种基于双相干谱、样本熵和奇异值分解(BSS)和反向传播神经网络(BPNNDS)算法的多路光纤入侵传感系统信息的特征提取与识别方法。针对含3路传感光纤的布里渊光时域反射(BOTDR)传感入侵检测系统,该方法...
为了优化反向传播网络相关学习参数,提出一种粒子群优化辅助BP 神经网络(BPNN)的新方法.以变压器油中气体体积分数百分比构造故障特征,将BP网络的初始权值和阈值进行实数编码,以对应PSO中的粒子,实现BP网络的离线训练...
使用BPNN的人脸识别。 包含1.使用Matlab的反向传播神经网络(自定义代码)代码进行人脸识别。 2.使用Matlab的反向传播网络(内置)代码进行人脸识别。该项目目前已关闭,Adeel Raza Azeemi