在文章最后,给了一篇pdf,这个pdf是刘大佬找的,也忘了从哪里看的了,这里在文章最后给出链接,全文更加连贯,如果有知道出处的,务必告知,如果不介意引用,我一定给出原文软链。
CSDN的LaTeX是真的烂,没有之一,之前还好好的,现在就不行了!!!
看了网上的帖子,写的很好,不过我还是想自己整理下,有的地方原来的博主还是有点散了,不过建议先看原博,然后在按照如下思路展开,不然可能有点跳跃。
自己认为下面的思路还是很清晰的,编辑公式就花了我好长时间啊。。。
正向传播是为了计算net out的值
反向传播
首先说一下sigmoid函数的一个比较好的特点:
f
′
(
x
)
=
f
(
x
)
∗
(
1
−
f
(
x
)
)
f'(x) = f(x) * (1 - f(x))
f′(x)=f(x)∗(1−f(x))
隐含层---->输出层
∂ E t o t a l ∂ W 5 = ∂ E t o t a l ∂ o u t o 1 ∗ ∂ o u t o 1 ∂ n e t o 1 ∗ ∂ n e t o 1 ∂ w 5 = δ o 1 ∗ ∂ n e t o 1 ∂ w 5 = δ o 1 ∗ o u t h 1 \frac {\partial E_{total}} {\partial {W_5}} = { \frac {\partial E_{total}} {\partial {out_{o_1}}} } * \color {red}{ \boldsymbol { { \frac {\partial {out_{o_1}}} {\partial {net_{o_1}}} } * { \frac {\partial net_{o_1}} {\partial {w_5}}} } } = \delta_{o_1} * { \frac {\partial net_{o_1}} {\partial {w_5}} } = \delta_{o_1} * {out}_{h_1} ∂W5∂Etotal=∂outo1∂Etotal∗∂neto1∂outo1∗∂w5∂neto1=δo1∗∂w5∂neto1=δo1∗outh1
在这里
δ
o
1
=
∂
E
t
o
t
a
l
∂
o
u
t
o
1
∗
∂
o
u
t
o
1
∂
n
e
t
o
1
\delta_{o_1} = \frac {\partial E_{total}} {\partial {out_{o_1}}} * \frac {\partial {out_{o_1}}} {\partial {net_{o_1}}}
δo1=∂outo1∂Etotal∗∂neto1∂outo1表示\boldsymbol{输出层的误差}含义如下:
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ \frac {\parti…
因此原式带入后:
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲\frac {\partial…
隐含层---->隐含层
∂ E t o t a l ∂ W 1 = ∂ E t o t a l ∂ o u t h 1 ∗ ∂ o u t h 1 ∂ n e t h 1 ∗ ∂ n e t h 1 ∂ w 1 \frac {\partial E_{total}} {\partial {W_1}} = { \frac {\partial E_{total}} {\partial {out_{h_1}}} } * \color {red}{ \boldsymbol { { \frac {\partial {out_{h_1}}} {\partial {net_{h_1}}} } * { \frac {\partial net_{h_1}} {\partial {w_1}}} } } ∂W1∂Etotal=∂outh1∂Etotal∗∂neth1∂outh1∗∂w1∂neth1
这里的
∂
E
t
o
t
a
l
∂
o
u
t
h
1
{ \frac {\partial E_{total}} {\partial {out_{h _1}}} }
∂outh1∂Etotal可推导如下:
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ \frac {\partia…
为了简化公式记 δ ( h 1 ) \delta(h_1) δ(h1)表示隐含层单元 h 1 h_1 h1的误差为
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ \frac {\partia…
这里的 δ \delta δ和链接顶部的公式是同一个公式,所以为什么偏导是这样的也就解释清楚了,当然在链接也给出了形式化的证明
对比这上面两个,可以发现两个后面的红色字体部分是一样的,只不过针对两个层需要稍微改动点,并且两个偏导数的形式是一样的
参考链接
bp从入门看到激动还想哭 博主墙裂推荐