KL散度(Kullback-Leibler Divergence)

在信息论和概率论里面,Kullback-Leibler 散度(简称KL散度,KL divergence)是两个概率分布 PQ 的一个非对称的度量公式。这个概念是由 Solomon Kullback 和 Richard Leibler 在 1951 年引入的。从概率分布 Q 到概率分布 P 的 KL 散度用 D_{KL}(P||Q) 来表示。尽管从直觉上看 KL 散度是一个度量或者是一个距离,但是它却不满足度量或者距离的定义。例如,从 QP 的 KL 散度就不一定等于从 PQ 的 KL 散度。

KL 散度的数学定义:

对于离散空间的两个概率分布 PQ 而言,从 QP 的KL散度被定义为

D_{KL}(P||Q)=\sum_{i}P(i)\log_{2}(P(i)/Q(i)).

换句话说,它是两个概率分布 PQ 的对数差的期望,这里的期望是以概率 P 来描述的。KL散度有定义当且 Q(i)=0 \implies P(i)=0 对于所有的 i 都成立。如果 P(i)=0, 那么可以假设KL散度的第 i 项是零,因为 \lim_{x\rightarrow 0^{+}}x\log_{2}x=0.

对于连续空间 X 的两个概率分布 PQ 而言,从 QP 的 KL 散度被定义为:

D_{KL}(P||Q)=\int_{X}p(x)\log_{2}(p(x)/q(x))dx,

这里的 pq 是概率分布 PQ 的概率密度。

KL 散度的基本性质:

(1)KL 散度总是非负的,并且只有 P(x)=Q(x) 几乎处处成立的时候,才会有

D_{KL}(P||Q)=0.

证明:利用Jensen’s Inequality。

D_{KL}(P||Q)=-E_{P}(\log_{2}(q(x)/p(x)))

\geq -log_{2}(E_{p}(q(x)/p(x)))=-log_{2}(\int_{X}q(x)dx)=0.

(2)如果 P_{1}, P_{2} 是独立分布,并且联合分布是 P(x,y)=P_{1}(x)P_{2}(y), Q_{1},Q_{2} 是独立分布并且联合分布是 Q(x,y)=Q_{1}(x)Q_{2}(y), 那么

D_{KL}(P||Q)=D_{KL}(P_{1}||Q_{1}) + D_{KL}(P_{2}||Q_{2}).

(3)如果定义分布 PQ 的交叉墒是

H(P,Q)=-\int_{X}p(x)\log_{2}q(x)dx,

分布P的熵是

H(P)=-\int_{X}p(x)\log_{2}p(x)dx,

那么 D_{KL}(P||Q)=H(P,Q)-H(P).

(4)KL 散度是两个概率分布 PQ 差别的非对称性的度量。 KL 散度是用来度量使用基于 Q 的编码来编码来自 P 的样本平均所需的额外的位元数。典型情况下, P 表示数据的真实分布,Q 表示数据的理论分布,模型分布,或 P 的近似分布。

(5)从KL散度的定义可以得出

D_{KL}(P||Q)\neq D_{KL}(Q||P),

所以 KL 散度不满足距离的对称性。当然,如果需要把它弄成对称的,可以定义

DS_{KL}(P,Q)=(D_{KL}(P||Q) + D_{KL}(Q||P))/2.

简单例子:

比如有四个类别,一个方法 P 得到四个类别的概率分别是0.1,0.2,0.3,0.4。另一种方法 Q(或者说是事实情况)是得到四个类别的概率分别是0.4,0.3,0.2,0.1,那么这两个分布的 KL 散度就是

D_{KL}(P||Q)

=0.1*\log_{2}(0.1/0.4) + 0.2*\log_{2}(0.2/0.3) + 0.3*\log_{2}(0.3/0.2) + 0.4*\log_{2}(0.4/0.1).

案例分析:

在实际的工作中,我们通常会有某个网页或者app被用户点击或者播放的数据,同时,我们会拥有用户画像(personas),此刻我们关心的问题就是如何计算网页里面的某个新闻或者app里面的某个专辑受到不同维度的用户画像的喜好程度。比如,如何判断该新闻是受到各个年龄层的用户的喜爱还是只是受到某个年龄层的用户的喜爱?如何判断某个电台节目是受到大众的喜爱还是更加受到男性或者女性的喜爱?此时,怎么计算物品被用户的喜欢程度就成为了一个重要的关键。

通常的方案就是,比方说:某个电台专辑被66.7%的男性用户播放过,被33.3%的女性用户播放过,那么该物品是不是真的就是更加受到男性用户的青睐呢?答案是否定的。如果使用这款app的用户的男女比例恰好是1:1,那么根据以上数据,该电台专辑显然更加受到男性用户的喜爱。但是,实际的情况,使用这款app的用户的男女比例不完全是1:1。如果男性用户:女性用户=2:1的话,如果某个电台专辑被66.7%的男性用户播放过,被33.3%的女性用户播放过,那么说明该专辑深受男女喜欢,两者对该专辑的喜好程度是一样的。因为基础的男女比例是2:1,该专辑被男女播放的比例是2:1,所以,该专辑对男女的喜爱程度恰好是1:1。

那么如何计算该专辑的喜好程度呢?首先我们会使用KL散度来描述这件事情。

 

 

 

 

 

 

 

 

 

Advertisement

4 thoughts on “KL散度(Kullback-Leibler Divergence)”

  1. 你这种文吧,还是要用自己的话总结提炼一下让人家作为课外科普阅读一目了然知道大概才好呀,不然让我们看着好生生畏。。。

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s