信息熵,交叉熵和相对熵

目录

0.总述

1.信息熵

2.交叉熵

3.相对熵/KL散度(Kullback-Leibler divergence), 亦可称为KL距离

4.举例

5.参考资料


0.总述

现在有两个分布,真实分布p和非真实分布q,我们的样本来自真实分布p。

按照真实分布p来编码样本所需的编码长度的期望为,这就是信息熵H( p )

按照不真实分布q来编码样本所需的编码长度的期望为,这就是所谓的交叉熵H( p,q )

这里引申出KL散度D(p||q) = H(p,q) - H(p) = ,也叫做相对熵

 

1.信息熵

熵的定义如下:熵是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。直白地解释就是信息中含的信息量的大小,其定义如下:

其曲线如下所示:

可以看出,一个事件的发生的概率离0.5越近,其熵就越大,概率为0或1就是确定性事件,不能为我们带信息量。也可以看作是一件事我们越难猜测是否会发生,它的信息熵就越大

2.交叉熵

交叉熵的公式定义如下:

其中p(x)在机器学习中为样本label,q(x)为模型的预估,分别代表训练样本和模型的分布

 

3.相对熵/KL散度(Kullback-Leibler divergence), 亦可称为KL距离

 

KL散度,也叫做相对熵,它表示两个分布的差异,差异越大,相对熵越大。

D(p||q) = H(p,q) - H(p) 

             

等式的前一部分恰巧就是p的熵,等式的后一部分,就是交叉熵

 

机器学习中,我们用非真实分布q去预测真实分布p。

因为真实分布p是固定的,H(p), 训练样本的熵,训练样本定,该值即为固定值。D(p||q) = H(p,q) - H(p) 中 H(p) 固定。

也就是说交叉熵H(p,q)越大,相对熵D(p||q)越大,两个分布的差异越大。

由于KL散度中的前一部分−H(y)不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。

4.举例

比如有如下样本, 对应的标签和预测值

*青蛙老鼠
Label010
Pred0.30.60.1

那么 

对应一个batch的loss就是 

m为当前batch的样本数

 

5.参考资料

https://blog.csdn.net/tsyccnh/article/details/79163834

https://blog.csdn.net/wenzishou/article/details/77618992

https://www.cnblogs.com/liaohuiqiang/p/7673681.html

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值