BP算法示例
郝伟 2020/08/31
根据身高H和体重W,我们可以建立以下的神经网络:
根据上一节的内容,我们可以知道,损失函数可以定义如下:
Loss=n1i=1∑n(yi−y^i)2
所以,损失函数实际是上包括 w1,w2,w3,w4,w5,w6,b1,b2,b3 9个变量的多元函数,即 Loss(w1,w2,w3,w4,w5,w6,b1,b2,b3)
h1 和 h2 的净输出为:
neth1=w1∗H+w2∗W+b1
neth2=w3∗H+w4∗W+b2
为了让输出避免线性相关,我们使用 Sigmod函数进行计算:S(x)=1−e−x1
另外,由于S′(x)=(1+e−x)2ex=S(x)(1−S(x))所以 ∂neth1∂outh1=S′(neth1)=outh1∗(1−outh1)
求对应的实际输出,分别为:
outh1=S(h1)outh2=S(h2)
从而最终的输出为:O=w5∗outh1+w6∗outh2+b3
所以损失函数的表达式为:
Loss=(yi−y^i)2=(yi−O)2
wi+←1−η∗∂wi∂O
现在让我们来求w1 的变化率:
∂w1∂Loss=∂O∂Loss∗∂outh1∂O∗∂neth1∂outh1∗∂w1∂neth1
代入可得:
∂w1∂Loss=(O−yi)∗w5∗outh1(1−outh1)∗H
(略)