5

互信息的公式推导

 2 years ago
source link: http://nathanlvzs.github.io/Mutual-Information-Formula-Derivation.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

互信息的公式推导

NathanLVZS   |   Saturday 27 February 2016

Category:  DataMining/MachineLearning

  • Derivation

公式排版略难看,暂且将就一下。。
Update: 看了一下Mathjax的文档后,决定用公式自动编号,看起来舒服多了。2016-03-28

一般的,熵与条件熵之间的差称为互信息。两个随机变量的互信息可通过如下两个公式计算。

MI(X,Y)=H(Y)−H(Y|X)(1)(1)MI(X,Y)=H(Y)−H(Y|X)
MI(X,Y)=H(X)−H(X|Y)(2)(2)MI(X,Y)=H(X)−H(X|Y)

前不久看到如下的互信息公式。

MI(X,Y)=H(X)+H(Y)−H(X,Y)(3)(3)MI(X,Y)=H(X)+H(Y)−H(X,Y)

乍一看跟公式(1)和(2)联系不起来,于是根据定义推导一下。

主要利用了如下两个公式

∑j=1np(yj|xi)=1(4)(4)∑j=1np(yj|xi)=1
p(xi,yj)logp(xi,yj)=p(yj|xi)p(xi)log(p(yj|xi)p(xi))=p(yj|xi)p(xi)(logp(yj|xi)+logp(xi))(5)(5)p(xi,yj)log⁡p(xi,yj)=p(yj|xi)p(xi)log⁡(p(yj|xi)p(xi))=p(yj|xi)p(xi)(logp(yj|xi)+log⁡p(xi))

推导过程如下:

H(X)−H(X,Y)=−∑i=1mp(xi)log(p(xi))+∑i=1m∑j=1np(xi,yj)log(p(xi,yj))=−∑i=1m[p(xi)log(p(xi))−∑j=1np(xi,yj)logp(xi,yj)]=−∑i=1m[p(xi)log(p(xi))−∑j=1np(xi,yj)logp(xi,yj)]=−∑i=1m[p(xi)log(p(xi))−∑j=1np(yj|xi)p(xi)(logp(yj|xi)+logp(xi))]=−∑i=1mp(xi)logp(xi)+∑i=1mp(xi)∑j=1np(yj|xi)(logp(yj|xi)+∑j=1np(yj|xi)p(xi)logp(xi)=H(X)−∑i=1mp(xi)H(Y|X=xi)+∑i=1mp(xi)log(p(xi))=H(X)−H(Y|X)−H(X)=−H(Y|X)H(X)−H(X,Y)=−∑i=1mp(xi)log⁡(p(xi))+∑i=1m∑j=1np(xi,yj)log⁡(p(xi,yj))=−∑i=1m[p(xi)log⁡(p(xi))−∑j=1np(xi,yj)log⁡p(xi,yj)]=−∑i=1m[p(xi)log⁡(p(xi))−∑j=1np(xi,yj)log⁡p(xi,yj)]=−∑i=1m[p(xi)log⁡(p(xi))−∑j=1np(yj|xi)p(xi)(logp(yj|xi)+log⁡p(xi))]=−∑i=1mp(xi)log⁡p(xi)+∑i=1mp(xi)∑j=1np(yj|xi)(logp(yj|xi)+∑j=1np(yj|xi)p(xi)log⁡p(xi)=H(X)−∑i=1mp(xi)H(Y|X=xi)+∑i=1mp(xi)log⁡(p(xi))=H(X)−H(Y|X)−H(X)=−H(Y|X)

推导所得结果即

H(X,Y)−H(X)=H(Y|X)(6)(6)H(X,Y)−H(X)=H(Y|X)

意思很明显,X和Y的联合不确定性减去X的不确定性即为在X已知的情况下Y的不确定性。

将公式(6)代入公式(3)即可得到公式(2)。

类似地,可得到公式(1)。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK