在數據挖掘或者信息檢索的相關資料里,經常會用到PMI(Pointwise Mutual Information)這個指標來衡量兩個事物之間的相關性。PMI的定義如下:
這個定義所體現的原理其實是相當直白的。在概率論中,我們知道,如果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來自於信息論的理論,而且 log 1 = 0 ,也恰恰表明P(x,y) = P(x)P(y),相關性為0,而且log是單調遞增函數,所以 “P(x,y) 就相比於 P(x)P(y) 越大,x 和 y 相關性越大” 這一性質也得到保留。
通常我們可以用一個Co-occurrence Matrix來表示對一個語料庫中兩個單詞出現在同一份文檔的統計情況,例如
以計算PMI(information,data)為例則有(其中分母上的19是上表所有數值之和):
其他中間結果如下表所示:
但是從上表中你可能會發現一個問題,那就是你有可能會去計算 log 0 = -inf,即得到一個負無窮。為此人們通常會計算一個PPMI(Positive PMI)來避免出現 -inf,即
