交叉熵损失函数详解

交叉熵概念

交叉熵是信息论中的概念,主要用于度量两个概率分布间的差异性,要理解交叉熵,需要先了解下面几个概念。

信息量

信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”,也就是说衡量信息量的大小就是看这个信息消除不确定性的程度。

“我中午吃饭了”,这条信息并没有减少不确定性,因为中午基本都吃饭,信息量接近为0。

”2022年中国队成功进入世界杯“,从直觉上来看,这句话具有很大的信息量。因为中国队进入世界杯的不确定性因素很大,而这句话消除了进入世界杯的不确定性,所以按照定义,这句话的信息量很大。

根据上述可总结如下:信息量的大小与信息发生的概率成反比。概率越大,信息量越小。概率越小,信息量越大。

设某一事件发生的概率为P(x),其信息量表示为:

 其中I ( x )表示信息量,这里log 表示以e为底的自然对数。

信息熵

信息熵也被称为熵,用来表示所有信息量的期望。

期望是试验中每次可能结果的概率乘以其结果的总和。

所以信息量的熵可表示为:

 使用足球比赛胜负概率来计算其信息熵:

序号事件概率P信息量
1比赛胜利0.5− log ⁡ ( 0.5 ) -\log \left ( 0.5 \right )−log(0.5)
2比赛失利0.2− log ⁡ ( 0.2 ) -\log \left ( 0.2 \right )−log(0.2)
3平局0.3− log ⁡ ( 0.3 ) -\log \left ( 0.3 \right )−log(0.3)

对于0-1分布的问题(是0或者是1的二分类问题),由于其结果只用两种情况,例如是男人还是女人,设该事情发生的概率为P ( x ) ,则另一件事情发生的概率为1 − P ( x ),所以对于0-1分布的问题,计算熵的公式可以简化如下:

相对熵(KL散度)

如果对于同一个随机变量X 有两个单独的概率分布P ( x )和Q ( x ) ,则我们可以使用KL散度来衡量这两个概率分布之间的差异

公式如下:

例子,P( x )来表示样本的真实分布,Q( x ) 来表示预测分布,比如在一个三分类任务中(例如,汽车的分类为:轿车、SUV和卡车分类器),x 1 , x 2 , x 3 ​分别代表轿车,SUV,卡车,例如一张汽车的图片真实分布P ( X ) = [ 1 , 0 , 0 ], 预测分布Q ( X ) = [ 0.7 , 0.2 , 0.1 ] ,计算KL散度:

 KL散度越小,P ( x ) 与Q ( x ) 的分布更加接近。

交叉熵

首先将KL散度公式拆开:
 

 前者H ( p ( x ) )表示信息熵,KL散度= 交叉熵 - 信息熵

交叉熵公式表示为:

 在机器学习中,信息熵在这里就是一个常量。由于KL散度表示真实概率分布与预测概率分布的差异,越小表示预测的结果越好,所以最小化KL散度的值;交叉熵等于KL散度加信息熵(常量),相比KL散度更加容易计算,所以一般在机器学习中直接用交叉熵做loss。

交叉熵在单分类问题中的应用

在线性回归问题中,常常使用MSE(Mean Squared Error)作为loss函数,而在分类问题中常常使用交叉熵作为loss函数。

下面通过一个例子来说明如何计算交叉熵损失值。

假设我们输入一张汽车的图片,标签与预测值如下:

*轿车SUV卡车
Label010
Pred0.20.70.1

则:
 

所以,一个batch的loss为
 

 m为当前batch的样本数,n为类别数。

总结:

        交叉熵表示为真实概率分布与预测概率分布之间的差异,并且交叉熵的值越小,说明模型越策结果越好。其通常与softmax搭配进行分类任务的损失计算。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值