KL 散度简介

KL 散度(Kullback–Leibler divergence)又称相对熵,是表示一个概率分布相对于另一个概率分布的差异的统计量。

什么是熵?

设离散型概率空间XX的概率分布为PP,对于X=(x1,x2,x3,...,xn)X=(x_1,x_2,x_3,...,x_n)和对应的P={pi=p(X=xi)}P=\{p_i=p(X=x_i)\}, 有 X 的熵:

H(X)=i=1np(xi)lnp(xi)H(X)=-\sum_{i=1}^{n}{p(x_i)lnp(x_i)}

且有若p(xi)=0p (x_i)=0,则p(xi)logp(xi)=0p (x_i) logp (x_i)=0(吉布斯不等式?)
对于连续型概率空间,则有:

H(X)=i=1np(xi)lnp(xi)dxH(X)=-\int_{i=1}^{n}{p(x_i)lnp(x_i)dx}

KL 散度的推导

将熵的概念进行推广,若有两个分布PQP、Q,概率分布分别为p(x)q(x)p(x)、q(x),规定 :PP为真实分布,QQ为预测分布,那么两随机变量的交叉熵为:

H(P,Q)=p(x)lnq(x)H(P,Q)=-\sum p(x)ln{q(x)}

KL 散度可以用来衡量两个分布之间的差异,可以得到推导:

DKL(PQ)=H(P,Q)H(P)D_{KL}(P||Q)=H(P,Q)-H(P)

即:

DKL(PQ)=p(x)lnp(x)q(x)D_{KL}(P||Q)=-\sum {p(x)ln{\frac{p(x)}{q(x)}}}

或:

DKL(PQ)=p(x)lnp(x)q(x)dxD_{KL}(P||Q)=-\int {p(x)ln{\frac{p(x)}{q(x)}}dx}

KL 散度的性质

  • KL 散度不具有对称性 (注意,所有散度中只有 JS 散度是对称的),即:

DKL(PQ)DKL(QP)D_{KL}(P||Q)\not =D_{KL}(Q||P)

  • KL 散度非负性