🎓 レベル:標準 | 重要度:A(必須)
📎 前提:自己情報量とエントロピー | 関連:KLダイバージェンス
要点(BLUF)
- エントロピーは ( は値の個数)。確定なら 0、一様分布で最大 bit。
- は確率分布 について 凹関数(concave):分布を混ぜると不確かさは平均以上になる。
- 最大エントロピー原理:与えられた制約を満たす分布のうち を最大化する分布を選ぶ=余計な仮定を置かない最も無情報な分布。制約なしなら一様、平均を固定すると指数分布、平均と分散を固定するとガウス。
1. 基本性質:非負・上限・凹性
(a) 非負性 。離散では なので 、その期待値も非負。等号は確定(ある で )のとき。
(b) 上限 (=とりうる値の個数)。等号は 一様分布 のとき。証明は Gibbs の不等式(後述)か Jensen の不等式から出ます。直観的には「全部同じくらい起こりうる」ときが最も予測しにくい。
(c) 凹性 は の凹関数:
2つの分布を混ぜると、混ぜた分布の不確かさは個々の不確かさの平均以上。「どちらの分布から来たか分からない」という曖昧さが上乗せされるからです。この凹性は通信路容量が相互情報量の最大化として一意に解ける根拠になります(通信路容量)。
2. Gibbs の不等式:交差エントロピー ≥ エントロピー
任意の2分布 について、
右辺は 交差エントロピー 。「真の分布 に対し、別の分布 を信じて符号化すると平均符号長が伸びる」ことを意味し、等号は のときだけ。差 がまさに KLダイバージェンス で、これが次章の中心になります(KLダイバージェンス)。 を一様分布にとれば上限 が即座に出ます。
3. コード:上限・凹性・Gibbsの不等式(底2, bit)
import numpy as np
def H(p):
p = np.asarray(p, dtype=float); p = p[p > 0]
return -np.sum(p*np.log2(p)) # bit
# --- 1. 一様分布で最大: H(p) <= log2(n) ---
n = 5
print(f"n={n}: log2(n) = {np.log2(n):.4f} bit (一様のエントロピー)")
rng = np.random.default_rng(3)
best = 0.0
for _ in range(200000):
q = rng.random(n); q /= q.sum()
best = max(best, H(q))
print(f"ランダムな分布20万個の最大 H = {best:.4f} bit (<= log2 n)")
print(f"一様分布 H = {H(np.ones(n)/n):.4f} bit")
print("-"*46)
# --- 2. 凹性(concavity): H(平均) >= 平均のH ---
p1 = np.array([0.8, 0.1, 0.1])
p2 = np.array([0.1, 0.1, 0.8])
mix = 0.5*p1 + 0.5*p2
print(f"H(0.5 p1 + 0.5 p2) = {H(mix):.4f} bit")
print(f"0.5 H(p1)+0.5 H(p2) = {0.5*H(p1)+0.5*H(p2):.4f} bit")
print(f"凹性 H(mix) >= 平均H : {H(mix) >= 0.5*H(p1)+0.5*H(p2)}")
print("-"*46)
# --- 3. Gibbsの不等式:交差エントロピー >= エントロピー ---
p = np.array([0.5, 0.3, 0.2])
q = np.array([0.2, 0.3, 0.5])
cross = -np.sum(p*np.log2(q)) # 交差エントロピー
print(f"エントロピー H(p) = {H(p):.4f} bit")
print(f"交差エントロピー -Σp log q = {cross:.4f} bit")
print(f"Gibbs: H(p) <= 交差 : {H(p) <= cross} (差={cross-H(p):.4f} bit = KL(p||q))")
print(f"q=p のときの交差 = {-np.sum(p*np.log2(p)):.4f} bit (= H(p))")
出力:
n=5: log2(n) = 2.3219 bit (一様のエントロピー)
ランダムな分布20万個の最大 H = 2.3216 bit (<= log2 n)
一様分布 H = 2.3219 bit
----------------------------------------------
H(0.5 p1 + 0.5 p2) = 1.3690 bit
0.5 H(p1)+0.5 H(p2) = 0.9219 bit
凹性 H(mix) >= 平均H : True
----------------------------------------------
エントロピー H(p) = 1.4855 bit
交差エントロピー -Σp log q = 1.8821 bit
Gibbs: H(p) <= 交差 : True (差=0.3966 bit = KL(p||q))
q=p のときの交差 = 1.4855 bit (= H(p))
出力の意味:(1) ランダムに作った20万個の分布のどれも一様分布の bit を超えられない——一様が最大。(2) 偏った2分布を混ぜると、混合分布のエントロピー がそれぞれの平均 を上回る——凹性。(3) 真の に間違った を当てると交差エントロピー がエントロピー より大きく、その差 bit が KL。 にすると交差エントロピーがちょうど に戻り、Gibbs の等号条件を確認できます。
4. 最大エントロピー原理
「データから分かっている制約だけを反映し、それ以外は何も仮定しない」分布を選びたい——これを定量化したのが 最大エントロピー原理(Jaynes)です。制約を満たす分布の集合の中で を最大化します。ラグランジュ未定乗数法で解くと、制約の種類で答えが決まります。
| 制約 | 最大エントロピー分布 |
|---|---|
| なし(有限集合) | 一様分布 |
| 平均を固定() | 指数分布 |
| 平均と分散を固定() | ガウス分布 |
| 平均を固定(非負整数) | 幾何分布 |
「ガウスが連続分布の中で最大エントロピー」という事実は、後の微分エントロピー(微分エントロピー)とガウス通信路(ガウス通信路と容量)で本質的な役割を果たします。最大エントロピー分布は統計の指数型分布族とも一致し、最尤推定の背後にもいます(フィッシャー情報との接続)。
5. 数式の直観的意味
上限 は「 通りの可能性を区別するには最大 bit あれば足りる」こと、つまり シャノンの情報源符号化定理 の出発点です。一様分布が最大なのは「ヒントが何もない=全選択肢が等確率」のときが最も多くの質問を要するから。逆に最大エントロピー原理は「不要な構造を勝手に作らない=過剰な仮定を避ける」という、奥行きのある推論原理です。
⚠️ よくある誤解
- 「エントロピー最大=情報が最大で望ましい」ではない:最大エントロピーは**最も無情報(最も不確か)**な状態。望ましさとは無関係で、推論では「余計な仮定を置かない」という意味で使います。
- 「凹だから最大化は難しい」ではない:凹関数を凸集合上で最大化するのは一意に解ける良問。だから最大エントロピー問題は素直に解けます。
- 「一様分布が常に最大エントロピー」ではない:制約なし(または有限集合)なら一様。平均や分散の制約があれば指数・ガウスなど別の分布が最大になります。
- 「交差エントロピーは対称」ではない: が普通。KL と同じく非対称(KLダイバージェンス)。
対応シミュレーション
- 本文のコードで上限・凹性・Gibbsの不等式を数値実証済み。
関連ノート
- 自己情報量とエントロピー(前提・エントロピーの定義)
- 結合・条件付きエントロピーと連鎖則(多変数への拡張)
- 漸近等分割性とAEP(次のトピック・系列の典型性)
- KLダイバージェンス(交差エントロピーとの差=KL)
- 微分エントロピー(連続版・ガウスが最大エントロピー)
- 第1章 情報量とエントロピー 目次
- 情報理論 全体目次