相対エントロピーから情報と物理を組み立てる 第1部 第3章 §1.3.1 ★★★ D(p∥q) は「q を信じたときの驚き」から「p を知っているときの驚き」を引いて、実際の分布 p で平均したもの
前の章(第1部第2章)では、1つの分布 p について、値 x が出たときの驚き −lnp(x) と、その平均である Shannon エントロピーH(p)=−∑xp(x)lnp(x) を定義した。この章では分布を2つ用意する。同じ確率変数について「実際の分布 p」と「そうだと仮定した分布 q」があるとき、q を信じて驚く量と p を知っていて驚く量の差を平均したものが相対エントロピー D(p∥q) である。この巻はこの1つの量を根っこに置き、情報理論・統計学・統計力学・量子情報・情報熱力学の結果を、どの2つの分布の D を測っているかで読んでいく。
この章で D について示す性質は、ほとんど1つに尽きる。D(p∥q)≥0 で、等号は p=q のときに限る(Gibbs の不等式)。証明は、対数関数が上に凸であることを確率の平均に当てはめた Jensen の不等式1本で済む。この1本から、次のものがすべて出てくる。比べる相手 q を一様分布に選ぶと、エントロピーの上限 H(X)≤ln∣X∣ が出る。2つの確率変数の結合分布 pXY を、周辺分布の積 pXpY(独立だと仮定した分布)と比べると、D は相互情報量 I(X;Y) になり、その非負性から「条件を付けると平均のエントロピーは減る」ことと「結合エントロピーは和を超えない」ことが出る。さらに D の連鎖律と凸性から、次の章のデータ処理不等式と、第6章の通信路容量の計算に使う凹凸の性質が出てくる。
エントロピーの対数は、この巻の約束どおり自然対数で書き、単位は nat とする。ビットが欲しいときは ln2 で割る(1 ビット =ln2 nat)。授業や情報理論の教科書は底 2 で書くことが多いので、その対応は 1.3.6 節でまとめる。この章では、記号 := を定義に使う。
驚きの差の平均
確率変数 X が有限集合 X に値をとるとする。X の実際の分布を p とし、それとは別に、ある仮定のもとで想定した分布 q があるとする。値 x が出たとき、q を信じていた人の驚きは −lnq(x)、実際の分布を知っていた人の驚きは −lnp(x) である。その差 ln(p(x)/q(x)) は、q が x を実際より起こりにくいと見積もっていれば正、起こりやすいと見積もっていれば負になる。1回ごとの差は正にも負にもなるが、実際の分布 p で平均すると、いつでも 0 以上になる(次の節で示す)。
定義 1.3.1(相対エントロピー)
有限集合 X 上の2つの確率分布 p,q について、
D(p∥q):=x∈X∑p(x)lnq(x)p(x)=⟨lnq(X)p(X)⟩p(1.3.1)
を p の q に対する相対エントロピーと呼ぶ。Kullback–Leibler ダイバージェンス(KL ダイバージェンス)とも呼ぶ。和の中の 0ln(0/q) は 0 と約束する。p(x)>0 かつ q(x)=0 となる x があるときは D(p∥q)=+∞ と約束する。
2つの約束は、どちらも ln(p/q) の平均という意味から決まる。p(x)=0 の値は実際には出ないので、平均に寄与しない。tlnt→0(t→+0)なので、0ln0=0 は連続性とも合う。逆に、q が「起こりえない」とした値が実際に確率 p(x)>0 で出ると、q を信じる人の驚き −lnq(x) は無限大で、その平均も無限大になる。相対エントロピーが有限であるためには、p の台(p(x)>0 となる x の集合)が q の台に含まれていなければならない。
驚きの差の平均という読み方を式にすると、
−x∑p(x)lnq(x)=H(p)+D(p∥q)(1.3.2)
となる。左辺は「実際には p で出る値を、q を信じて驚いた量」の平均で、交差エントロピーと呼ばれる。右辺の第1項は p を知っていても避けられない驚き、第2項は分布を q と取り違えたことによる上乗せである。
符号の長さと尤度比で読む
D には、この巻で繰り返し使う2つの読み方がある。
1つ目は符号の長さである。確率 q(x) の値に長さおよそ −log2q(x) ビットの符号語を割り当てると、q から出る記号列の1記号あたりの平均の符号長はq の Shannon エントロピー(ビット)に近くなり、これが下限である(第1部第5章 で示す)。この符号を、実際には p で出る記号列に使うと、1記号あたりの平均の長さは式 (1.3.2) を ln2 で割った値 (H(p)+D(p∥q))/ln2 ビットになる。p に合わせて作った符号なら H(p)/ln2 ビットで済んだので、D(p∥q)/ln2 ビットは「分布を取り違えて作った符号の、1記号あたりの無駄」である。符号長が整数であることや、符号が実際に作れることの条件(Kraft の不等式)も同じ章で扱う。
2つ目は仮説検定である。データ x が「p から出たのか、q から出たのか」を判定したいとき、使う量は尤度比 p(x)/q(x) の対数である。D(p∥q) は、データが本当に p から出ているときの対数尤度比の平均にあたる。独立に n 個のデータ x1,…,xn をとると対数尤度比は ∑iln(p(xi)/q(xi)) で、大数の法則によりおよそ nD(p∥q) の速さで伸びる。D が大きいほど、少ないデータで q を棄却できる。この見方を誤り確率の指数として正確に述べたものが Stein の補題で、第1部第8章 で示す。
非対称であること
D(p∥q) は p と q について対称でない。平均をとる分布が p に固定されているからである。図 1.3.1 は、表の出る確率 a のコイン(pa=(a,1−a) と書く)と公平なコイン p1/2 の間の D を両方の向きで描いたものである。D(pa∥p1/2) は a→0 でも有限の ln2 に留まるのに対し、D(p1/2∥pa) は a→0 で発散する。後者では、公平なコインから確率 1/2 で出る表を、pa がほとんど起こりえないと見積もっているので、驚きの上乗せが大きくなる。前者では、pa からほとんど表が出ず、公平なコインを信じる人の驚きは高々 ln2 にしかならない。この非対称性があるので、D は距離の公理を満たさない。それでも「2つの分布がどれだけ見分けやすいか」を測る量として使える理由は、次の節の非負性と、1.3.5 節の凸性にある。

