(转)BP神经网络反向传播推导
关于反向传播推导的博客千千万,能讲清楚的没几个,下文大部分转自博客:
https://blog.****.net/sinat_34474705/article/details/54176584
其中加了点注释(红色部分)
1. BP网络模型及变量说明
1.1 模型简图
1.2 变量说明:
2. 误差反向传播相关推导
2.1 正向传播(forward-propagation)
正向传播的思想比较直观,最主要的是对于**函数的理解。对于网络中第ll层的第jj个神经元,它会接受来自第l−1l−1层所有神经元的信号,即:
2.2 代价函数(cost function)
由2.1节公式可以得到BP网络在一个样本下的输出值,我们定义平方和误差函数(sum-of-square error function)如下:
2.3 反向传播(back-propagation)
这是BP神经网络最核心的部分,误差从输出层逐层反向传播,各层权值通过梯度下降法(gradient descent algorithm)进行更新,即:
由此我们得到了误差从输出层向低层反向传播的递推公式,进而可以求出误差对于每一层权值的梯度▽Ep(w)▽Ep(w)
3. 总结
BP神经网络是应用最多的一种神经网络,其精髓在于误差反向传播。本人在学习这块内容是为了给接下来学习和研究深度学习及caffe做准备,由于个人水平有限,在上述推导中可能存在不合理的地方,还请见谅,同时也欢迎指出内容的不足之处。
4. 参考文献
[1] 周志华,机器学习[M] , 清华大学出版社,2016.
[2] CHRISTOPHER M.BISHOP. PATTERN RECOGNITION AND MACHINE LEARNING [M], 2006.