深度学习——softmax函数

为什么要用softmax?

交叉熵代价函数和softmax激活函数的配合使用使得权值的梯度十分的简洁

交叉熵代价函数
E = − Σ y i l o g y ^ i E = -\Sigma y_ilog\hat y_i E=Σyilogy^i
softmax激活函数
y ^ = f ( Z ) = e Z t ∑ i n e Z i \hat y = f(Z) = \dfrac{e^{Z_t}}{\sum_{i}^{n} e^{Z_i}} y^=f(Z)=ineZieZt
在这里插入图片描述

我们通过梯度下降法来求出权值更新的方向,当交叉熵和softmax配合使用时,梯度十分简洁。
d E d w i = d E d Z i ⋅ d Z i d w i = d E d Z i ⋅ X \dfrac{dE}{dw_i} = \dfrac{dE}{dZ_i}·\dfrac{dZ_i}{dw_i} = \dfrac{dE}{dZ_i}·X dwidE=dZidEdwidZi=dZidEX
d E d Z i = d ( − Σ y i l o g y ^ i ) d Z i \dfrac{dE}{dZ_i} = \dfrac{d( -\Sigma y_ilog\hat y_i)}{dZ_i} dZidE=dZid(Σyilogy^i)
由于真实分类中只有一个 y i = 1 y_i=1 yi=1,其余都是0,我们关心的只是真实的标签 y t = 1 y_t = 1 yt=1

d E d Z t = d ( − l o g y ^ t ) d Z t \dfrac{dE}{dZ_t} = \dfrac{d( -log\hat y_t)}{dZ_t} dZtdE=dZtd(logy^t)
= d ( − l o g f ( Z t ) ) d Z t = \dfrac{d( -log f(Z_t))}{dZ_t} =dZtd(logf(Zt))
= − 1 f ( Z t ) f ′ ( Z t ) =-\dfrac{1}{f(Z_t)}f'(Z_t) =f(Zt)1f(Zt)
= − 1 f ( Z t ) e Z t ( Σ e Z i − e Z t ) ( Σ e Z i ) 2 =-\dfrac{1}{f(Z_t)}\dfrac{e^{Z_t}(\Sigma e^{Z_i}-e^{Z_t})}{(\Sigma e^{Z_i})^2} =f(Zt)1(ΣeZi)2eZt(ΣeZieZt)
= y ^ t − 1 = \hat y_t-1 =y^t1

故对于真实标签的梯度项为 d E d w t = ( y ^ t − 1 ) X \dfrac{dE}{dw_t} = (\hat y_t-1)X dwtdE=(y^t1)X

作为一般项的梯度为[>>推导过程] d E d w i = ( y ^ i − y i ) X \dfrac{dE}{dw_i} = (\hat y_i-y_i)X dwidE=(y^iyi)X

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值