11 Kullback-Leibler情報量
黒木玄2018-06-24～2019-04-03, 2023-06-22
Copyright 2018,2023 Gen Kuroki
License: MIT https://opensource.org/licenses/MIT (https://opensource.org/licenses/MIT)
Repository: https://github.com/genkuroki/Calculus (https://github.com/genkuroki/Calculus)
このファイルは次の場所できれいに閲覧できる:
http://nbviewer.jupyter.org/github/genkuroki/Calculus/blob/master/11%20Kullback-Leibler%20information.ipynb(http://nbviewer.jupyter.org/github/genkuroki/Calculus/blob/master/11%20Kullback-Leibler%20information.ipynb)
https://genkuroki.github.io/documents/Calculus/11%20Kullback-Leibler%20information.pdf(https://genkuroki.github.io/documents/Calculus/11%20Kullback-Leibler%20information.pdf)
このファイルは Julia Box (https://juliabox.com) で利用できる.
自分のパソコンにJulia言語 (https://julialang.org/)をインストールしたい場合にはWindowsへのJulia言語のインストール (http://nbviewer.jupyter.org/gist/genkuroki/81de23edcae631a995e19a2ecf946a4f)
Julia v1.1.0 の Windows 8.1 へのインストール(https://nbviewer.jupyter.org/github/genkuroki/msfd28/blob/master/install.ipynb)
を参照せよ. 前者は古く, 後者の方が新しい.
論理的に完璧な説明をするつもりはない. 細部のいい加減な部分は自分で訂正・修正せよ.

目次
 1 Kullback-Leibler情報量の基本性質
1.1 KL情報量の定義
1.2 KL情報量の正値性
1.3 KL情報量の凸性
1.4 KL情報量がノルムの2乗を上から押さえること
1.5 KL情報量の使われ方
 2 多項分布のSanovの定理
2.1 Sanovの定理とその証明
2.2 Sanovの定理の使い方1
2.3 二項分布の場合2.4 Sanovの定理の使い方22.5 連続的な確率分布の場合
2.6 正規分布による近似
2.7 多項分布の中心極限定理

𝐿1

In [1]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

using Base.MathConstants
using Base64
using Printf
using Statistics
const e = ℯ
endof(a) = lastindex(a)linspace(start, stop, length) = range(start, stop, length=length)​
using Plots#gr(); ENV["PLOTS_TEST"] = "true"#clibrary(:colorcet)#clibrary(:misc)
default(fmt=:png)​function pngplot(P...; kwargs...)sleep(0.1)
pngfile = tempname() * ".png"
savefig(plot(P...; kwargs...), pngfile)showimg("image/png", pngfile)end
pngplot(; kwargs...) = pngplot(plot!(; kwargs...))​
showimg(mime, fn) = open(fn) do fbase64 = base64encode(f)display("text/html", """<img src="data:$mime;base64,$base64">""")
end​
using SymPy#sympy.init_printing(order="lex") # default#sympy.init_printing(order="rev-lex")​
using SpecialFunctions
using QuadGKIn [2]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# Override the Base.show definition of SymPy.jl:# https://github.com/JuliaPy/SymPy.jl/blob/29c5bfd1d10ac53014fa7fef468bc8deccadc2fc/src/​@eval SymPy function Base.show(io::IO, ::MIME"text/latex", x::SymbolicObject)
print(io, as_markdown("\\displaystyle " * sympy.latex(x, mode="plain", fold_short_fra
end@eval SymPy function Base.show(io::IO, ::MIME"text/latex", x::AbstractArray{Sym})
function toeqnarray(x::Vector{Sym})a = join(["\\displaystyle " * sympy.latex(x[i]) for i in 1:length(x)], "\\\\")"""\\left[ \\begin{array}{r}$a\\end{array} \\right]"""end
function toeqnarray(x::AbstractArray{Sym,2})sz = size(x)a = join([join("\\displaystyle " .* map(sympy.latex, x[i,:]), "&") for i in 1:sz"\\left[ \\begin{array}{" * repeat("r",sz[2]) * "}" * a * "\\end{array}\\right]"
end
print(io, as_markdown(toeqnarray(x)))
end

1 Kullback-Leibler情報量の基本性質
1.1 KL情報量の定義
一般の確率分布についても定義可能だが, このノートでは簡単のため, 有限集合

Ω = {1,2,…,𝑟}の上の確率分布のみを扱う. 𝑝 = (𝑝1 ,…, 𝑝𝑟 ) が Ω = {1,2,…,𝑟} 上の確率分布であるとは𝑟𝑝𝑖 ≧ 0 (𝑖 = 1,2,…,𝑟) ∑ 𝑝𝑖 = 1
𝑖=1が成立していることであると定める.

Ω = {1,2,…,𝑟} 上の確率分布 𝑞,𝑝 に対して, (𝑞,𝑝) のKullback-Leibler情報量 𝐷(𝑞||𝑝) を𝑟𝑟𝑟
𝐷(𝑞||𝑝) = ∑ 𝑞𝑖 log 𝑝𝑞𝑖𝑖 = (− ∑ 𝑞𝑖 log 𝑝𝑖 ) − (− ∑ 𝑞𝑖 log 𝑞𝑖 )
𝑖=1

𝑖=1

𝑖=1

𝑥log𝑦 は 𝑥 = 0 のとき 0 になり, log0 = −∞ であると約束しておく. Kullback-Leibler情報量の −1 倍を相と定める. ただし,
対エントロピーと呼ぶ.

記述の簡単のため以下ではKullback-LeiblerをKLと略記することにする. さらに,と仮定する

𝑞,𝑝 は Ω = {1,2,…,𝑟} 上の確率分布である

1.2 KL情報量の正値性

𝐷(𝑞||𝑝) ≧ 0.
証明: 𝑥 ≧ 0 に対して 𝑓(𝑥) = 𝑥log𝑥 とおく. ただし, 𝑓(0) = lim𝑥↘0 𝑓(𝑥) = 0 と約束しておく. 𝑓 ′ (𝑥) = log𝑥 + 1 ,
𝑓 ″ (𝑥) = 1/𝑥 > 0 なので 𝑓(𝑥) は下に凸な函数である. 期待値汎函数 𝑔(𝑥) ↦ 𝐸[𝑔(𝑥)] を𝑟
𝐸[𝑔(𝑥)] = ∑ 𝑝𝑖 𝑔(𝑞𝑖 /𝑝𝑖 )KL情報量の正値性:

𝑖=1と定めることができる. ゆえにJensenの不等式より,

そして,𝐸[𝑓(𝑥)] ≧ 𝑓(𝐸[𝑥]).

𝑟𝑟𝑟𝐸[𝑓(𝑥)] = ∑ 𝑝𝑖 𝑝𝑞𝑖𝑖 log 𝑝𝑞𝑖𝑖 = 𝐷(𝑞||𝑝), 𝐸[𝑥] = ∑ 𝑝𝑖 𝑝𝑞𝑖𝑖 = ∑ 𝑞𝑖 = 1, 𝑓(𝐸[𝑥]) = 𝑓(1) = 0
𝑖=1

なので

𝑖=1

𝐷(𝑞||𝑝) ≧ 0 を得る. □𝑖=1

1.3 KL情報量の凸性

𝐷(𝑞||𝑝) は 𝑞 の函数として下に凸である.
証明: Ω 上の確率分布 𝑞,𝑞 ′ と 0 < 𝑡 < 1 が任意に与えられているとする. 𝑓(𝑥) = 𝑥log𝑥 とおくと, 𝑓(𝑥) は下に凸な函数であKL情報量の凸性:

る. ゆえに𝐷((1 − 𝑡)𝑞 + 𝑡𝑞 ′||𝑝) = ∑ 𝑝𝑖 𝑓 ( (1 − 𝑡)𝑝𝑞𝑖𝑖 + 𝑡𝑞𝑖 )𝑖=1𝑟′≦ ∑ 𝑝𝑖 ((1 − 𝑡)𝑓 ( 𝑝𝑞𝑖𝑖 ) + 𝑡𝑓 ( 𝑞𝑝𝑖𝑖 ))
𝑖=1= (1 − 𝑡)𝐷(𝑞||𝑝) + 𝑡𝐷(𝑞 ′||𝑝). □注意: 𝑓(𝑥) は強い意味で下に凸なので 𝐷(𝑞||𝑝) も 𝑞 の函数として強い意味で下に凸になる. このことより, 𝑞 の函数としての
𝐷(𝑞||𝑝) の最小値を与える 𝑞 = 𝑝 とは異なる 𝑞 ≠ 𝑝 において 𝐷(𝑞||𝑝) > 0 となることがわかる. より精密な結果については次の節を見よ. □1.4 KL情報量が𝑟′

𝐿1 ノルムの2乗を上から押さえること

𝑞 = 𝑝 ならば 𝑞𝑖 log(𝑞𝑖 /𝑝𝑖 ) = 0 より, 𝐷(𝑞||𝑝) = 0 となる.

黒木玄, Kullback-Leibler情報量とSanovの定理 (https://genkuroki.github.io/documents/20160616KullbackLeibler.pdf)の第5.3節で次の不等式が証明されている:

2
𝑟
1
𝐷(𝑞||𝑝) ≧ 2 (∑ |𝑞𝑖 − 𝑝𝑖 |) .
𝑖=1
これより, 𝑞 ≠ 𝑝 ならば 𝐷(𝑞||𝑝) > 0 となることがわかる. 特に 𝐷(𝑞||𝑝) = 0 と 𝑝 = 𝑞 が同値であることがわかる.
さらに, 確率分布の列 𝑞 (1) , 𝑞 (2) ,… について, 𝑘 → ∞ で 𝐷(𝑞 (𝑘) ||𝑝) → 0 ならば 𝑞 (𝑘) → 𝑝 となり, 確率分布の列 𝑝(1) , 𝑝(2) ,…
について, 𝑘 → ∞ で 𝐷(𝑞||𝑝(𝑘) ) → 0 ならば 𝑝(𝑘) → 𝑞 となることもわかる. □1.5 KL情報量の使われ方

𝐷(𝑞||𝑝)𝑞𝑝𝐷(𝑞||𝑝) ≠ 𝐷(𝑝||𝑞)KL情報量
は確率分布 と確率分布 の違いの大きさを表す指標としてよく使われる. 一般にであるが, そうなることには必然性がある. 「KL情報量の意味」は下の方で説明するSanovの定理を見ればわかる. Sanovの定理はStirlingの公式を知っていれば容易に証明可能である. Stirlingの公式を理解しておけば「情報理論」「統計力学」「統計学」などなどで基本的なSanovの定理をすぐに理解できるようになる.

階乗に関するStirlingの近似公式⟶ KL情報量に関するSanovの定理という経路をできるだけ早く踏破しておいた方が数学の応用について楽に考えることができるようになると思う.
統計学へのSanovの定理の応用については赤池弘次氏による以下の2つの論説を参照せよ:
赤池弘次, エントロピーとモデルの尤度(〈講座〉物理学周辺の確率統計)(https://www.jstage.jst.go.jp/article/butsuri1946/35/7/35_7_608/_article/-char/ja/), 日本物理学会誌, 35巻 (1980) 7号, 608-614
赤池弘次, 統計的推論のパラダイムの変遷について (https://ismrepo.ism.ac.jp/?
action=pages_view_main&active_action=repository_view_main_item_detail&item_id=32568&item_no=1&page_id=13&block_
統計数理研究所彙報, 27巻, 1号, 5-12, 1980-03
さらに黒木玄, Kullback-Leibler情報量とSanovの定理 (https://genkuroki.github.io/documents/20160616KullbackLeibler.pdf)
も参照して欲しい. 「Kullback-Leibler情報量とSanovの定理(https://genkuroki.github.io/documents/20160616KullbackLeibler.pdf)」の第10節には平均符号長とKL情報量の関係も解説してある 「情報量」という呼び方の由来はそちらを見た方が分かり易いかもしれない□

2 多項分布のSanovの定理

Ω = {1,2,…,𝑟} から 𝑖 を取り出す確率は 𝑝𝑖 であるとし, 𝑘𝑖 は非負の整数であり, 𝑘1 + 𝑘2 + ⋯ + 𝑘𝑟 = 𝑛 を満
𝑛 回の独立試行で 1,2,…,𝑟 のそれぞれが 𝑘1 , 𝑘2 ,…, 𝑘𝑟 回取り出される確率は𝑛! 𝑝𝑘11 𝑝𝑘22 ⋯ 𝑝𝑘𝑟 𝑟(∗)
𝑘1 !𝑘2 !⋯ 𝑘𝑟 !になる. この式における階乗の分数の因子はそれぞれ 𝑘𝑖 個の 𝑖 達を全部で 𝑛 個順番に並べる方法の総数に等しいので, 多項係数と呼ばれる. (𝑘1 ,…, 𝑘𝑟 ) 全体の集合上の確率分布 (∗ ) は多項分布と呼ばれる.
1回の試行でたしているとする. このとき2.1 Sanovの定理とその証明
Sanovの定理:

𝑛 → ∞ で 𝑘𝑖 達が 𝑘𝑖 /𝑛 ∼ 𝑞𝑖 (𝑖 = 1,…,𝑟) のように振る舞うならば, 𝑛 → ∞ で𝑛! 𝑝𝑘11 𝑝𝑘22 ⋯ 𝑝𝑘𝑟 𝑟 = exp(−𝑛𝐷(𝑞||𝑝) + 𝑜(𝑛)).
𝑘1 !𝑘2 !⋯ 𝑘𝑟 !

すなわち−log( 𝑘1 !𝑘2𝑛!!⋯ 𝑘𝑟 ! 𝑝𝑘11 𝑝𝑘22 ⋯ 𝑝𝑘𝑟 𝑟 ) = 𝑛𝐷(𝑞||𝑝) + 𝑜(𝑛).
証明: 𝑘𝑖 /𝑛 ∼ 𝑞𝑖 という仮定より, 𝑘𝑖 = 𝑛𝑞𝑖 + 𝑜(𝑛) である. 𝑞𝑖 は固定されているので, 𝑛 が大きくなると 𝑘𝑖 も 𝑂(𝑛) のオーダー
で大きくなる. だから, Stirlingの公式⎯⎯⎯⎯⎯, 𝑘𝑖 ! ∼ 𝑘𝑘𝑖 𝑖 𝑒−𝑘𝑖 √⎯2𝜋𝑘⎯⎯⎯⎯⎯𝑖⎯𝑛! ∼ 𝑛𝑛 𝑒−𝑛 √⎯2𝜋𝑛を使用できる. ゆえに, 𝑘1 + ⋯ + 𝑘𝑟 = 𝑛 を使うと,⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
𝑟 𝑘 𝑘𝑟 
𝑟 𝑘 ⎯ −1
𝑛𝑛 𝑒−𝑛 √⎯2𝜋𝑛
𝑛! ∼

𝑖
𝑟−1
(2𝜋𝑛) ∏ 𝑛𝑖 .
⎯⎯⎯⎯⎯⎯1⎯ ⋯ 𝑘𝑘𝑟 𝑟 𝑒−𝑘𝑟 √⎯2𝜋𝑘⎯⎯⎯⎯⎯⎯𝑟⎯ = (∏()
𝑘1 !𝑘2 !⋯ 𝑘𝑟 ! 𝑘𝑘11 𝑒−𝑘1 √⎯2𝜋𝑘
𝑛
𝑖=1
𝑖=1 )

したがって,⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
𝑟 𝑘 ⎯ −1
𝑛! 𝑝𝑘11 𝑝𝑘22 ⋯ 𝑝𝑘𝑟 𝑖 ∼ 𝑟 𝑘𝑖 /𝑛 𝑘𝑖 𝑟−1(2𝜋𝑛) ∏ 𝑛𝑖 )()(∏
𝑘1 !𝑘2 !⋯ 𝑘𝑟 !
𝑝
𝑖
𝑖=1
𝑖=1

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
𝑟
𝑟 𝑘⎯

/𝑛
𝑘

𝑖
𝑟−1

= exp(− ∑ 𝑘𝑖 log 𝑝𝑖 − (𝑟 − 1)log𝑛 − log (2𝜋) ∏ 𝑛𝑖 ).
𝑖=1
𝑖=1

これに 𝑘𝑖 /𝑛 = 𝑞𝑖 + 𝑜(1) , 𝑘𝑖 = 𝑛𝑞𝑖 + 𝑜(𝑛) を代入すれば示したい結果が得られる. log𝑛 や定数の項は 𝑛 で割って 𝑛 → ∞ とす
ると 0 に収束するので, それらは 𝑜(𝑛) の項にまとめられることに注意せよ. さらにKL情報量の定義が𝑟
𝐷(𝑞||𝑝) = ∑ 𝑞𝑖 log 𝑝𝑞𝑖𝑖であったことも思い出して計算せよ.

□

要するに多項分布にStirlingの近似公式と

𝑖=1

𝑘𝑖 = 𝑛𝑞𝑖 + 𝑜(𝑛) を単純に代入するだけで, Sanovの定理が得られる.

2.2 Sanovの定理の使い方1Ω = {1,2,…,𝑟} から確率 𝑝𝑖 で 𝑖 を選ぶ独立試行を 𝑛 回行った結果, 𝑖 が 𝑘𝑖 回取り出されたとき,
Ω = {1,2,…,𝑟} 上の確率分布 (𝑘1 /𝑛,…, 𝑘𝑟 /𝑛) を経験分布と呼ぶ. Sanovの定理における 𝑘𝑖 /𝑛 ∼ 𝑞𝑖 (𝑛 → ∞) という条件は,𝑛 を大きくしたとき経験分布が確率分布 𝑞 に近いことを意味している. だから, Sanovの定理は 𝑛 が大きなとき(確率分布 𝑝 のもとでの独立試行の経験分布が確率分布 𝑞 に近い確率) ∼ exp(−𝑛𝐷(𝑞||𝑝) + 𝑜(𝑛)) .
有限集合が成立することを意味している.

𝑜(𝑛) は 𝑛 で割ると 0 に収束する量なので, 𝑛 が十分に大きなとき −𝑛𝐷(𝑞||𝑝) と比較すると無視できるほど小さな量になる. ゆ
えに, 𝑛 を十分に大きくすると, 異なる 𝑞 ごとの「経験分布が 𝑞 に近くなる確率」の大小関係をKL情報量 𝐷(𝑞||𝑝) の大小関係で測って良い状況になる. 𝐷(𝑞||𝑝) が小さな 𝑞 ほど相対的に経験分布が近くなる確率は高くなる.
経験分布が確率分布 𝑞 ∗ に近くなる確率で経験分布が確率分布 𝑞 に近くなる確率を割った結果はexp(−𝑛 (𝐷(𝑞||𝑝) − 𝐷(𝑞 ∗||𝑝)) + 𝑜(𝑛))のように振る舞う. 𝐷(𝑞||𝑝) > 𝐷(𝑞 ∗ ||𝑝) ならばこの確率の商は 𝑛 → ∞ で 0 に収束する. そのとき, 経験分布が 𝑞 に近くなる確率は経験分布が 𝑞 ∗ に近くなる確率と比較すると相対的に無視できるくらい小さくなる.
確率分布の集合 𝐴 が与えられているとする. ただし, 𝐴 の内部の閉包が 𝐴 閉包に一致するような「良い集合」のみを考える. 例
えば 𝑟 = 2 (二項分布のとき)で 0 ≦ 𝑎 < 𝑏 ≦ 1 のとき 𝐴 = {(𝑞1 ,1 − 𝑞1 ) ∣ 𝑎 ≦ 𝑞1 ≦ 𝑏} はそのような「良い集合」の例になっている. (「内部」「閉包」の意味を知らない人はこの例を思い浮かべておけばよい.)𝑞 が 𝐴 上を動くとき, 𝐷(𝑞||𝑝) を最小にする 𝑞 ∈ 𝐴 を 𝑞 ∗ と書く.
このとき, 経験分布が 𝐴 に入るという条件のもとでの条件付き確率分布を考えると, 𝑞 ∗ 以外の 𝑞 ∈ 𝐴 に経験分布が近くなる確率は 𝑛 → ∞ で 0 に近付く. これは、経験分布が 𝐴 に入るという条件のもとでの条件付き確率分布が 𝑛 → ∞ で 𝑞 ∗ に台を持
つデルタ分布に近付くことを意味している.

2.3 二項分布の場合

𝑟 = 2 の二項分布の場合を考える. このとき, 𝑞1 = 𝑞, 𝑞2 = 1 − 𝑞, 𝑝1 = 𝑝, 𝑝2 = 1 − 𝑝 と書くと,
𝐷(𝑞||𝑝) = 𝑞log 𝑞𝑝 + (1 − 𝑞)log 11 −− 𝑞𝑝 .
問題: この函数は 𝑞 = 𝑝 で最小値 0 になることを自分で確認してみよ. □次のセルのプロットを見ればわかるように 𝐷(𝑞||𝑝) は 𝑞 の函数として 𝑞 = 𝑝 で最小になり, 下に凸な函数になる.

In [3]:Out[3]:

1
2
3
4
5
6
7
8
9
10
11

D(q,p) = q*log(q/p) + (1-q)*log((1-q)/(1-p))q = 0:0.01:1
PP = []
for p in [0.2, 0.4, 0.6, 0.8]
P = plot(legend=false)plot!(title="y = D(q, $(round(p,digits=3)))", titlefontsize=10)
plot!(xlabel="q_1", ylabel="y")plot!(q, D.(q, p))
push!(PP, P)
endplot(PP..., size=(700, 500))

In [4]:



1
2
3
4
5
6
7
8
9
10
11

D(q,p) = q*log(q/p) + (1-q)*log((1-q)/(1-p))p = 0:0.01:1
PP = []
for q in [0.2, 0.4, 0.6, 0.8]
P = plot(legend=false)plot!(title="y = D($(round(q,digits=3)), p)", titlefontsize=10)
plot!(xlabel="p_1", ylabel="y")plot!(p, D.(q, p))
push!(PP, P)
endplot(PP..., size=(700, 500))

Out[4]:問題(Laplaceの方法の弱形の一種): 実数

𝐸1 ,…, 𝐸𝑁 について, 𝑛 → ∞ のとき,𝑁
− 1𝑛 log ∑ 𝑒−𝑛𝐸𝑖 → min{𝐸1 ,⋯, 𝐸𝑁 }

(∗)

𝑖=1

となることを示せ.
解答例:

𝐸1 = ⋯ = 𝐸𝑘 < 𝐸𝑘+1 ≦ ⋯ ≦ 𝐸𝑁 と仮定してよい. このとき,
𝑁𝑛𝑛− 1𝑛 log ∑ 𝑒−𝑛𝐸𝑖 = − 1𝑛 log(𝑒−𝑛𝐸1 (𝑘 + ∑ 𝑒−𝑛(𝐸𝑖−𝐸1))) = 𝐸1 − 1𝑛 log(𝑘 + ∑ 𝑒−𝑛(𝐸𝑖−𝐸1)).
∗𝑖=1

これより, ( )が成立することがわかる.
注意: 上の問題の結果の

max 版

□

𝑖=𝑘+1

𝑖=𝑘+1

1 log 𝑁 𝑒𝑛𝐸𝑖 → max{𝐸1 ,⋯, 𝐸𝑁 }𝑛 ∑𝑖=1

はトロピカル幾何 (https://www.google.co.jp/search?
q=%E3%83%88%E3%83%AD%E3%83%94%E3%82%AB%E3%83%AB%E5%B9%BE%E4%BD%95)における max-plus 代数(https://www.google.co.jp/search?q=max-plus%E4%BB%A3%E6%95%B0)の max が極限で出て来る仕組みとしても現われる.

□

注意: コンピューターによる統計がらみの数値計算ではlogsumexp (https://www.google.co.jp/search?q=logsumexp)という函数を適切に定義して使うことがある.

□

確率𝑝 で当たるくじを引く独立試行を 𝑛 回繰り返したとき, 当たりが 𝑘 回出る確率は𝑛! 𝑘 𝑛−𝑘𝑛 𝑘 𝑛−𝑘(𝑘)𝑝 (1 − 𝑝) = 𝑘!(𝑛 − 𝑘)! 𝑝 (1 − 𝑝)

になる.

0 ≦ 𝑎 < 𝑏 ≦ 1 であるとする. このとき当たりが出た回数の割合 𝑘/𝑛 が 𝑎 以上 𝑏 以下になる確率は𝑛∑ (𝑘)𝑝𝑘 (1 − 𝑝)𝑛−𝑘になる. この確率の対数の−1/𝑛 倍𝑎≦𝑘/𝑛≦𝑏− 1𝑛 log ∑ (𝑘𝑛)𝑝𝑘 (1 − 𝑝)𝑛−𝑘𝑎≦𝑘≦𝑏𝑛 → ∞ でどうなるかについて考えよう.
Sanovの定理より, 𝑘/𝑛 ∼ 𝑞 のとき,
𝑛 𝑘 𝑛−𝑘(𝑘)𝑝 (1 − 𝑝) = exp(−𝑛𝐷(𝑞|𝑝) + 𝑜(𝑛)).
したがって, 上の問題の結果の一般化によって, 𝑛 → ∞ で0(𝑎 ≦ 𝑝 ≦ 𝑏)
− 1𝑛 log ∑ (𝑘𝑛)𝑝𝑘 (1 − 𝑝)𝑛−𝑘 → 𝑎≦𝑞≦𝑏
max 𝐷(𝑞||𝑝) =  𝐷(𝑏||𝑝) (𝑏 < 𝑝)𝑎≦𝑘≦𝑏
 𝐷(𝑎||𝑝) (𝑝 < 𝑎)となると考えられる. 要するに 𝑎 以上 𝑏 以下の 𝑘/𝑛 で 𝑝 に最も近いものが生じる確率の寄与だけが, 効いて来るということであがる. (前節の説明も再読せよ.)

以上の議論は少々厳密さに欠けた荒い議論だが, 結論は正しい. 正確な議論の仕方については
黒木玄, Kullback-Leibler情報量とSanovの定理 (https://genkuroki.github.io/documents/20160616KullbackLeibler.pdf)の第3節を参照せよ.

2.4 Sanovの定理の使い方2

𝐷(𝑞||𝑝) は, Sanovの定理によって, 確率分布 𝑝 の試行を独立に 𝑛 回繰り返したとき, 経験分布として 𝑞 に近い分布がexp(−𝑛𝐷(𝑞||𝑝) + 𝑜(𝑛)) になるという性質を持っているのであった.
これより, 確率分布 𝑝 の独立試行によって確率分布 𝑞 をシミュレートしたときの, 予測誤差の大きさが 𝐷(𝑞||𝑝) で測られること
KL情報量
出て来る確率がを意味していると考えることができる.

𝑞 = 𝑝 と 𝐷(𝑞||𝑝) = 0 が同値であることも, この解釈をサポートしている.

𝑝

さらに, 最も簡単(で極端)な次の場合について考えてみよう. 毎日雨が確実に降る地域で, 毎日確率 で「明日は雨が降ります」と予報を出し, 確率で「明日は雨が降りません」と予報を出すことを 回繰りかすとき, 予報の出し方が間違っていたことがばれずにすむ確率はになる. そして, この場合のKL情報量は

1−𝑝 𝑛𝑛𝑝 = exp(−𝑛(−log𝑝))
𝐷(1||𝑝) = 1log 1𝑝 + (1 − 1)log 11 −− 1𝑝 = −log𝑝となる(二項分布の場合の記号法をそのまま使った). 予報の出し方が間違っていたことがばれずにすむ確率が下がる速さはで決まっている. ゆえに, KL情報量
は予報の出し方が間違っていたことが確率的にばれる速さを表していると考えられる. この極端で単純な場合も, KL情報量
を確率分布 による確率分布 のシミュレーションの予測誤差を表しているという解釈をサポートしている.

𝐷(1||𝑝) = −log𝑝𝐷(1||𝑝)𝐷(𝑞||𝑝)𝑝より一般の場合には, Sanovの定理は𝑞𝑝 の独立試行の経験分布が 𝑞 に近い確率) = exp(−𝑛𝐷(𝑞||𝑝) + 𝑜(𝑛))と要約でき, 確率分布 𝑝 の独立試行の経験分布が 𝑞 に近いことは, 確率分布 𝑝 の独立試行により確率分布 𝑞 の予測が間違っていることがばれずに済んでいることを意味していると解釈できるので, やはり 𝐷(𝑞||𝑝) は予測が間違っていたことがばれるまでの(確率分布速さになっていると解釈できる.

KL情報量は以上の意味で予測誤差になっていると考えられる:

𝐷(𝑞||𝑝) = (確率分布 𝑝 の独立試行による確率分布 𝑞 のシミュレーションの予測誤差).

2.5 連続的な確率分布の場合
連続的な確率分布の場合であっても, 確率密度函数

𝑞(𝑥), 𝑝(𝑥) に対するKL情報量が𝐷(𝑞||𝑝) = ∫ 𝑞(𝑥)log 𝑞(𝑥)𝑝(𝑥) 𝑑𝑥∫ は定積分を意味する), 適当な条件と適切な定式化のもとでSanovの定理が成立していることが知られている:
𝐷(𝑞||𝑝) = (確率分布 𝑝 の独立試行による確率分布 𝑞 のシミュレーションの予測誤差).

と定義され(

正確な内容については「大偏差原理 Sanovの定理 (https://www.google.co.jp/search?
q=%E5%A4%A7%E5%81%8F%E5%B7%AE%E5%8E%9F%E7%90%86+Sanov%E3%81%AE%E5%AE%9A%E7%90%86)」
について検索して欲しい. (連続的な 軸を 個に区切れば, 軸上の確率分布は有限集合上の確率分布で近似できることに注意せよ.)

𝑥

確率分布

𝑟

𝑥

Ω = {1,…,𝑟}𝑝 による独立試行で確率分布 𝑞 をシミュレートする状況を考えよう. ∫−∞∞ を単に ∫ と書くことにすると, その場合の予測誤差は𝐷(𝑞|𝑝) = ∫ 𝑞(𝑥)log 𝑞(𝑥)𝑝(𝑥) 𝑑𝑥 = 𝐺(𝑞||𝑝) − 𝑆(𝑞).

ここで𝐺(𝑞||𝑝) = − ∫ 𝑞(𝑥)log𝑝(𝑥)𝑑𝑥, 𝑆(𝑞) = − ∫ 𝑞(𝑥)log𝑞(𝑥)𝑑𝑥
2.6 正規分布による近似例として, 正規分布

1 ⎯ 𝑒−(𝑥−𝜇)2/(2𝜎2)𝑝(𝑥) = 𝑝𝑁 (𝑥|𝜇,𝜎) = ⎯⎯⎯⎯⎯⎯⎯√2𝜋𝜎 2𝑞(𝑥) をシミュレートする場合について考えよう. 予測誤差を小さくするためには, パラメーター 𝜇,𝜎𝐺(𝑞||𝑝) を小さくすればよい. 𝑝 が正規分布の場合には2
𝐺(𝑞||𝑝) = ∫ 𝑞(𝑥) ( (𝑥2−𝜎 2𝜇) + 12 log 𝜎 2 + log √⎯2𝜋⎯⎯⎯) 𝑑𝑥= 𝜎12 ∫ 𝑞(𝑥)(𝑥 − 𝜇)2 𝑑𝑥 + 12 log 𝜎 2 + log √⎯2𝜋⎯⎯⎯.

による独立試行で確率分布を調節して汎化誤差

𝑞(𝑥) の平均と分散を

𝜇𝑞 = ∫ 𝑞(𝑥)𝑥𝑑𝑥, 𝜎𝑞2 = ∫ 𝑞(𝑥)(𝑥 − 𝜇𝑞)2 𝑑𝑥と書くと,∫ 𝑞(𝑥)(𝑥 − 𝜇) 𝑑𝑥 = ∫ 𝑞(𝑥)((𝑥 − 𝜇𝑞) − (𝜇 − 𝜇𝑞)) 𝑑𝑥 = 𝜎𝑞2 + (𝜇 − 𝜇𝑞)
2

2

2

なので

− 𝜇𝑞)2 + 𝜎𝑞2 + 1 log 𝜎 2 + log √⎯2𝜋⎯⎯⎯.
𝐺(𝑞||𝑝) = (𝜇 2𝜎22𝜎 2 2
これより, 𝐺(𝑞||𝑝) を最小にする 𝜇,𝜎 は 𝜇 = 𝜇𝑞 , 𝜎 = 𝜎𝑞 となることがわかる.
すなわち, 正規分布による確率分布 𝑞(𝑥) のシミュレーションの予測誤差を最小にするためには, 正規分布の平均と分散を確率分
布 𝑞(𝑥) の平均と分散に一致させればよいことがわかった.
この結果は未知の確率分布 𝑞(𝑥) のサンプルに基いてその平均と分散の両方を推定することは, 未知の確率分布 𝑞(𝑥) を最も小さな予測誤差でシミュレートできる正規分布を推定することと同じことであることがわかる.

平均と分散に関する統計学は, KL情報量のSanovの定理の立場から見ると, 本質的に正規分布の統計学であるということがわかった.
以上のように, KL情報量のSanovの定理は, 「パラメーターの推定」という考え方をより普遍的な「確率分布の推定」という考え方に高めるため役に立つ.
問題: 上の計算で省略した部分を埋めよ.
解答例:

𝜎 を固定したときの 𝐺(𝑞||𝑝) の最小値は 𝜇 = 𝜇𝑞 で与えられることは明らか.
𝑓(𝑠) = 𝑎𝑠 + log𝑠とおくと,𝑓 ′ (𝑠) = − 𝑠𝑎2 + 1𝑠 = 𝑠 𝑠−2 𝑎
なので 𝑓(𝑠) は 𝑠 = 𝑎 で最小になることがわかる. これより, 𝐺(𝑞||𝑝) は 𝜇 = 𝜇𝑞 , 𝜎 = 𝜎𝑞 のときに最小になることがわかる. □問題: 次の確率密度函数で定義される分布をロジスティック分布と呼ぶ:

𝑞(𝑥) = 4𝑠1 sech2 ( 𝑥 2𝑠− 𝜇 ).

ここで

1 , cosh𝑥 = 𝑒𝑥 + 𝑒−𝑥 .
sech𝑥 = cosh𝑥
2

ロジスティック分布の平均と分散はそれぞれ

22𝜇𝑞 = 𝜇, 𝜎𝑞2 = 𝜋 3𝑠 .

ロジスティック分布を最もよくシミュレートする正規分布の確率密度函数ともとのロジスティック分布の確率密度函数を同時にプロットしてみよ.

□

In [5]:



1
2
3
4
5
6
7
8
9
10
11

pdflogistic(μ,s,x) = 1/(4s)*sech((x-μ)/(2s))^2
pdfnormal(μ,σ,x) = exp(-(x-μ)^2/(2*σ^2))/√(2π*σ^2)​
μ = 0.0s = 1.0σ = π*s/√3
x = -10:0.02:10​
P = plot(legend=:topleft, ylims=(0, 0.26))
plot!(x, pdflogistic.(μ,s,x), label="logistic", lw=2)
plot!(x, pdfnormal.(μ,σ,x),label="normal",
lw=2, ls=:dash)Out[5]:

ロジスティック分布の正規分布による近似に関しては
黒木玄, ロジスティック分布の2通りの正規分布近似の比較(http://nbviewer.jupyter.org/gist/genkuroki/96b0508a5773035e3a5247beff1d4f99)
も参照せよ.

2.7 多項分布の中心極限定理

𝑘𝑖 /𝑛 ∼ 𝑞𝑖 (𝑛 → ∞) のとき, 𝑛 → ∞ で,⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
𝑟 𝑘 ⎯ −1
𝑛! 𝑝𝑘11 𝑝𝑘22 ⋯ 𝑝𝑘𝑟 𝑟 ∼ 𝑟 𝑘𝑖 /𝑛 𝑘𝑖 
𝑟−1(2𝜋𝑛) ∏ 𝑛𝑖 .
()
𝑘1 !𝑘2 !⋯ 𝑘𝑟 !
𝑝
(∏
𝑖
𝑖=1
𝑖=1 )


Sanovの定理の証明によって,これを

𝑘𝑖 = 𝑝𝑖 + 𝑥𝑖⎯ + 𝜀𝑖 , 𝜀𝑖 = 𝑜 1⎯𝑛
( √𝑛 )√𝑛の場合に適用すると,

𝑥𝑖⎯ + 𝜀𝑖 = 𝑟 𝑘𝑖 − 𝑟 𝑝𝑖 = 0,∑𝑖=1 ( √𝑛 ) ∑𝑖=1 𝑛 ∑
𝑖=1𝑘2
𝑟log ( 𝑘𝑝𝑖 /𝑛𝑖 ) = 𝑛𝑝𝑖 (1 + 𝑥⎯𝑛𝑖 𝑝 + 𝜀𝑝𝑖𝑖 ) log(1 + 𝑥⎯𝑛𝑖 𝑝 + 𝜀𝑝𝑖𝑖 ) = 𝑛 ( 𝑥𝑖⎯𝑛 + 𝜀𝑖 ) + 12 𝑥𝑝𝑖𝑖 + 𝑜(1),
√ 𝑖
√ 𝑖
√
𝑟 𝑘 /𝑛 𝑘𝑖 𝑟
𝑘𝑟
2𝑖∴ log ∏ ( 𝑝𝑖 𝑖 ) = ∑ log ( 𝑘𝑝𝑖 /𝑛𝑖 ) = 12 ∑ 𝑥𝑝𝑖𝑖 + 𝑜(1),
𝑖=1
𝑖=1
𝑖=1
𝑟 𝑘
𝑖
∏ 𝑛 = 𝑝1 ⋯ 𝑝𝑟 (1 + 𝑜(1))
𝑟

𝑖=1

なので

exp(− 12 ∑ 𝑥𝑝𝑖𝑖 )𝑛! 𝑘1 𝑘2 𝑘𝑟
𝑖=1⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
𝑟−1
𝑘1 !𝑘2 !⋯ 𝑘𝑟 ! 𝑝1 𝑝2 ⋯ 𝑝𝑟 ∼ √⎯(2𝜋𝑛) 𝑝1 ⋯ 𝑝𝑟⎯ .
⎯⎯両辺に 𝑑𝑘1 ⋯ 𝑘𝑟−1 = √ 𝑛 𝑑𝑥1 ⋯ √ 𝑛 𝑑𝑥𝑟−1 をかけると,
𝑟 2exp(− 12 ∑ 𝑥𝑝𝑖𝑖 )𝑛! 𝑝𝑘11 𝑝𝑘22 ⋯ 𝑝𝑘𝑟 𝑟 𝑑𝑘1 ⋯𝑑𝑘𝑟−1 ∼ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
𝑖=1
𝑑𝑥 ⋯𝑑𝑥 .
𝑟−1
𝑘1 !𝑘2 !⋯ 𝑘𝑟 !
√(2𝜋) 𝑝1 ⋯ 𝑝𝑟⎯ 1 𝑟−1
𝑘1 + ⋯ + 𝑘𝑟 = 𝑛 より 𝑥1 + ⋯ + 𝑥𝑟 = 𝑜(1) であることに注意せよ. 右辺は (𝑥1 ,…, 𝑥𝑟−1 ) の多変量正規分布の確率密度函数𝑟の形になっている.

以上の結果は多項分布が
理と呼ぶ.

2

𝑛 が大きなときに多変量正規分布で近似できることを意味している. この結果を多項分布の中心極限定

𝑟 = 2 のとき, 0 ≦ 𝑝 ≦ 1, 𝑘/𝑛 = 𝑝 + 𝑥/√⎯𝑛 + 𝑜(1/√⎯𝑛) のとき,
1 𝑥2 + (−𝑥)2
𝑥2
exp
−
exp
−
𝑝 1 − 𝑝 )) 𝑑𝑥 = ( 2𝑝(1 − 𝑝) ) 𝑑𝑥.
𝑛 𝑝𝑘 (1 − 𝑝)𝑛−𝑘 𝑑𝑘 ∼ ( 2 (⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
(𝑘)
− 𝑝)⎯
√2𝜋𝑝(1 − 𝑝)⎯√⎯2𝜋𝑝(1
この結果を二項分布の中心極限定理と呼ぶ. □二項分布の中心極限定理:

より一般の場合の中心極限定理の証明については
黒木玄, 確率論入門 (https://genkuroki.github.io/documents/IntroProbability.pdf)の第2.4節を参照せよ. 本質的にTaylorの定理のみを使って中心極限定理は証明される. (積率母函数や特性函数の理論(本質的にFourier-Laplace解析の理論)を使わなくても証明できる.)
問題: 二項分布の中心極限定理を実際にグラフをプロットすることによって確認せよ.
次のセルを見よ.

□In [6]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

binomcoeff(n,k) = exp(lgamma(n+1)-lgamma(k+1)-lgamma(n-k+1))
pdfbinom(n,p,k) = 0 ≤ k ≤ n ? binomcoeff(n,k)*p^k*(1-p)^(n-k) : 0.0
pdfnormal(n,p,x) = exp(-x^2/(2p*(1-p)))/√(2π*n*p*(1-p))​
PP = []for (n,p,l) in [(6, 0.4, :bottom), (12, 0.4, :topright), (25, 0.4, :topright), (50, 0.4,
k = 0:nkk = 0:n/400:n
x = (kk .- n*p)./√n
P = plot(legend=l, legendfontsize=7, xlabel="k")scatter!(k, pdfbinom.(n,p,k), label="Bin($n, $p)", markersize=2.5)
plot!(kk, pdfnormal.(n,p,x), label="Normal dist", lw=1.5, ls=:dash)push!(PP, P)
endplot(PP..., size=(800, 600))

Out[6]:In [ ]:



1 ​