交叉熵与KL散度

KL散度

KL散度(Kullback-Leibler divergence,简称KLD),在消息系统中称为相对熵(relative entropy),在连续时间序列中称为随机性(randomness),在统计模型推断中称为消息增益(information gain)。也称消息散度(information divergence)。

KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来度量使用基于Q的分布来编码服从P的分布的样本所需的额外的平均比特数。典型情况下,P表示数据的真实分布,Q表示数据的理论分布、估计的模型分布、或P的近似分布。

定义

对于离散随机变量,其概率分布P 和 Q的KL散度可按下式定义为

{\displaystyle D_{\mathrm {KL} }(P\|Q)=-\sum _{i}P(i)\ln {\frac {Q(i)}{P(i)}}.\!}

等价于

{\displaystyle D_{\mathrm {KL} }(P\|Q)=\sum _{i}P(i)\ln {\frac {P(i)}{Q(i)}}.\!}

即按概率P求得的P和Q的对数商的平均值。KL散度仅当概率P和Q各自总和均为1,且对于任何i皆满足及时,才有定义。式中出现的情况,其值按0处理。

对于连续随机变量,其概率分布P和Q的KL散度可按积分方式定义为 [2]

{\displaystyle D_{\mathrm {KL} }(P\|Q)=\int _{-\infty }^{\infty }p(x)\ln {\frac {p(x)}{q(x)}}\,{\rm {d}}x,\!}

其中p和q分别表示分布P和Q的密度。

更一般的,若P和Q为集合X的概率测度,且P关于Q绝对连续,则从P到Q的KL散度定义为

{\displaystyle D_{\mathrm {KL} }(P\|Q)=\int _{X}\ln {\frac {​{\rm {d}}P}{​{\rm {d}}Q}}\,{\rm {d}}P,\!}

其中,假定右侧的表达形式存在,则{\displaystyle {\frac {​{\rm {d}}Q}{​{\rm {d}}P}}}为Q关于P的R–N导数

相应的,若P关于Q绝对连续,则

{\displaystyle D_{\mathrm {KL} }(P\|Q)=\int _{X}\ln {\frac {​{\rm {d}}P}{​{\rm {d}}Q}}\,{\rm {d}}P=\int _{X}{\frac {​{\rm {d}}P}{​{\rm {d}}Q}}\ln {\frac {​{\rm {d}}P}{​{\rm {d}}Q}}\,{\rm {d}}Q,}

即为P关于Q的相对熵。

特性

相对熵的值为非负数:

{\displaystyle D_{\mathrm {KL} }(P\|Q)\geq 0,\,}

吉布斯不等式可知,当且仅当{\displaystyle P=Q}{\displaystyle D_{KL}(P\|Q)}为零。

尽管从直觉上KL散度是个度量或距离函数, 但是它实际上并不是一个真正的度量或距离。因为KL散度不具有对称性:从分布P到Q的距离通常并不等于从Q到P的距离。

{\displaystyle D_{\mathrm {KL} }(P\|Q)\neq D_{\mathrm {KL} }(Q\|P)}

KL散度和其它量的关系

自信息和KL散度

{\displaystyle I(m)=D_{\mathrm {KL} }(\delta _{im}\|\{p_{i}\}),}

互信息和KL散度

{\displaystyle {\begin{aligned}I(X;Y)&=D_{\mathrm {KL} }(P(X,Y)\|P(X)P(Y))\\&=\mathbb {E} _{X}\{D_{\mathrm {KL} }(P(Y|X)\|P(Y))\}\\&=\mathbb {E} _{Y}\{D_{\mathrm {KL} }(P(X|Y)\|P(X))\}\end{aligned}}}

信息熵和KL散度

{\displaystyle {\begin{aligned}H(X)&=\mathrm {(i)} \,\mathbb {E} _{x}\{I(x)\}\\&=\mathrm {(ii)} \log N-D_{\mathrm {KL} }(P(X)\|P_{U}(X))\end{aligned}}}

条件熵和KL散度

{\displaystyle {\begin{aligned}H(X|Y)&=\log N-D_{\mathrm {KL} }(P(X,Y)\|P_{U}(X)P(Y))\\&=\mathrm {(i)} \,\,\log N-D_{\mathrm {KL} }(P(X,Y)\|P(X)P(Y))-D_{\mathrm {KL} }(P(X)\|P_{U}(X))\\&=H(X)-I(X;Y)\\&=\mathrm {(ii)} \,\log N-\mathbb {E} _{Y}\{D_{\mathrm {KL} }(P(X|Y)\|P_{U}(X))\}\end{aligned}}}

交叉熵和KL散度

{\displaystyle \mathrm {H} (p,q)=\mathrm {E} _{p}[-\log q]=\mathrm {H} (p)+D_{\mathrm {KL} }(p\|q).\!}

交叉熵

信息论中,基于相同事件测度的两个概率分布和的交叉熵(英语:Cross entropy)是指,当基于一个“非自然”(相对于“真实”分布而言)的概率分布进行编码时,在事件集合中唯一标识一个事件所需要的平均比特数(bit)。

给定两个概率分布和,相对于的交叉熵定义为:

{\displaystyle H(p,q)=\operatorname {E} _{p}[-\log q]=H(p)+D_{\mathrm {KL} }(p\|q),\!}

其中是的,是从与的KL散度(也被称为p相对于q的相对熵)。

对于离散分布和,这意味着:

{\displaystyle H(p,q)=-\sum _{x}p(x)\,\log q(x).\!}

对于连续分布也是类似的。我们假设和在测度 上是绝对连续的(通常 是Lebesgue measure on a Borel σ-algebra)。设和分别为的在测度 上概率密度函数。则

{\displaystyle -\int _{X}P(x)\,\log Q(x)\,dr(x)=\operatorname {E} _{p}[-\log Q].\!}

源起

信息论中, 以直接可解编码模式通过值编码一个信息片段,使其能在所有可能的集合中唯一标识该信息片段,Kraft–McMillan theorem确保这一过程可以被看作一种上的隐式概率分布,从而使得是的编码位长度。 因此, 交叉熵可以看作每个信息片段在错误分布下的期望编码位长度,而信息实际分布为。这就是期望是基于而不是的原因。

{\displaystyle H(p,q)=\operatorname {E} _{p}[l_{i}]=\operatorname {E} _{p}\left[\log {\frac {1}{q(x_{i})}}\right]}

{\displaystyle H(p,q)=\sum _{x_{i}}p(x_{i})\,\log {\frac {1}{q(x_{i})}}\!}

{\displaystyle H(p,q)=-\sum _{x}p(x)\,\log q(x).\!}

估计

在大多数情况下,我们需要在不知道分布的情况下计算其交叉熵。例如在语言模型中, 我们基于训练集创建了一个语言模型, 而在测试集合上通过其交叉熵来评估该模型的准确率。是语料中词汇的真实分布,而是我们获得的语言模型预测的词汇分布。由于真实分布是未知的,我们不能直接计算交叉熵。在这种情况下,我们可以通过下式来估计交叉熵:

{\displaystyle H(T,q)=-\sum _{i=1}^{N}{\frac {1}{N}}\log _{2}q(x_{i})}

是测试集大小,是在训练集上估计的事件发生的概率。我们假设训练集是从的真实采样,则此方法获得的是真实交叉熵的蒙特卡洛估计。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值