转自:https://www.zhihu.com/question/24827633/answer/91489990网络
对于节点 来讲,
的净输入
以下:函数
接着对 作一个sigmoid函数获得节点
的输出:
相似的,咱们能获得节点 、
、
的输出
、
、
。blog
获得结果后,整个神经网络的输出偏差能够表示为:
其中 就是刚刚经过前向传播算出来的
、
;
是节点
、
的目标值。
用来衡量两者的偏差。
这个 也能够认为是cost function,不过这里省略了防止overfit的regularization term(
)
展开获得get
经过梯度降低调整 ,须要求
,由链式法则:
,
以下图所示:it
以上3个相乘获得梯度 ,以后就能够用这个梯度训练了:
不少教材好比Stanford的课程,会把中间结果 记作
,表示这个节点对最终的偏差须要负多少责任。。因此有
。io
经过梯度降低调整 ,须要求
,由链式法则:
,function
以下图所示:神经网络
参数 影响了
,进而影响了
,以后又影响到
、
。
求解每一个部分:im
,img
其中
,这里
以前计算过
的计算也相似,因此获得
的链式中其余两项以下:
,
相乘获得
获得梯度后,就能够对 迭代了:
。
在前一个式子里一样能够对 进行定义,
因此整个梯度能够写成