3.2 梯度下降
训练神经网络,就是让 J(W,b) 的值最小。解法就是梯度下降,或者随机梯度下降。
梯度下降法的迭代公式是:
(Wlj,i)s+1=(Wlj,i)s−η∂J(W,b)∂Wlj,i∣Wlj,i=(Wlj,i)s
(blj)s+1=(blj)s−η∂J(W,b)∂blj∣bli=(blj)s
其中, s 是迭代次数,
上两式的一阶偏导又可以写成:
∂J(W,b)∂Wlj,i=∑k=1m∂∂Wlj,iJ(W,b;xk,yk)+λWlj,i
∂J(W,b)∂blj=∑k=1m∂∂bljJ(W,b;xk,yk)
3.2.1 输出层 Lp 和隐层 Lp−1 之间的权重矩阵 Wp−1 一阶偏导求解并推广到一般情形
我们可以把神经网络视为一个复杂一点的函数,自变量 x 经过一系列函数的操作,输出因变量 y , y 是由 W 和 b 决定的,优化输出结果,需要调整 W 和 b 。
这里,先推导一个具体的权重,也就是最后一个隐层的第二个神经元跟输出层的第一个神经元之间的权重,然后再扩展到一般形式:
∂J(W,b)∂Wp−11,2=∑k=1m∂∂Wp−11,2J(W,b;xk,yk)+λWp−11,2=12∑k=1m∂∂Wp−11,2(∑q=1dp(ykq−f(zp,kq))2)+λWp−11,2=∑k=1m∑q=1dp(−(ykq−f(zp,kq))f′(zp,kq)∂zp,kq∂