概述
令表示第
层的第
个神经元到第
层的第
个神经元的连接权值,
表示第
层第
个神经元的输入,
表示第
层第
个神经元的输出,
表示
层第
个神经元的偏置,C表示代价函数,
则有:
其中,表示激活函数。训练多层网络的目的就是使代价函数C最小化.
定义代价函数为:
可以看出,这个函数依赖于实际的目标值,
可以看成权值和偏置的函数,通过不断的修改权值和偏置值来改变神经网络的输出值.
接下来更新权值和偏置:
首先定义误差,令
表示第
层第
个神经元上的误差(?),定义为
由链式求导法则可得输出层的误差方程为:
因为当前层神经元的输出是上一层神经元输出的线性组合,由链式法则可通过下层神经元的误差来表示当前层的误差:
# 建立了 前一层误差 和 后一层误差的关系
又因为: 建立了 和
的联系
对求偏导,可得:
故有: 前一层误差 和 后一层误差的关系推导
权重和偏置更新公式:
由梯度下降法可得到更新规则为:
BP反向传播的过程;
最后
以上就是幸福金毛为你收集整理的BP算法公式推导的全部内容,希望文章能够帮你解决BP算法公式推导所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复