交叉熵损失函数的应用

交叉熵损失函数原理详解

0.关于标签的理解

MNIST手写数字识别数据集,每张图片只能有一个固定的标签“数字”,即每张照片都是数字;

若一张图片中同时含有“猫”和“狗”,这张图片就同时拥有属于“猫”和“狗”的两种标签;

可以看出,标签就是一张图片的属性

1.单标签分类任务中的使用(二分类任务包含在其中)

参考:交叉熵在单标签分类任务中的使用

需要注意的是:

(1)单标签含有的类别较多(MNIST手写数字识别数据集,分成数字0-9),一般用softmax函数作为网络最后一层的输出

(2)对单个样本,假设真实分布为y,网络输出分布为\widehat{y},总的类别数为n,则在这种情况下,交叉熵损失函数的计算方法为:

Loss=-\sum_{i=1}^{n}y_{i}\log \widehat{y_{i}}

对于二分类问题,n=2,这种情况下也是利用上面的交叉熵损失函数,即:Loss=-\sum_{i=1}^{n}y_{i}\log \widehat{y_{i}}=-y_{1}\log \widehat{y_{1}}-y_{2}\log \widehat{y_{2}}=-y\log \widehat{y}-(1-y)\log (1-\widehat{y})

说明了公式Loss=-\sum_{i=1}^{n}y_{i}\log \widehat{y_{i}}的统一性

2.多标签分类任务中的使用

参考:交叉熵在多标签分类任务中的使用

需要注意的是:

(1)多标签的每一个标签相当于是二分类问题,所以用sigmoid函数作为网络最后一层的输出

(2)在第1节(单标签分类任务中的使用)中,对一个batch,单标签n分类任务的交叉熵损失函数的计算方法为:

Loss=-\frac{1}{batch\_size}\sum_{j=1}^{batch\_size}\sum_{i=1}^{n}y_{ji}\log\widehat{y_{ji}}

这里,若y_{ji}\neq0y_{ji}=1)的分量才保留(y_{ji}只能为0/1

在本节(多标签分类任务中的使用)中,对一个batch,多标签n分类(n其实就是2)任务的交叉熵损失函数的计算方法为:

Loss=\frac{1}{batch\_size}\sum_{j=1}^{batch\_size}\sum_{i=1}^{n}-y_{ji}\log\widehat{y_{ji}}-(1-y_{ji})\log(1-\widehat{y_{ji}})

这里,y_{ji}=0/1计算得到的分量均保留(y_{ji}只能为0/1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值