互信息 是什麼?
Mutual Information:互信息 的完整解釋
互信息衡量兩個隨機變數之間相互包含的信息量,數值越大代表相關性越高,常用於特徵選擇、圖像配準等任務。
容易混淆
互信息 vs 相關係數 互信息:看資訊依賴,不限線性 相關係數:主要看線性關係 最關鍵的區別:先看它是在比什麼,再看它怎麼做。
互信息 vs 共變異數 互信息:用資訊角度看關聯 共變異數:看兩變數一起變動的方向與程度 最關鍵的區別:先看它是在比什麼,再看它怎麼做。
記住這句就好
關係越像彼此透露資訊,互信息越大。
實際案例
特徵選擇 找出和標籤最有資訊關聯的欄位,留下真正有用的特徵。
影像配準 比較兩張影像是否對齊時,互信息可以當作相似度指標。
算法與應用
互信息可寫成聯合分佈和邊際分佈差異的量。 如果兩個變數完全獨立,互信息就是 0。 它常用在特徵選擇、配準、以及資訊理論分析裡。
公式與它在量什麼
互資訊衡量「知道 X 之後,對 Y 的不確定性減少了多少」:
I(X;Y) = H(Y) − H(Y|X)H(Y) 是 Y 本身的熵,H(Y|X) 是知道 X 之後 Y 剩下的熵。兩者相減就是 X 提供的資訊量。
也可以寫成雙重加總的形式:
I(X;Y) = Σ Σ p(x,y) × log( p(x,y) / (p(x)p(y)) )這個形式看得出它的本質:比較「實際的聯合分布」與「假設兩者獨立時的分布」差多遠。完全獨立時 p(x,y) = p(x)p(y),log 內是 1,整個值等於 0。
跟相關係數差在哪,這是它最常被問的問題
| 項目 | 皮爾森相關係數 | 互資訊 |
|---|---|---|
| 抓什麼關係 | 只抓線性 | 任何形式的關係 |
| 值域 | −1 到 1 | 0 到無限大 |
| 有方向嗎 | 有正負 | 沒有,只有強弱 |
| 適用資料 | 連續變數為主 | 連續與類別都行 |
| 計算難度 | 一條公式 | 連續變數要估機率密度,較麻煩 |
關鍵差別在第一列。一個完美的拋物線關係,相關係數可能是 0,互資訊卻很大,因為知道 X 確實完全決定了 Y。所以互資訊抓得到相關係數看不見的非線性關係。
代價是它沒有方向性,也沒有一個直觀的強弱標準(不像 r 有 0 到 1 的尺度)。需要可比較的尺度時可以用正規化互資訊(NMI),把它除以兩者熵的某種平均,壓到 0 到 1。
實務用途:
特徵選擇時用互資訊排序,能挑出跟目標有非線性關係的欄位,比只看相關係數涵蓋得廣。
分群結果的評估常用調整互資訊(AMI)或 NMI,衡量分群結果跟真實標籤有多一致。
表示學習裡有一整條路線是最大化互資訊,例如對比學習的 InfoNCE 損失,本質上是在最大化同一筆資料兩個視角之間的互資訊下界。
情境判斷
Q1(直覺題):你想找出和是否購買最有關的特徵,該優先看什麼? → 互信息,因為它能看出特徵和標籤之間的資訊關聯。
Q2(判斷題):如果兩個變數幾乎是彎曲關係,相關係數接近 0,還能說完全沒關係嗎? → 不能,這時互信息可能仍然很高,因為它能抓非線性關聯。
相關術語
常見問題
互信息一定介於 0 和 1 嗎?
不一定,和資料尺度無關的相對值,不是機率。
它可以用在連續變數嗎?
可以,但估計方式會更難,常需要分箱或密度估計。
互信息越大就越好嗎?
不一定,要看你的任務是要找關聯、做選擇,還是做預測。