1行定義
相互情報量とは、一方の変数の値を知ることで、もう一方の変数についての不確かさがどれだけ減るかを表す、2つの変数の依存の強さを示す量のことです。
くわしく
相互情報量は、「片方を知ると、もう片方がどれだけわかるようになるか」を数値にしたものです。関係の形を問わず、2つの変数の結びつきの強さを測れます。
考え方と計算例
1〜4の数字が同じ確率で出るくじを考えます。出た数字を当てるには、「はい・いいえ」で答える質問が2回必要です。この不確かさを表す量がエントロピーで、log2 4 = 2ビットです。「偶数か奇数か」を教えてもらうと候補は2つに減り、残りの不確かさはlog2 2 = 1ビットになります。減った2 − 1 = 1ビットが、くじの数字と偶奇の相互情報量です。
式ではI(X; Y) = H(X) − H(X|Y)と書きます。H(X)はXのエントロピー、H(X|Y)はYを知ったあとに残るXのエントロピーです。同時分布を使うとI(X; Y) = Σ P(x, y) log(P(x, y) / (P(x)P(y)))です。これは、実際の同時分布と、独立と仮定した分布P(x)P(y)とのKL情報量にあたります。
主な性質と相関係数との違い
相互情報量は常に0以上で、0になるのは2つの変数が独立なときに限られます。XとYを入れ替えても値は変わりません。
相関係数との大きな違いは、直線的でない関係も捉えられる点です。たとえば、Xが−2、−1、1、2を同じ確率でとり、Y = X²とします。Xの平均は0なので、共分散はXとYの積の平均((−2) × 4 + (−1) × 1 + 1 × 1 + 2 × 4) / 4 = 0に等しく、相関係数も0です。しかし、Xを知ればYは1つに決まります。Yは1か4を確率0.5ずつとるので、相互情報量はYのエントロピーと同じ1ビットです。
機械学習での使われ方
特徴量選択では、各特徴量と正解ラベルの相互情報量を求め、値の大きい特徴量を残します。決定木で分岐を選ぶときの情報利得も、分岐の結果と正解ラベルの相互情報量にあたります。対照学習で使われる損失も、相互情報量を大きくすることと結びつけて説明されています。
覚え方
「知る前の不確かさから、知ったあとの不確かさを引いた分」と覚えます。
G検定での出題
出題のされ方
2つの変数が独立のときに0となる性質、相関係数では捉えにくい直線的でない関係も捉えられること、エントロピーとの関係、特徴量選択での使われ方が問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
2つの変数が互いに独立であるとき、相互情報量は0になる。
答えを見る
答え ◯ 正しい
独立なら、一方を知っても他方の不確かさは減りません。逆に、相互情報量が0なら2つの変数は独立です。
-
相互情報量I(X; Y)は、XとYを入れ替えると値が変わる非対称な量である。
答えを見る
答え × 誤り
I(X; Y) = I(Y; X)で、入れ替えても値は同じです。入れ替えると一般に値が変わるKL情報量との違いです。
-
相互情報量は、相関係数と同じく−1から1までの範囲の値をとる。
答えを見る
答え × 誤り
相互情報量は0以上の値をとり、負になりません。上限も1とは限りません。関係の向き(正か負か)は表さず、依存の強さだけを表します。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目37 AIに必要な数理・統計知識)
- C. E. Shannon, A Mathematical Theory of Communication, The Bell System Technical Journal 27(3), 379–423 (1948)
- scikit-learn API Reference, sklearn.feature_selection.mutual_info_classif
- Aaron van den Oord, Yazhe Li, Oriol Vinyals, Representation Learning with Contrastive Predictive Coding (2018)