🎓 レベル:発展 | 重要度:A(必須)
📎 前提:エントロピーの性質と最大エントロピー | 次:ガウス通信路と容量
要点(BLUF)
- 微分エントロピー は連続確率変数のエントロピー。離散の和を積分に置き換えた形です。
- 離散と決定的に違うのは 負になりうる こと、そして 座標変換(スケール変換)で値が変わる こと。だから「絶対的な情報量」ではなく相対的・差分的に使います。
- 同じ分散なら ガウス分布が微分エントロピー最大: bit。この事実がガウス通信路(ガウス通信路と容量)とレート歪み(レート歪み理論入門)の鍵。
1. 定義と離散との違い
連続確率変数 が密度 を持つとき、
形は離散エントロピーそっくりですが、 は密度(1を超えうる)なので が正にも負にもなり、 は 負になりえます。実際、 を細かい幅 で離散化した離散エントロピーは に近づき、 で 。つまり連続変数の「真の」エントロピーは無限大で、 はそこから を引いた有限の残差です。だから 単体は基準依存で、相互情報量 のように差を取ると基準がキャンセルし、意味のある(非負の)量になります。
2. ガウスが最大エントロピー
分散 を固定したとき、微分エントロピーを最大にするのは ガウス分布(エントロピーの性質と最大エントロピー の最大エントロピー原理の連続版)。その値は
平均 に依らず分散だけで決まります。「分散(パワー)が同じなら、ガウスが最も不確か」——これがノイズをガウスでモデル化すると最悪(最も情報を削る)になる理由で、ガウス通信路容量の議論で本質的に効きます。
3. コード:ガウスの微分エントロピー・負値・最大性(底2, bit)
数値積分(scipy.integrate.trapezoid)で を計算し、理論式との一致、負値、ガウスの最大性を確かめます。
import numpy as np
from scipy.integrate import trapezoid
from scipy.stats import norm, uniform
# 微分エントロピー h(X) = -∫ f log2 f dx (bit)
def diff_entropy(f, x):
fx=f(x); fx=np.where(fx>0, fx, 1e-300)
return -trapezoid(fx*np.log2(fx), x)
# ガウス N(0, σ^2):理論 h = 0.5 log2(2πe σ^2) bit
for sigma in [0.5, 1.0, 2.0]:
x=np.linspace(-12*sigma, 12*sigma, 200001)
h_num=diff_entropy(lambda t: norm.pdf(t,0,sigma), x)
h_theory=0.5*np.log2(2*np.pi*np.e*sigma**2)
print(f"ガウス σ={sigma}: 数値 h={h_num:.4f} bit, 理論 0.5 log2(2πe σ^2)={h_theory:.4f} bit")
print("-"*56)
# 微分エントロピーは負になりうる(σが小さいと)
sigma=0.1
x=np.linspace(-12*sigma,12*sigma,200001)
print(f"ガウス σ={sigma}: h={diff_entropy(lambda t: norm.pdf(t,0,sigma),x):.4f} bit (負になりうる!)")
print("-"*56)
# 分散固定での最大エントロピーはガウス。同分散の一様分布と比較
a=np.sqrt(3.0) # 一様[-a,a] の分散 a^2/3=1 -> a=sqrt(3)
xu=np.linspace(-a,a,200001)
h_unif=diff_entropy(lambda t: uniform.pdf(t,-a,2*a), xu)
h_gauss=0.5*np.log2(2*np.pi*np.e*1.0)
print(f"分散1の一様分布: h={h_unif:.4f} bit")
print(f"分散1のガウス : h={h_gauss:.4f} bit (ガウスが最大: {h_gauss>h_unif})")
出力:
ガウス σ=0.5: 数値 h=1.0471 bit, 理論 0.5 log2(2πe σ^2)=1.0471 bit
ガウス σ=1.0: 数値 h=2.0471 bit, 理論 0.5 log2(2πe σ^2)=2.0471 bit
ガウス σ=2.0: 数値 h=3.0471 bit, 理論 0.5 log2(2πe σ^2)=3.0471 bit
--------------------------------------------------------
ガウス σ=0.1: h=-1.2748 bit (負になりうる!)
--------------------------------------------------------
分散1の一様分布: h=1.7925 bit
分散1のガウス : h=2.0471 bit (ガウスが最大: True)
出力の意味:数値積分による がガウスの理論式 と4桁一致( が2倍になるごとに は bit 増える=スケールで値が動く)。 と分布が鋭くなると bit と負になります——離散エントロピーでは絶対ありえない現象で、微分エントロピーが「基準からの差」であることの証拠です。最後に、同じ分散1で比べるとガウス bit が一様分布 bit を上回り、分散固定ならガウスが最大エントロピーを数値で確認できました。
4. 数式の直観的意味
微分エントロピーは「連続値をどれだけ細かく区別できるか」の相対尺度です。 が大きい(広がった)分布ほど区別すべき範囲が広く が大きい。負値は「分布が幅1( の基準)より狭く集中している」ことを意味します。実用上は単体の より差が主役:相互情報量 は基準がキャンセルして非負になり、ガウス通信路の容量(ガウス通信路と容量)はまさにこの形 で計算されます。「ガウスが最大」という性質が、最悪ノイズと最良信号の両方を特徴づけます。
⚠️ よくある誤解
- 「微分エントロピーは常に非負」ではない:負になります。離散エントロピーの非負性は連続では成り立ちません。
- 「 は座標に依らない絶対量」ではない: で と変わります。単位やスケールに依存。
- 「ガウスが常に最大エントロピー」ではない:分散を固定したときだけ。範囲を固定すれば一様分布、平均だけ固定(非負)なら指数分布が最大(エントロピーの性質と最大エントロピー)。
- 「微分エントロピーと離散エントロピーは連続的に繋がる」ではない:離散化幅 について で、 で発散します。直接の極限ではありません。
対応シミュレーション
- 本文のコードで微分エントロピーの理論一致・負値・ガウスの最大性を数値積分で実証済み。
関連ノート
- エントロピーの性質と最大エントロピー(前提・最大エントロピー原理)
- ガウス通信路と容量(次のトピック・ を使う容量計算)
- レート歪み理論入門(ガウス源の歪み圧縮)
- KLダイバージェンス(連続版の KL も同様に定義)
- 第6章 連続情報量とレート歪み 目次
- 情報理論 全体目次