Mutual Information互信息

簡(jiǎn)介

互信息(Mutual Information)是信息論中的概念,用來(lái)衡量?jī)蓚€(gè)隨機(jī)變量之間的相互依賴程度。對(duì)于Mutual Information的介紹會(huì)用到KL散度(Kullback–Leibler divergence)的知識(shí),可以參考http://m.itdecent.cn/p/00254c4d0931

定義

互信息可以定義為兩個(gè)隨機(jī)變量的聯(lián)合分布與邊緣分布的乘積的KL散度。
\begin{aligned} \mathrm{I}[\mathbf{x}, \mathbf{y}] & \equiv \mathrm{KL}(p(\mathbf{x}, \mathbf{y}) \mid p(\mathbf{x}) p(\mathbf{y})) \\ &=-\iint p(\mathbf{x}, \mathbf{y}) \ln \left(\frac{p(\mathbf{x}) p(\mathbf{y})}{p(\mathbf{x}, \mathbf{y})}\right) \mathrmu0z1t8os \mathbf{x} \mathrmu0z1t8os \mathbf{y} \end{aligned}
根據(jù)上述定義,不難發(fā)現(xiàn),如果隨機(jī)變量XY相互獨(dú)立,即p(\mathbf{x}, \mathbf{y}) = p(\mathbf{x}) p(\mathbf{y}),則\mathrm{I}[\mathbf{x}, \mathbf{y}] = 0;

性質(zhì)

1 \mathrm{I}[\mathbf{x}, \mathbf{y}] \geq 0,由KL Divergence的性質(zhì)可以直接得出

2 \mathrm{I}[\mathbf{x}, \mathbf{y}]=\mathrm{H}[\mathbf{x}]-\mathrm{H}[\mathbf{x} \mid \mathbf{y}]=\mathrm{H}[\mathbf{y}]-\mathrm{H}[\mathbf{y} \mid \mathbf{x}]
Pf:
\begin{aligned} \mathrm{I}[x , y] &=-\iint p(x, y) \ln \frac{p(x)p(y)}{p(x \mid y)p(y)} d x d y \\ &=-\iint p(x, y) \ln p(x) dxdy+\iint p(x, y) \ln p(x \mid y) d x d y \\ & =\mathrm{H}[x] - \mathrm{H}[x \mid y] \end{aligned}其中\mathrm{H}[.]表示熵,同理可以證明\mathrm{I}[\mathbf{x}, \mathbf{y}] = \mathrm{H}[\mathbf{y}]-\mathrm{H}[\mathbf{y} \mid \mathbf{x}]

通過(guò)性質(zhì)2,我們可以從另一個(gè)角度認(rèn)識(shí)互信息。比如\mathrm{H}[\mathbf{x}]-\mathrm{H}[\mathbf{x} \mid \mathbf{y}]可以視為已知y之后,x的不確定性減少的程度;同理,\mathrm{I}[\mathbf{x}, \mathbf{y}] = \mathrm{H}[\mathbf{y}]-\mathrm{H}[\mathbf{y} \mid \mathbf{x}]可以視為已知x之后,y的不確定性減少的程度.

Code

這里我們直接使用歸一化之后的互信息,經(jīng)過(guò)歸一化之后,互信息的取值范圍為[0,1]
\operatorname{NMI}[X, Y]=2 * \frac{ \mathrm{I}[x , y]}{\mathrm{H}[\mathbf{y}] + \mathrm{H}[\mathbf{x}]}

import numpy as np
from scipy.stats import pearsonr
import matplotlib.pyplot as plt
from sklearn.metrics.cluster import normalized_mutual_info_score

rng = np.random.RandomState(1) #保證每次生成相同的隨機(jī)序列

x = rng.normal(0, 5, size = 10000)
y = np.sin(x)
plt.scatter(x,y)
plt.xlabel('x')
plt.ylabel('y = sin(x)')

r = pearsonr(x,y)[0]
nmi = normalized_mutual_info_score(x,y)

數(shù)據(jù)分布如下所示:


x vs sin(x).png

這里我們將pcc的結(jié)果和nmi的結(jié)果進(jìn)行對(duì)比,對(duì)于如上數(shù)據(jù),pcc的結(jié)果為0.00083,完全沒(méi)有相關(guān)性。而nmi的結(jié)果為1,表明x和y有很強(qiáng)的依賴關(guān)系。

Reference

https://zh.wikipedia.org/wiki/%E4%BA%92%E4%BF%A1%E6%81%AF

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容