看了很多有关神经网络的资料,一直对于反向传播算法总是不理解,对于其过程也是觉得很复杂,让人想放弃,写一篇博客来从头到尾来撸一遍反向传播,让这个黑盒子变透明。
自己上手推导了两遍,接下来撸一遍代码,推荐一篇文章,很详细
https://www.cnblogs.com/charlotte77/p/5629865.html
主要涉及到的数学方法,就是求偏导数,链式法则,没有其他的复杂的数学公式了
当然求偏导的原理,是利用梯度下降法
因为是要将误差减小,那么就需要看是那个值在影响这个误差,所以我们通过调参数来调整误差,对每一个参数向误差求导数,即可得到误差函数下降最快的方向,那么在参数上减去对应的偏导数,也就是在参数上减去其对应的梯度,当然这个梯度要乘以一个学习率,也就是步长