点互信息(PMI,Pointwise Mutual Information)

PMI(Pointwise Mutual Information)

机器学习相关文献里面,经常会用到PMI(Pointwise Mutual Information)这个指标来衡量两个事物之间的相关性(比如两个词)。其原理很简单,公式如下:

PMI(x;y)=logp(x,y)p(x)p(y)=logp(x|y)p(x)=logp(y|x)p(y)

在概率论中,我们知道,如果x跟y不相关,则 p(x,y)=p(x)p(y) 。二者相关性越大,则 p(x,y) 就相比于 p(x)p(y) 越大。用后面的式子可能更好理解,在y出现的情况下x出现的条件概率 p(x|y) 除以x本身出现的概率 p(x) ,自然就表示x跟y的相关程度。
这里的log来自于信息论的理论,可以简单理解为,当对 p(x) 取log之后就将一个概率转换为了信息量(要再乘以-1将其变为正数),以2为底时可以简单理解为用多少个bits可以表示这个变量。(更正式的解释请阅读信息论相关理论)

至此,概念介绍完了,后面是例子和相关背景,不感兴趣的话就可以不用看了。

例子

举个自然语言处理中的例子来说,我们想衡量like这个词的极性(正向情感还是负向情感)。我们可以预先挑选一些正向情感的词,比如good。然后我们算like跟good的PMI,即:

PMI(like,good)=logp(like,good)p(like)p(good)

其中 p(like) 是like在语料库中出现的概率(出现次数除以总词数 N ), p(like,good) 表示like跟good在一句话中同时出现的概率(like跟good同时出现的次数除以 N2 )。
PMI(like,good) 越大表示like的正向情感倾向就越明显。

互信息(Mutual Information)

点互信息PMI其实就是从信息论里面的互信息这个概念里面衍生出来的。
互信息即:

I(X;Y)=xXyYp(x,y)logp(x,y)p(x)p(y)

其衡量的是两个随机变量之间的相关性,即一个随机变量中包含的关于另一个随机变量的信息量。所谓的随机变量,即随机试验结果的量的表示,可以简单理解为按照一个概率分布进行取值的变量,比如随机抽查的一个人的身高就是一个随机变量。
可以看出,互信息其实就是对X和Y的所有可能的取值情况的点互信息PMI的加权和。因此,点互信息这个名字还是很形象的。

你可能感兴趣的:(机器学习,信息论,点互信息)