🎓 レベル:標準 | 重要度:A(必須)
📎 前提:エントロピーの性質と最大エントロピー | 関連:クロスエントロピーと最尤(機械学習・統計)
要点(BLUF)
- KLダイバージェンス(相対エントロピー) は「真の分布 を、別の分布 で近似したときの平均の損失」を bit で測ります。
- 性質:非負 (等号は 、Gibbs の不等式)、非対称 、三角不等式を満たさない=距離ではない。
- 交差エントロピー 。だから交差エントロピーを最小化=KL を最小化=最尤推定。応用(損失関数・変分推論)は クロスエントロピーと最尤・ML へ。
1. 定義:間違った分布で符号化したときの余分
真の分布が なのに、 が真だと思い込んで符号を設計すると、平均符号長は より伸びます。その超過分が KLダイバージェンス:
底2なら bit。「 を信じたために余分に払うビット数」。 なら超過ゼロ、ずれるほど大きくなります。連続分布では和が積分になります(微分エントロピー)。
2. 非負性(Gibbsの不等式)と非対称性
非負性 は、 の凹性(Jensen の不等式)から:
等号は が定数、すなわち のときだけ。これが エントロピーの性質と最大エントロピー の Gibbs の不等式の正体です。
非対称性: は「 から見た のずれ」で、 とは一般に異なります。前者は「 が大きいのに が小さい」点を重く罰し(mean-seeking)、後者は逆(mode-seeking)。変分推論で を使うのはこの非対称性ゆえです(ML へ)。
3. コード:非対称・非負・交差エントロピー(底2, bit)
import numpy as np
def KL(p,q):
p=np.asarray(p,float); q=np.asarray(q,float)
m=p>0
return np.sum(p[m]*np.log2(p[m]/q[m])) # bit
p=np.array([0.7,0.2,0.1]); q=np.array([0.2,0.3,0.5])
print(f"KL(p||q) = {KL(p,q):.4f} bit")
print(f"KL(q||p) = {KL(q,p):.4f} bit (非対称: {not np.isclose(KL(p,q),KL(q,p))})")
print(f"KL(p||p) = {KL(p,p):.4f} bit (同一なら0)")
# 交差エントロピー = H(p) + KL(p||q)
Hp=-np.sum(p*np.log2(p)); cross=-np.sum(p*np.log2(q))
print(f"H(p)={Hp:.4f}, 交差エントロピー={cross:.4f}, H(p)+KL={Hp+KL(p,q):.4f}")
# モンテカルロ推定: E_p[log2 p/q]
rng=np.random.default_rng(1); N=2_000_000
s=rng.choice(3,size=N,p=p)
est=np.mean(np.log2(p[s]/q[s]))
print(f"KL のMC推定(N=2e6) = {est:.4f} bit (真値 {KL(p,q):.4f})")
出力:
KL(p||q) = 0.9160 bit
KL(q||p) = 0.9750 bit (非対称: True)
KL(p||p) = 0.0000 bit (同一なら0)
H(p)=1.1568, 交差エントロピー=2.0727, H(p)+KL=2.0727
KL のMC推定(N=2e6) = 0.9155 bit (真値 0.9160)
出力の意味: と が違う——KL は向きで値が変わる、だから「距離」ではありません。 ならゼロ。交差エントロピー がちょうど に一致——交差エントロピーを下げることは KL を下げることで、これが分類器の学習(クロスエントロピーと最尤)の中身です。最後に、 から実際にサンプリングして を平均すると で真値に収束、KL が「対数尤度比の期待値」であることも確認できます。
4. 最尤推定は KL 最小化
データの経験分布を 、パラメータ模型を とすると、対数尤度の最大化は
すなわち 最尤推定=経験分布と模型の KL を最小化( は に依らない定数なので交差エントロピー最小化と同値)。情報理論が統計の最尤と機械学習の交差エントロピー損失を同じ枠で説明するのはこのためです。推定論としての展開(一致性・CRLB)は統計、損失関数としての展開は ML へ wikilink(重複を避ける)。
5. 数式の直観的意味
KL は「モデルを間違えたときの情報的なコスト」。 が真の をどれだけ取りこぼすかを、 が重みをかけて測ります。 なのに だと で発散する——「起こりうることをゼロと予言するモデルは無限に罰せられる」。これは「確率0を割り当てるな」というベイズ的な戒め(クロスエントロピーと最尤)でもあります。相互情報量(相互情報量)・通信路容量(通信路容量)・レート歪み(レート歪み理論入門)はすべて KL の最小化/最大化問題として書けます。
⚠️ よくある誤解
- 「KL は距離(メトリック)」ではない:非対称で三角不等式も満たしません。「擬距離(ダイバージェンス)」です。対称化したい場合は Jensen-Shannon ダイバージェンスを使います。
- 「 と はどちらを使っても同じ」ではない:最尤は 、変分推論は と、用途で向きが決まります。
- 「KL が小さい=必ず良い近似」ではない:KL の向きによって「平均を合わせる」か「最頻値を合わせる」かが変わり、近似の性格が違います。
- 「底は何でもいい」ではない:bit か nat かで値が定数倍変わります。本ノートは bit。統計の文脈では nat が普通。
対応シミュレーション
- 本文のコードで非対称性・非負性・交差エントロピーとの関係・MC推定を実証済み。
関連ノート
- エントロピーの性質と最大エントロピー(前提・Gibbsの不等式と交差エントロピー)
- 相互情報量( は同時分布と周辺積の KL)
- 情報不等式とデータ処理不等式(次のトピック・KL の単調性)
- フィッシャー情報との接続(KL の2次近似がフィッシャー情報)
- クロスエントロピーと最尤(ML・統計の応用)
- 第2章 相互情報量とダイバージェンス 目次
- 情報理論 全体目次