softmax回归与交叉熵损失crossentropy的详细推导

目录

(1)softmax

(2)one-hot编码

(3)交叉熵cross entropy


(1)softmax

对于一个多分类问题,经过隐藏层的计算(式1),输出是对应类别的得分。

   (1)

式中,oi代表对应第i个类别的得分,x代表输入,wibi为网络权重与偏置参数,均为学习的参数。假设要解决一个花的四分类问题,四个类别分别为郁金香、玫瑰、向日葵、小雏菊。

当输入类别为向日葵时,可计算此时的输入对应四个类别的分别的得分o1、o2、o3、o4。假设由公式(1)计算得分如下表1:

o1(郁金香)

o2(玫瑰)

o3(向日葵)

o4(小雏菊)

1

2

4

3

由表可知,此时的输入属于第三类的得分最高,但我们希望得到的是一个概率,此时引入softmax算子,计算如式2。

      (2) 

式中, y^i对应第i个类别的预测的概率,在0-1之间。分子为对应第i个类别的得分求指数,分母为所有类别求指数再求和。此处指数的作用是可以进一步扩大第i类与其他类别间的差距。将i=1~4带入式2,分别计算对应类别的概率。

经过计算,由softmax可将对应类别的得分转换为概率如表2:

(郁金香)

(玫瑰)

(向日葵)

(小雏菊)

0.0321

0.0871

0.6439

0.2369

由此可知,向日葵的预测概率是最大的。但向日葵0.6439的概率相对比小雏菊0.2369的概率差别并不是很大,由此判断类别是向日葵还没有太高的置信度。接下来将根据损失函数,进一步更新网络参数,使得向日葵预测的概率更高。

总结,softmax将类别的得分转换为概率分布,预测类别的置信度,并通过指数进一步扩大类别间的差异。

(2)one-hot编码

先引入one-hot编码,独热编码是指给一个类别长度的向量,对某一类为1,其余类别为0 。其实就是打标签,如表3,由于训练过程是看得到标签,因此针对向日葵的标签进行训练。

郁金香

玫瑰

向日葵

小雏菊

[1,0,0,0]

[0,1,0,0]

[y1y2y3y4]

[0010]

[0,0,0,1]

(3)交叉熵cross entropy

交叉熵用于衡量两个概率分布之间的差异,两个分布差异越大,交叉熵损失越大,计算公式如式(3),此处用交叉熵衡量预测概率(softmax预测概率 )与实际类别(one-hot编码y1、y2、y3、y4)的差异,并通过梯度反向传播优化网络参数。目标就是使得预测概率与实际类别的差异最小化。

由one-hot编码,每个类别对应的位置为1,因此对于第三个类别向日葵来说,只有y3=1,损失如式(4)。

带入 ,并对o3求导:

注:

 

由此可知,梯度就是预测概率与真是概率的区别。

从另一个角度去看交叉熵,

此时真是标签y3=1,当预测概率 越接近1,此时损失越小,而当预测概率 靠近0,损失越大。

  总结,交叉熵关注预测正确类别的个数,目标是预测正确的概率足够大,另外也可从 的形状去理解损失。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山上的小酒馆

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值