一、公式定义
举例:
二、推导过程
(1)求解第k层的参数:
注:loss表示误差,由误差函数作用于神经网络最后一层输出值和真实值而得出。
将参数表示为矩阵:
注:另外一些文章的Wk可能是这种表示方式的转置。
则:
(a0即为输入层x0)(公式1)
(公式2)
显然,ak-1在前向传播过程中已经得到,要求出第k层的W和b,我们很自然地想到要求出第k层的δ。
(2)求解
(公式3)
注:diag((γk)T)即以γk为对角元素的对角矩阵。
三、算法流程
可以直接求出最后一层的δ,然后根据公式3依次求出前面各层的δ。根据公式1,2求出各层的W和b。
假设最后一层(输出层)的上标为K(省略了前向传播过程)。
注:个人认为流程中的第2步和第3步不能颠倒顺序。
推荐:
https://zhuanlan.zhihu.com/p/25609953(详细推导)
https://www.cnblogs.com/jsfantasy/p/12177216.html(算法实现)