BP算法细节
参数说明:假设有n层。J表示代价函数,和上面的E是同样的意思,只不过用不同的字母写而已。
分析:要想知道第l层的第i个结点的残差,必须知道该节点所连接的下一层的各个结点的权值,以及这些结点的残差,幸亏第l+1层已经计算出来了残差,你只要把后面一层的每个结点j的残差乘以该结点与这一层的结点i相连的权值,然后加和,最后别忘了乘以这一层的激活方式的导数。
最后说明一点,BP传播,计算各层的各点的残差是关键,残差是总的代价函数对于该点的net的偏导,从倒数第二层开始,求残差就要用到其后面的一层的各个残差,只要用后面一层的各个结点残差乘以其与这一层这个的结点所连接的权值,再求和,最后乘以这一层这个结点的out对net的偏导就可以了。如此一来,残差乘以这个结点的输入,就可以得到整个代价函数对于这个结点的w偏导了。