図 1.3.1 表の出る確率 a のコイン pa と公平なコイン p1/2 の相対エントロピー。点線は2つの向きの D の厳密な値(青=D(pa∥p1/2)、赤=D(p1/2∥pa))、実線は a=1/2 のまわりの2次の近似 2(a−1/2)2。この2次式は 1.3.2 節の Pinsker の不等式の右辺とも一致する。
a=1/2 の近くでは、2つの向きの D はどちらも 2(a−1/2)2 に近づき、差は3次以上の項にしか現れない。分布を少しだけずらしたときの D が2次の量になり、その係数が Fisher 情報になることは 第1部第7章 で扱う。
連続な分布
確率変数が実数値をとり、分布が密度 p(x),q(x) を持つときは、和を積分に置き換えて
D(p∥q):=∫p(x)lnq(x)p(x)dx(1.3.3)
と定める。この定義は変数の取り替えで変わらない。滑らかな1対1の写像 y=g(x) で変数を取り替えると、密度はp~(y)=p(x)/∣g′(x)∣、q~(y)=q(x)/∣g′(x)∣ と同じ因子で変わり、比 p/q は変わらない。dy と 1/∣g′(x)∣ の因子は p~(y)dy=p(x)dx の形で打ち消し合うので、D はそのまま保たれる。これに対して、−∫plnpdx(微分エントロピー)は、ln∣g′∣ の平均だけ値が変わる。微分エントロピーは座標の取り方によるので、連続な分布の情報量は D を通して扱うほうが安全である。
例として、2つの正規分布 p=N(μ1,σ12) と q=N(μ2,σ22) の間の D を求める。
lnq(x)p(x)=lnσ1σ2−2σ12(x−μ1)2+2σ22(x−μ2)2
を p で平均すると、⟨(X−μ1)2⟩p=σ12、⟨(X−μ2)2⟩p=σ12+(μ1−μ2)2 なので、
D(N(μ1,σ12)∥N(μ2,σ22))=lnσ1σ2+2σ22σ12+(μ1−μ2)2−21(1.3.4)
を得る。分散が等しい(σ1=σ2=σ)ときは (μ1−μ2)2/(2σ2) になり、平均の差を標準偏差で測った量の2乗の半分である。
例題 1.3.1 偏ったコインと公平なコイン ★★
オリジナル表の出る確率が 3/4 のコイン p=(3/4,1/4) と、公平なコイン q=(1/2,1/2) がある。
- (1) D(p∥q) と D(q∥p) を nat で求め、等しくないことを確かめよ。
- (2) p のコインの投げた結果を、公平なコイン用の符号(表も裏も1ビット)で記録する。p に合わせた符号と比べて、1回あたり平均何ビット余分に使うか。
解答
(1) 定義 (1.3.1) に代入する。
D(p∥q)=43ln1/23/4+41ln1/21/4=43ln23−41ln2=43ln3−ln2≈0.1308.
逆向きは
D(q∥p)=21ln3/41/2+21ln1/41/2=21ln32+21ln2=21ln34≈0.1438
で、D(p∥q)=D(q∥p) である。
(2) 公平なコイン用の符号は1回につき1ビット =−log2(1/2) を使う。式 (1.3.2) より、その平均の長さは (H(p)+D(p∥q))/ln2 ビットで、p に合わせた符号の下限は H(p)/ln2 ビットである。差は
ln2D(p∥q)=ln243ln3−ln2≈0.189 ビット
である。実際、H(p)=hb(1/4)≈0.5623 nat ≈0.811 ビットで、1−0.811=0.189 ビットと一致する。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com