信息熵、相对熵与交叉熵

1. 信息熵

  熵是一个信息论中的概念,表示随机变量不确定的度量,是对所有可能发生的事件产生的信息量的期望。信息熵公式如下:
H ( p ) = − ∑ i = 1 n p ( x i ) l o g p ( x i ) H(p)=-\sum_{i=1}^{n}{p(x_i)logp(x_i)} H(p)=i=1np(xi)logp(xi)
关于熵的详细解释可参考最大熵阈值分割法

2. 相对熵

  相对熵又称KL散度,用于衡量对于同一个随机变量x的两个分布 p ( x ) p(x) p(x) q ( x ) q(x) q(x)之间的差异。 p ( x ) p(x) p(x)表示样本真实分布, q ( x ) q(x) q(x)表示模型预测分布,模型训练就是不断让 q ( x ) q(x) q(x)分布拟合分布 p ( x ) p(x) p(x)。KL散度的值越小表示两个分布越接近。KL散度公式如下:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g p ( x i ) q ( x i ) D_{KL}(p||q)=\sum_{i=1}^{n}{p(x_i)log\frac{p(x_i)}{q(x_i)}} DKL(pq)=i=1np(xi)logq(xi)p(xi)

3. 交叉熵

  将KL散度变形得到如下表达式:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g p ( x i ) − ∑ i = 1 n p ( x i ) l o g q ( x i ) = − H ( p ( x ) ) + [ − ∑ i = 1 n p ( x i ) l o g q ( x i ) ] \begin{aligned} D_{KL}(p||q)&=\sum_{i=1}^{n}{p(x_i)logp(x_i)}-\sum_{i=1}^{n}{p(x_i)logq(x_i)} \\ &=-H(p(x))+[-\sum_{i=1}^{n}{p(x_i)logq(x_i)}] \end{aligned} DKL(pq)=i=1np(xi)logp(xi)i=1np(xi)logq(xi)=H(p(x))+[i=1np(xi)logq(xi)]
  第一项就是 p ( x ) p(x) p(x)的信息熵,第二项就是交叉熵cross entropy。我们常用KL散度来评估真实标签和预测标签的差别,由于KL散度第一项是个常量,所以直接将第二项的交叉熵作为损失函数也是一样的。

4. 交叉熵与softmax

  分类问题中常用交叉熵作为模型的损失函数。样本标签 y 的值为1或者0可以看做是概率,而模型的输出是一个实数值,如何将这个实数值转换成概率呢?这就要用到 softmax 函数了(所以面试官会经常问为什么交叉熵要和 softmax 一起用)。假设模型输出为 y 1 , y 2 , . . . , y n y_1,y_2,...,y_n y1,y2,...,yn,经过 softmax 后的输出为:
s o f t m a x ( y i ) = e y i ∑ j = 1 n e y i softmax(y_i)=\frac{e^{y_i}}{\sum_{j=1}^{n}{e^{y_i}}} softmax(yi)=j=1neyieyi
  这样就把模型的输出也变成了一个概率分布,从而可以用交叉熵来计算预测值和真实值之间的距离了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值