#熵/KL散度 #熵/交叉熵 #熵/信息熵
熵这个概念在信息表示中就是“信息含量”,有时候我们常会说“这句话信息含量好多啊”,这也是一种熵的体现。对于一个事件来说,熵越大,也就是信息含量越大,其能实现的可能性越小,反之则亦然。
假设 X 是一个离散随机变量,则概率分布可表示为 $P(X=x)$ ,其中所含的信息量可表示为
$$I(x)=-logP(x)\tag{1}$$
当一个事件发生的概率为 P(x) ,那么根据公式(1)可以得知其信息量为 -logP(x) ,那么如果我们把这个事件的所有可能性罗列出来,就可以求得该事件信息量的期望。
假设事件 X 有 n 种可能性,其中 $x{i}$ 的发生概率为 $P(x{i})$,那么该事件的熵 H(X) 为:
$$H(X)=-\sum{i=1}^{n}P(x{i})logP(x_{i})\tag{2}$$
KL散度是衡量两个事件/分布之间的不同。假设一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x) ,那么如何计算这两个分布的区别,我们一般使用KL散度用于计算两个分布之间的不同。看名字似乎跟计算两个点之间的距离也很像,但实则不然,因为KL散度不具备有对称性。在距离上的不对称性就是 $distance(P\rightarrow Q) \neq distance(Q \rightarrow P)$ 。
在我们的实际模型应用中,经常就是一个表示样本的真实分布,另一个表示模型的预测分布。我们常采用的就是这两个东西计算$loss$值,也就是衡量预测的分布与真实分布之间的差异性,然后利用梯度下降的思想来最小化二者间的差异。
对于一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x) ,其 KL散度 为
$$D{KL}(P||Q)=\sum{i=1}^{n}P(x{i})log(\frac {P(x{i})}{Q(x_{i})})\tag{3}$$
观察公式可以看出, $Q(x{i})$ 越接近 $P(x{i})$ ,KL散度就越小,即loss越小。由于对数函数是凸函数,所以KL散度的值为非负数。 ^17f179
对于KL散度的公式,我们可以进行以下的变形:
$$D{KL}(P||Q)=\sum{i=1}^{n}P(x{i})log(\frac {P(x{i})}{Q(x{i})})\= \sum{i=1}^{n}P(x{i})logP(x{i})-\sum{i=1}^{n}P(x{i})logQ(x_{i})\tag{4}$$
观察上式,可以看出,前半式表示的是 $P(x_{i})$ 的熵,那么可得
$$D{KL}(P||Q)=-H(P(x{i}))+-\sum{i=1}^{n}P(x{i})logQ(x_{i})\tag{5}$$
熟悉交叉熵的小伙伴就可以看出,等式的后半部分表示的就是交叉熵
$$H(P,Q)=-\sum{i=1}^{n}P(x{i})logQ(x_{i})\tag{6}$$
由式(5)可以看出,如果 $P(x{i})$ 的熵 -$H(P(x{i}))$ 为常数,则KL散度与交叉熵是等价的。
! 最终可以得到
KL散度=交叉熵-信息熵
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有