Mímisbrunnr知恵の泉

← 情報理論 一覧

🎓 レベル:標準 | 重要度:A(必須)

📎 前提:自己情報量とエントロピー | 関連:KLダイバージェンス

要点(BLUF)

1. 基本性質:非負・上限・凹性

(a) 非負性 H(X)0H(X)\ge 0。離散では p(x)1p(x)\le 1 なので logp(x)0-\log p(x)\ge 0、その期待値も非負。等号は確定(ある xxp=1p=1)のとき。

(b) 上限 H(X)lognH(X)\le \log nnn=とりうる値の個数)。等号は 一様分布 p(x)=1/np(x)=1/n のとき。証明は Gibbs の不等式(後述)か Jensen の不等式から出ます。直観的には「全部同じくらい起こりうる」ときが最も予測しにくい。

(c) 凹性 HHpp の凹関数:

H(λp1+(1λ)p2)λH(p1)+(1λ)H(p2)H(\lambda p_1 + (1-\lambda) p_2) \ge \lambda H(p_1) + (1-\lambda) H(p_2)

2つの分布を混ぜると、混ぜた分布の不確かさは個々の不確かさの平均以上。「どちらの分布から来たか分からない」という曖昧さが上乗せされるからです。この凹性は通信路容量が相互情報量の最大化として一意に解ける根拠になります(通信路容量)。

2. Gibbs の不等式:交差エントロピー ≥ エントロピー

任意の2分布 p,qp,q について、

H(p)=xp(x)logp(x)    xp(x)logq(x)H(p) = -\sum_x p(x)\log p(x) \;\le\; -\sum_x p(x)\log q(x)

右辺は 交差エントロピー H(p,q)H(p,q)。「真の分布 pp に対し、別の分布 qq を信じて符号化すると平均符号長が伸びる」ことを意味し、等号は p=qp=q のときだけ。差 H(p,q)H(p)H(p,q)-H(p) がまさに KLダイバージェンス D(pq)0D(p\,\|\,q)\ge 0 で、これが次章の中心になります(KLダイバージェンス)。qq を一様分布にとれば上限 H(p)lognH(p)\le\log n が即座に出ます。

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万個の分布のどれも一様分布の log25=2.3219\log_2 5=2.3219 bit を超えられない——一様が最大。(2) 偏った2分布を混ぜると、混合分布のエントロピー 1.3691.369 がそれぞれの平均 0.9220.922 を上回る——凹性。(3) 真の pp に間違った qq を当てると交差エントロピー 1.8821.882 がエントロピー 1.4861.486 より大きく、その差 0.39660.3966 bit が KL。q=pq=p にすると交差エントロピーがちょうど H(p)H(p) に戻り、Gibbs の等号条件を確認できます。

4. 最大エントロピー原理

「データから分かっている制約だけを反映し、それ以外は何も仮定しない」分布を選びたい——これを定量化したのが 最大エントロピー原理(Jaynes)です。制約を満たす分布の集合の中で HH を最大化します。ラグランジュ未定乗数法で解くと、制約の種類で答えが決まります。

制約最大エントロピー分布
なし(有限集合)一様分布
平均を固定([0,)[0,\infty)指数分布
平均と分散を固定(R\mathbb Rガウス分布
平均を固定(非負整数)幾何分布

「ガウスが連続分布の中で最大エントロピー」という事実は、後の微分エントロピー(微分エントロピー)とガウス通信路(ガウス通信路と容量)で本質的な役割を果たします。最大エントロピー分布は統計の指数型分布族とも一致し、最尤推定の背後にもいます(フィッシャー情報との接続)。

5. 数式の直観的意味

上限 HlognH\le\log n は「nn 通りの可能性を区別するには最大 log2n\log_2 n bit あれば足りる」こと、つまり シャノンの情報源符号化定理 の出発点です。一様分布が最大なのは「ヒントが何もない=全選択肢が等確率」のときが最も多くの質問を要するから。逆に最大エントロピー原理は「不要な構造を勝手に作らない=過剰な仮定を避ける」という、奥行きのある推論原理です。

⚠️ よくある誤解

対応シミュレーション

関連ノート