什麼是 互信息(Mutual Information)?

互信息衡量兩個隨機變數之間相互包含的信息量,數值越大代表相關性越高,常用於特徵選擇、圖像配準等任務。

核心概念

互信息(Mutual Information, MI)是資訊理論中一個重要的概念,用於衡量兩個隨機變數之間的相互依賴性。它量化了知道一個隨機變數的值後,另一個隨機變數的不確定性減少的程度。換句話說,互信息告訴我們一個隨機變數包含了多少關於另一個隨機變數的信息。

互信息的數學定義如下:

對於離散隨機變數 X 和 Y:

MI(X; Y) = Σ Σ p(x, y) * log(p(x, y) / (p(x) * p(y)))

對於連續隨機變數 X 和 Y:

MI(X; Y) = ∫ ∫ p(x, y) * log(p(x, y) / (p(x) * p(y))) dx dy

其中,p(x, y) 是 X 和 Y 的聯合機率密度函數,p(x) 和 p(y) 分別是 X 和 Y 的邊緣機率密度函數。log 通常以 2 為底,此時互信息的單位是 bits;如果以 e 為底,則單位是 nats。

互信息的值越大,表示兩個隨機變數之間的相關性越高;互信息的值越小,表示兩個隨機變數之間的相關性越低。當 X 和 Y 相互獨立時,p(x, y) = p(x) * p(y),此時互信息為 0。

重要性質

  • 非負性: 互信息永遠是非負的,即 MI(X; Y) >= 0。
  • 對稱性: 互信息滿足對稱性,即 MI(X; Y) = MI(Y; X)。這意味著 X 包含關於 Y 的信息量與 Y 包含關於 X 的信息量是相同的。
  • 與熵的關係: 互信息可以表示為熵的差。具體來說,MI(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X),其中 H(X) 是 X 的熵,H(X|Y) 是在已知 Y 的情況下 X 的條件熵。這表明互信息等於 X 的熵減去在已知 Y 的情況下 X 的剩餘不確定性。

運作原理

互信息的運作原理基於資訊理論中的熵和條件熵的概念。熵衡量的是一個隨機變數的不確定性,而條件熵衡量的是在已知另一個隨機變數的情況下,一個隨機變數的剩餘不確定性。互信息量化了知道一個隨機變數的值後,另一個隨機變數的不確定性減少的程度。

互信息的計算涉及聯合機率密度函數和邊緣機率密度函數。在實際應用中,我們通常需要估計這些機率密度函數,因為我們可能無法直接訪問它們。這可以通過從數據中採樣,然後使用這些樣本來估計機率密度函數來完成。常用的估計方法包括直方圖方法、核密度估計方法和基於模型的估計方法。

實際應用

互信息在機器學習和深度學習中有廣泛的應用,包括:

  • 特徵選擇: 互信息可以用於選擇與目標變數最相關的特徵。通過計算每個特徵與目標變數之間的互信息,我們可以選擇互信息值最高的特徵子集。這可以提高模型的準確性和效率。
  • 圖像配準: 互信息可以用於圖像配準,其中我們的目標是找到兩幅圖像之間的最佳對應關係。通過最大化兩幅圖像之間的互信息,我們可以找到最佳的配準參數。
  • 聚類分析: 互信息可以用於評估聚類結果的質量。通過計算聚類結果與真實標籤之間的互信息,我們可以衡量聚類結果的準確性。
  • 自然語言處理: 在自然語言處理中,互信息可以用於衡量兩個詞語之間的相關性。例如,可以用於詞語共現分析,或者用於構建詞語之間的語義關係。
  • 生物信息學: 在生物信息學中,互信息可以用於分析基因之間的相互作用。通過計算基因表達數據之間的互信息,我們可以識別出相互作用的基因網絡。
  • 異常偵測: 互信息可以用於衡量一個數據點與正常數據分佈之間的差異。如果一個數據點的互信息遠小於其他數據點,則可以認為它是一個異常點。

常見誤區

  • 互信息是相關係數: 這是常見的誤區。互信息衡量的是兩個隨機變數之間的相互依賴性,而相關係數衡量的是兩個隨機變數之間的線性關係。互信息可以捕捉非線性關係,而相關係數只能捕捉線性關係。
  • 互信息越大越好: 雖然在許多應用中,我們試圖最大化互信息,但並非總是如此。在某些情況下,我們可能更關心其他指標,例如準確性或召回率。此外,最大化互信息可能會導致過擬合。
  • 互信息可以處理所有數據類型: 互信息對於某些數據類型可能沒有定義。例如,如果數據是離散的,但機率密度函數是連續的,則互信息可能無法計算。在這種情況下,需要使用其他方法來衡量變數之間的依賴性。
  • 互信息對所有依賴關係都敏感: 互信息對變數之間的依賴關係非常敏感,但可能對某些類型的依賴關係不敏感。例如,如果兩個變數之間存在複雜的非線性關係,則互信息可能很小。因此,在使用互信息時,需要仔細考慮其局限性。

相關術語

常見問題

← 回到 互信息 快查頁

延伸學習

想看 互信息 的完整影片教學?前往 美第奇 AI 學院