前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >交叉熵 KL散度

交叉熵 KL散度

原创
作者头像
用户10713522
发布2023-08-17 23:37:54
1280
发布2023-08-17 23:37:54
举报
文章被收录于专栏:Backup@zzk

#熵/KL散度 #熵/交叉熵 #熵/信息熵

香农熵,交叉熵和KL散度 视频

熵(Entropy)

熵这个概念在信息表示中就是“信息含量”,有时候我们常会说“这句话信息含量好多啊”,这也是一种熵的体现。对于一个事件来说,熵越大,也就是信息含量越大,其能实现的可能性越小,反之则亦然。

信息量

假设 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散度(相对熵)

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

交叉熵(Cross Entropy)

对于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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 熵(Entropy)
  • 信息量
  • 信息熵
  • KL散度(相对熵)
  • 交叉熵(Cross Entropy)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档