🎓 レベル:標準 | 重要度:A(必須)
📎 前提:結合・条件付きエントロピーと連鎖則 | 次:KLダイバージェンス
要点(BLUF)
- 相互情報量 は「 を知ると の不確かさがどれだけ減るか」=依存の強さを bit で測ったもの。
- 3つの等価な顔:。
- 対称 、非負 、独立なら 。後の通信路容量はこの を入力分布について最大化したものです(通信路容量)。
1. 定義:不確かさの減り分
を観測すると、 の不確かさは から に減ります。その減り分が相互情報量:
連鎖則 を代入すると、対称な形になります:
「それぞれ単独の不確かさの和」と「組にしたときの不確かさ」の差。重なり(共有している情報)の分だけ、和の方が大きい。ベン図で と の2円を描くと、 は重なり、 と は各円のはみ出し、 は和集合に対応します。
2. KL としての相互情報量
相互情報量は「同時分布 」が「独立だったと仮定した分布 」からどれだけ離れているか(KLダイバージェンス)に等しい:
KL は非負なので が即座に従い、等号は (独立)のとき。「依存があるほど、独立モデルからの隔たりが大きい」という見方です。
3. コード:3つの等価な定義と独立性(底2, bit)
天気 ・傘 の同時分布(結合・条件付きエントロピーと連鎖則 と同じ)で、3通りの計算が一致することと、独立分布では を確かめます。
import numpy as np
def H(p):
p=np.asarray(p,float).ravel(); p=p[p>0]; return -np.sum(p*np.log2(p))
P = np.array([[0.40,0.10],[0.05,0.45]]) # p(x,y)
px=P.sum(1); py=P.sum(0)
Hx,Hy,Hxy=H(px),H(py),H(P)
I1 = Hx+Hy-Hxy # I=H(X)+H(Y)-H(X,Y)
I2 = Hy-(Hxy-Hx) # I=H(Y)-H(Y|X)
outer = np.outer(px,py)
I3 = np.sum(P*np.log2(P/outer)) # I = KL(p(x,y) || p(x)p(y))
print(f"I(X;Y)=H(X)+H(Y)-H(X,Y) = {I1:.4f} bit")
print(f"I(X;Y)=H(Y)-H(Y|X) = {I2:.4f} bit")
print(f"I(X;Y)=KL(p(x,y)||p(x)p(y)) = {I3:.4f} bit")
print(f"I>=0 : {I1>=0}")
# 独立なら I=0
Pind = np.outer(px,py)
print(f"独立分布での I = {np.sum(Pind*np.log2(Pind/np.outer(Pind.sum(1),Pind.sum(0)))):.4f} bit")
出力:
I(X;Y)=H(X)+H(Y)-H(X,Y) = 0.3973 bit
I(X;Y)=H(Y)-H(Y|X) = 0.3973 bit
I(X;Y)=KL(p(x,y)||p(x)p(y)) = 0.3973 bit
I>=0 : True
独立分布での I = 0.0000 bit
出力の意味:3つの定義はすべて bit で一致——どの顔から見ても同じ「依存の情報量」です。これは 結合・条件付きエントロピーと連鎖則 で見た「傘を知ると天気の不確かさが bit に減った」差そのもの。そして周辺の積(独立を仮定した分布)で計算すると 。相互情報量がゼロ ⇔ 独立を数値で確認できました。傘を見れば天気が約 0.4 bit 分わかる、というわけです。
4. 条件付き相互情報量と連鎖則
3変数以上では 条件付き相互情報量 が使えます。相互情報量にも連鎖則があり、
と分解できます。これはデータ処理不等式(情報不等式とデータ処理不等式)や通信路符号化定理(シャノンの通信路符号化定理)の証明で使う基本道具です。注意:条件づけは相互情報量を増やすことも減らすこともある(エントロピーと違い、 は より大きくなりうる=「説明し合い」の現象)。
5. 数式の直観的意味
相互情報量は「片方を測定して得られる、もう片方についての平均情報量」。センサー で対象 を推定する場面なら、 は「このセンサーが対象について教えてくれる bit 数」の上限です。これがそのまま通信路の性能指標になり、入力分布で最大化したものが通信路容量(通信路容量)。機械学習の特徴選択(特徴選択と情報利得)でも、特徴とラベルの相互情報量=情報利得として再登場します。
⚠️ よくある誤解
- 「相互情報量は相関係数と同じ」ではない:相関は線形関係だけを捉えますが、 は任意の依存(非線形・非単調も)を捉えます。相関0でも はふつうに起こります。
- 「 に上限はない」ではない:。共有できる情報は各自の持つ情報を超えられません。
- 「条件づけると必ず減る」ではない:エントロピーは ですが、相互情報量は が より大きくなることがあります。
- 「 が大きい=因果」ではない:依存の強さであって因果ではありません(因果は介入が必要)。
対応シミュレーション
- 本文のコードで3定義の一致と独立性()を実証済み。
関連ノート
- 結合・条件付きエントロピーと連鎖則(前提・条件付きエントロピー)
- KLダイバージェンス(次のトピック・ は KL の特別形)
- 情報不等式とデータ処理不等式( の単調性)
- 通信路容量( の最大化が容量)
- 特徴選択と情報利得(ML・情報利得として再登場)
- 第2章 相互情報量とダイバージェンス 目次
- 情報理論 全体目次