编程语言
首页 > 编程语言> > 反向传播算法

反向传播算法

作者:互联网

一、公式定义

举例:

 

二、推导过程

 (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(算法实现)

 

标签:公式,各层,传播,算法,反向,https,对角,com
来源: https://www.cnblogs.com/lihanlihan/p/15821842.html