机器学习中相关信息度量的备忘录

自信息

自信息(self-information)用来衡量单一随机事件发生时所包含的信息量的多寡。

I(pi)=log(pi)

香农熵

香农熵是随机事件X的所有可能结果的自信息期望值。

H(x)=ExP[I(x)]=i=1np(xi)I(xi)=i=1np(xi)logb(p(xi))

互信息

互信息用来表示随机事件X和随机事件Y之间的相关性。

I(X,Y)=H(X)+H(Y)H(X,Y)

直观的解释为,两个事件XY分开两个事件同事出现的过程中,熵减小的量。将上式展开为:
I(X,Y)=xyp(x,y)logp(x,y)logp(x)logp(y)

条件熵

条件熵 H(Y|X) 表示在已知随机变量 X 的条件下随机变量 Y 的不确定性。

H(Y|X)=xp(x)H(Y|X=x)=xp(x)yp(y|x)logp(y|x)=xyp(x,y)logp(y|x)

条件熵H(Y|X)相当于联合熵减去X的熵,即:
H(Y|X)=H(X,Y)H(X)

交叉熵

交叉熵是一个用来比较两个概率分布p和q的数学工具。

H(p,q)=Ep[log(q)]=xp(x)log(q(x))dx

其中p为真实概率分布。

如果p(x)q(x)同进退,即p(x)大的时候q(x)大,p(x)小的时候q(x)小,那么交叉熵就小。

KL散度

相对熵(relative entropy)又称为KL散度(Kullback-Leibler divergence),信息增益(information gain)。KL散度是两个概率分布P和Q差别的非对称度量。在贝叶斯推理中,就是用后验分布 q 来近似先验分布 p 的时候造成的信息损失。

DKL(p||q)=H(p,q)H(p)

直观的解释:如果分布q能承载更多分布p的信息,则KL散度就小。

KL散度不对称

作为一个度量,KL散度能够很好的表征两个分布之间的相似程度。但它有一个很大的缺点是不对称性,即DKL(p||q)DKL(q||p)

借助《Deep Learning》书中的例子:
自信息、香农熵、互信息、交叉熵、KL散度备忘录
现在要做一个参数估计,假设分布q是高斯分布,用分布q拟合分布p,可将目标函数设计为q=argminqDKL(p||q)=(xp(x)log(q(x))dx)C,其中常量C表示为H(p),不影响目标函数。

图中的高斯分布q(x)(绿色虚线),根据前面介绍的交叉熵,应该跟p(x)(蓝色线)同进退,也就是完全拟合。奈何q(x)是一个高斯分布(爹妈生的不好),只能取一个中间值。

另一个列子:
自信息、香农熵、互信息、交叉熵、KL散度备忘录
还是高斯分布q拟合分布p,这次目标函数编程相反的KL散度q=argminqDKL(q||p)=(xq(x)log(p(x))dx)C。同样的分析方式,可得最佳拟合如上图所示的绿线。

根据上面两个例子,可知KL散度的不对称性

相关文章: