在多分类问题中,一般选取softmax作为分类器,交叉熵作为损失函数。他们的形式都很简单,但是在BP的时候还是有些复杂,现在总结如下:
交叉熵损失函数
(1) C ( a , y ) = − ∑ i y i l n a i C(a,y)=-\sum_i{y_i ln a_i} \tag{1} C(a,y)=−i∑yilnai(1)
softmax逻辑回归
第 i i i个输出值 a i a_i ai为:
(2) a i = e z i ∑ k e z k a_i=\frac{e^{z_i}}{\sum_ke^{z_k}} \tag{2} ai=∑kezkezi(2)
结论
(3) ∂ C ∂ z i = a i − y i \frac{∂C}{∂z_i} = a_i−y_i \tag{3} ∂zi∂C=ai−yi(3) 【预测值减真实值】
推导过程
(4) ∂ C ∂ z i = ∑ j ( ∂ C j ∂ a j ∂ a j ∂ z i ) \frac{∂C}{∂z_i} =\sum_j(\frac{∂C_j}{∂a_j} \frac{∂a_j}{∂z_i} ) \tag{4} ∂zi∂C=j∑(∂aj∂Cj∂zi∂aj)(4)
【因为 z i z_i zi总会出现在分母中,所以会对所有的 a j a_j aj产生影响,每个 a j a_j aj都会有一个损失值 C j C_j Cj(1式)】
-
先看第一项,由(1)式
最低0.47元/天 解锁文章
8403

被折叠的 条评论
为什么被折叠?



