#1.6.1 相対エントロピーと相互情報量#
情報理論の概念をパターン認識と関係付けてみよう!
##相対エントロピー(KLダイバージェンス)##
相対エントロピーとは、2つの確率分布の差異を計る尺度
未知の分布$p(x)$を近似的に$q(x)$でモデル化したとき、xの値を特定するのに必要な追加情報の平均は、
KL(p||q)=-\int p(x) ln q(x)dx - (-\int p(x) ln p(x)dx)=-\int p(x)ln\frac {q(x)}{p(x)}dx\quad(1.113)
これを$p(x)とq(x)$の**相対エントロピー(KLダイバージェンス)**という
###KLダイバージェンスの性質###
$ ・KL(p||q)≠KL(q||p)$
$・KL(p||q)\geq 0$ (等号成立は$p(x)=q(x)$の時に限る)
$KL(p||q)\geq 0$の性質が正しいことを示すために凸関数の概念を導入する
####凸関数とは####
関数f(x)で、全ての弦が関数に乗っているか関数より上にある関数
区間内の任意の $a$,$b$ と $λ(0≤λ≤1)$ に対して、以下が成立
f(λa+(1-λ)b)\leq λf(a)+(1-λ)f(b)\quad(1.114)
・(1.114)の等号成立が$λ=0,1$のみの時、真に凸という
・$f(x)$が真に凸の時、$f(x)''$(2階微分)が常に正
・$f(x)$が凸関数ならば、$-f(x)$は凹関数
####イェンセンの不等式####
f(x) が凸関数のとき、任意の$λi\geq0, x_i(i=1,⋯,n), \sum_{i=1}^{n}λ_i=1$ に対して,
f(\sum_{i=1}^{M}λ_ix_i)\leq\sum_{i=1}^{M} λ_i f(x_i)\quad(1.115)
これをイェンセンの不等式という
数学的帰納法による証明:https://mathtrain.jp/jensen_proof
$λ_i$を{$x_i$}をとる確率変数$x$上の確率分布$p(x)$とすると
(離散変数)f(E[x])\leq E[f(x)]\quad(1.116)\\
(連続変数) f(\int p(x)dx)\leq\int f(x)p(x)dx\quad(1.117)
これをKLダイバージェンスに適用する
$-lnx$が凸関数であることと$\int f(x)p(x)dx=1$より、KLダイバージェンス$KL(p||q)\geq 0$が示せる
KL(p||q)=-\int p(x)ln\frac {q(x)}{p(x)}dx\geq-ln\int q(x)dx=0\quad(1.118)
計算過程:http://d.hatena.ne.jp/sleepy_yoshi/20110720/p1
###KLダイバージェンスと推定問題###
データの分布$p(x)$(未知)をパラトリックな分布$q(x|θ)$でモデル化してみる
この時、$KL(p||q)$を$θ$について最小化すれば、$q(x|θ)$を$p(x)$に最も近似できる
ただし、$p(x)$の分布は未知なので$p(x)$から得られた有限個のデータ$x_n${$n=1,2,...,N$}を使って$KL(p||q)$を近似する(1.35より)
KL(p||q)≃\frac{1}{N}\sum (-ln q(x_n|θ) + ln p(x_n) )\quad(1.119)
$ln p(x_n)$を求めることはできないが、$θ$とは無関係であり、
KLダイバージェンス最小化は対数尤度関数の最大化に等しい
###相互情報量###
2つの変数集合x,yの同時分布p(x,y)に対し
・x,yが独立の場合、$p(x,y)=p(x)p(y)$
・x,yが独立でない場合、「どれくらい独立に近いか」を測るため$KL(p(x,y)||p(x)p(y))$を利用できる
I[x,y]≡KL(p(x,y)||p(x)p(y))=-\int\int p(x,y)ln(\frac{p(x)p(y)}{p(x,y)})dxdy\quad(1.120)
この$I[x,y]$を$x,y$間の相互情報量と呼ぶ
確率の加法・乗法定理から、
I[x,y]=H[x]-H[x|y]=H[y]-H[y|x]\quad(1.121)
であり、yの値を知ることによって、xに関する不確実性がどれだけ減少するかを表している
ベイズ的に言えば、$p(x)$は$x$の事前分布、$p(x|y)$は新たなデータ$y$を観測した後の事後分布
#第2章 確率分布 概要#
標本データから、確率変数の確率分布を推定(密度推定)したい
少数のパラメータのみで確率分布が決まる?
決まる⇨パラメトリック(2.1~2.4)
決まらない⇨ノンパラメトリック(2.5)
パラメトリックの場合
どうやってパラメーターを推定する?
・最尤推定
・ベイズ推論
重要な確率分布の性質を用いる(2.4)
・共役事前分布
・指数型分布族
・十分統計量
ノンパラメトリックの場合(2.5)
パラメーターは分布の形状ではなく複雑さを調整する
手法の紹介
・ヒストグラム
・最近傍法
・カーネル
#2.1 二値変数#
##ベルヌーイ分布##
ある事象Xが、$x = 0$、$x = 1$ の2通りのみの結果しかありえない場合
(例)コイン投げ 表:$x = 1$、裏:$x = 0$
表が出る確率をパラメータ$μ$で表すと$P(x=1|μ) = μ$, 裏が出る確率$P(x=0|μ) = 1-μ$となる
このとき、確率変数$x$ はベルヌーイ分布 (Bernoulli distribution) に従う
Bern(x|μ)=μ^x(1-μ)^{1-x}\quad(2.2)
####ベルヌーイ分布の性質####
期待値:E[X] = μ \quad(2.3)\\
分散:Var(X) = μ(1-μ)\quad(2.4)
####ベルヌーイ分布の最尤推定####
尤度関数:P(D| μ)=\prod_{n=1}^NP(x_n|μ)=\prod_{n=1}^Nμ^{x_n}(1-μ)^{1-x_n}\quad(2.5)\\
対数尤度関数:lnP(D|μ)=\sum_{n=1}^NlnP(x_nμ)=\sum_{n=1}^N(x_nlnμ+(1-x_n)ln(1-μ))\quad(2.6)\\
最尤推定量:μ_{ML}=\frac{1}{N}\sum_{n=1}^Nx_n\quad(2.7)
また、$x=1$となった回数をmと置けば、(2.7)は以下の通りになる
μ_{ML}=\frac{m}{N}\quad(2.8)
ただし、最尤推定を用いると常識ではあり得ないような結果を示す、極端な過学習を起こすことがある
ベイズ推定を用いて、もっと常識的な結果を得ることができる方法は後程、、、
十分統計量:https://stats.biopapyrus.jp/glm/sufficient-statistic.html
ベルヌーイ分布の正規化・平均・分散:http://prml.2apes.com/2-1-%E3%83%99%E3%83%AB%E3%83%8C%E3%83%BC%E3%82%A4%E5%88%86%E5%B8%83%E3%81%AE%E6%AD%A3%E8%A6%8F%E5%8C%96/
##二項分布##
引き続きコインの例で、$x=1$となった回数mの分布を考える
これを二項分布という
$\binom{N}{m}$を総数が$N$個の同じ対象から、$m$個の対象を選ぶ場合の数とすると
Bin(m|N,μ) = \binom{N}{m} μ^{m}(1-μ)^{N-m}\quad(2.9)
####二項分布の性質####
期待値:E[m] = Nμ \quad(2.11)\\
分散:Var(m) = Nμ(1-μ)\quad(2.12)
二項分布の平均・分散:https://mathtrain.jp/bin
##2.1.1 ベータ分布##
最尤推定はデータ数が少ないと過学習を起こしがちなので、ベイズ主義的に扱いたい!
⇨パラメーター$μ$を確率変数と考え、事前分布$p(μ)$を導入する
このとき、事前分布は数学的に便利なよう、恣意的に決められる
モデルとして妥当で、解析的に便利で、簡潔に解釈されるものがいいな
『事後分布 ∝ 事前分布 × 尤度関数』であり、二項分布の尤度関数は$μ^x(1-µ)^{1-x}$の形の因数の積である
つまり、『事前分布 ∝ $µ$と$1-µ$の冪乗』なら事前分布と事後分布は同じ関数形式になる!
この性質を共役性といい、計算やベイズの更新が楽になる等の利点があるけど詳しくは2章4節で
共役事前分布:https://to-kei.net/bayes/conjugate-prior-distribution/
といことで、二項分布と共役性のあるベータ分布を事前分布に選びましょう
Beta(μ|a,b)=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}μ^{a-1}(1-μ)^{b-1} \quad(2.13)
・hyperパラメーターa,bは、それぞれ$x=1$,$x=0$の有効観測数として解釈できる
・$\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}$ベータ分布が正規化されていること保証している
※$\Gamma(x)$は$\Gamma(x)=\int^∞_0t^{x−1}e^{−t}dt$(1.141)で定義されるガンマ関数
ガンマ関数:https://risalc.info/src/gamma-function.html
$a$と$b$を色々な値にした時の$Bera(µ|a,b)$のグラフ
####ベータ分布の性質####
期待値:E[m] = \frac{a}{a+b} \quad(2.15)\\
分散:Var(m) = \frac{ab}{(a+b)^2(a+b+1)}\quad(2.16)
####逐次学習####
新たなデータが観測されるごとに事後分布を更新する
上図は1段階のみの更新を示したもの
・逐次学習はデータが独立分布に従えば成立する
・共役事前分布を選択しておくことで、事後分布を次の更新時の事前分布とすることができる
・データが揃う前に予測しないといけないときに便利
・処理し終わったデータは捨てていいので、全てのデータ分メモリを確保しなくていい
####コイントスの結果を予測したい####
$\mu$の分布はいいから、手元のデータを元に次のコイントスの結果を予測したいなあ
⇨興味があるのは$p(\mu)$ ではなくて$p(x = 1 \mid D)$
p(x=1∣D)=\int_0^1p(x=1∣μ)p(μ∣D)dμ=\int_0^1μp(μ∣D)dμ
=E[\mu∣D]\quad(2.19)\\
p(x=1∣D)=\frac{m+a}{N+a+l+b}\quad(2.20)
有限のデータでは事後分布の平均値(2.20)は常に最尤推定値と事前平均の間にある
無限に大きなデータ集合では、(2.20)の結果は最尤推定の結果(2.8)と等しくなる
####ベイズ学習の特性####
多くのデータを観測すればするほど、事後分布が示す不確実性は恒常的に減少する
それって一般的なのものなの?
同時確率$p(θ,D)$で記述されたデータ集合$D$を観測した時に、
パラメーター$θ$をベイズ推論する、一般的な問題について考える
E_θ[θ]=E_D[E_θ[θ∣D]]\quad(2.21)\\
var_θ[θ]=E_D[var_θ[θ∣D]]+var_D[E_θ[θ∣D]]\quad(2.24)
・データを生成する分布の上で事後平均を平均すると事前平均になる
・事後分散の平均と事後平均の分散を足すと事前分散になる
(らしい)
計算過程参考:https://heavywatal.github.io/lectures/prml-2-1.html
ただし、この結果は平均的に成り立つだけで『事後分散>事前分散』の場合もある!
#2.2 多値変数#
相互に排他的なK個の可能な状態のうち1つを取るような離散確率変数を多値変数という(例:サイコロ)
また、要素の1つ$x_k$が1で、残り全ては0であるようなK次元ベクトルを1-of-K 符号化法という(例:サイコロで3が出た $\vec{x} =(0,0,1,0,0,0)^T$)
$x_k = 1$となる確率$\mu_k$とすると、$\vec{x}$の確率分布は
p(\vec{x}∣\vec{\mu})=\prod^K_{k=1}\mu_k^{x_k}\quad(2.26)
この分布はベルヌーイ分布を二種類以上の出力に一般化したものであり、
\sum_\vec{x}p(\vec{x}∣\vec{\mu})=\sum^K_{k=1}\mu_k=1\quad(2.27)\\
E[\vec{x}∣\vec{\mu}]=\sum_{x}p(\vec{x}∣\vec{\mu})\vec{x}=\vec{\mu}\quad(2.28)
また、尤度関数はK個の十分統計量$m_k=\sum_nx_{nk}$で表現される
p(D∣\vec{\mu})=\prod^N_{n=1}\prod^K_{k=1}\mu_k^{x_{nk}}=\prod^K_{k=1}\mu_k^{\sum_nx_{nk}}=\prod^K_{k=1}\mu_k^{mk}\quad(2.29)
ラグランジュ乗数λを用いて、対数尤度の最大化を行うと
\mu_k^{ML}=\frac{m_k}{N}\quad(2.33)
結局、観察総数 N のうち$x_k=1$である割合が最尤推定値となる
##多項分布##
パラメーター$\vec\mu$と観測総数$N$が条件のもとでの$m_1,....,m_k$の同時確率を多項分布という
Mult(m_1,....,m_k|\vec\mu,N)=\binom{N}{m_1,m_2,....,m_k}\prod^K_{k=1}\mu_k^{m_k}\quad(2.34)
変数$m_k$は次の制約に従う
\sum^K_{k=1}m_k=N\quad(2.36)