相互情報量とは?意味・数式・使い方をゼロからやさしく解説!

こんにちは。ゆうせいです。

今回は「相互情報量(Mutual Information)」という重要な概念についてお話しします。

これは統計学・情報理論・機械学習などで広く使われている指標で、
「2つの変数がどれくらい関係しているか」を定量的に表す方法です。

初めて聞いたとき、「え、相互ってどういう意味?」「相関とは何が違うの?」と感じた方も多いと思います。

そこで今回は、

  • 相互情報量とは何か?
  • 数式の意味は?
  • 相関係数との違いは?
  • 実際どんな場面で使えるの?

という疑問に、例えや図も交えてやさしくお答えしていきます!


相互情報量とは?

一言でいうと…

「Xを知ったとき、Yに関する不確実さがどれくらい減るか」を表す量です。

つまり、XとYがどれだけ「情報を共有しているか」を表す指標です。


例え話で理解!

たとえば、以下のような状況を考えてみてください。

  • 天気(X):晴れ、雨
  • 洗濯物が乾いたか(Y):乾いた、乾かない

晴れなら乾く、雨なら乾かない。つまり、天気(X)を知れば、洗濯物(Y)がどうなったかがほぼわかりますよね?

このとき、XとYの相互情報量は大きくなります

逆に、XとYがまったく無関係(例:サイコロの目と気温)であれば、Xを知ってもYはわからないので、相互情報量はゼロになります


数式で見る相互情報量

離散型変数の場合、相互情報量は以下のように定義されます。

I(X; Y) = \sum_{x} \sum_{y} p(x, y) \log \left( \frac{p(x, y)}{p(x)p(y)} \right)

日本語での読み方:
XとYの同時確率と、X・Yが独立だと仮定したときの確率とのズレの大きさを足し合わせたものです。

解説:

  • $p(x, y)$:XとYの同時確率
  • $p(x)$、$p(y)$:XとYの周辺確率
  • 分数の中:「実際の共起」÷「独立だったらこのくらい共起する」

この比率が大きければ大きいほど、「XとYはただの偶然ではない」=「情報を共有している」とみなせます。


相互情報量 vs 相関係数の違い

項目相互情報量相関係数
測るもの情報の共有量線形の関係
0になるとき完全に独立線形の関係がない
非線形関係の検出可能不可能(見逃す)
単位ビットまたはナット単位なし(−1〜1)

具体例

  • 相関係数は「直線的に増える or 減る関係」に敏感です。
  • 相互情報量は「曲線的な関係」や「複雑な関係」も捉えられます!

たとえば、次のような関係:

y = \sin(x)

このとき、相関係数はゼロに近づきます(上下に揺れてるだけなので)。
でも、相互情報量はゼロにはなりません。なぜなら、xが分かればyはかなり予測できるからです。


図で理解する:確率分布と情報量

A. XとYが独立なとき(I = 0)

X: 1 2 3 4
Y: 1 2 3 4 ←どのXでもYはランダム

→ 情報は共有していない

B. XとYが完全に対応しているとき(Iは最大)

X: 1 2 3 4
Y: 1 2 3 4 ←Xを知ればYが100%わかる

→ 情報を完全に共有している

連続値の場合の定義(微分を使う)

連続値の場合、和が積分になります:

I(X; Y) = \int \int p(x, y) \log \left( \frac{p(x, y)}{p(x)p(y)} \right) dx dy

ただし、連続変数の相互情報量は推定が難しいため、実務ではヒストグラムカーネル密度推定などで近似します。


実際の活用例

◆ 特徴選択(機械学習の前処理)

  • 入力変数(特徴)と出力(目的変数)の間の相互情報量を測ることで、「役に立つ特徴」を選び出せます!

◆ 自然言語処理

  • 単語の共起関係を評価して、「どの単語どうしが強く関係しているか」を調べる(例:bigramモデル)

◆ 医療・金融分野

  • 病状と検査値の関連性、株価とニュースの関係など、非線形な依存関係を評価したいときに便利です。

まとめ

  • 相互情報量とは、2つの変数がどれだけ情報を共有しているかを表す指標
  • 独立なら 0、依存が強いほど値は大きくなる
  • 線形だけでなく非線形な関係も検出できるのが大きなメリット
  • 相関係数とは違い、「因果」ではなく「関連」を測る指標

今後の学習の指針

  • Pythonのsklearn.feature_selection.mutual_info_classifなどを使って実際に計算してみよう
  • 相関係数と相互情報量の結果を比較してみよう(特に非線形データで)
  • 共通情報量(joint entropy)や条件付き情報量(conditional mutual information)などの拡張も学ぶと理解が深まる

「情報をどれだけ伝えているか?」という感覚を身につけることは、データを“読む”力を大きく高めてくれますよ!

生成AI研修のおすすめメニュー

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。