赞
踩
以下参考自:http://neuralnetworksanddeeplearning.com/chap2.html
推导之前先介绍几个变量:
表示连接第(l-1)层第k个神经元和第l层的第j个神经元的权重
表示第l层的第j个神经元的偏置
表示第l层的第j个神经元的激活函数
表示第l层的权重矩阵
表示第l层的偏置矩阵
表示第l层的激活函数矩阵
表示第l层的输入
表示第l层的第j个神经元的输入
现在我们假设损失函数是多项式函数即为:
其中的n表示训练样本总数,L表示网络总层数,y表示标签值,表示最后一层的网络输出激活值
另一个激活函数可以写为:
第l层的第j个神经元的输入可表示为:
现在我们再定义一个误差项,用于表示第l层的第j个神经元的误差:
然后我们假设从输入上产生误差开始:
设第l层的第j个神经元所产生的误差项为:,然后该误差项经由前向传播逐层往后面传递,最终由误差函数表示该误差:
下面推导四个反向传播的公式:
(1)
(2)
这样便可以得到误差项逐层之间的迭代公式,有后一层(l+1)层反向求得l层误差
(3)
(4)同理可得:如此便得到关于权重项的求导公式。
整个神经网络的训练过程的算法流程可以描述为:
对于某个训练样本x:
以上若有偏差,之后更新也欢迎指出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。