ChunPom’s diary

数学、物理、機械学習に関する話題。あと院試、資格、大学入試まで。

ベイズ推定の理論の基礎1

ベイズ推定を用いて、データ {\displaystyle X^n}(n個の測定データ) から、{\displaystyle x} の従う確率分布を求めることを考える。

真の分布を {\displaystyle q(x)} とし、用いる確率モデルを {\displaystyle p(x|w)} としよう。ここで {\displaystyle w} はモデルのパラメータである。ベイズ理論により、{\displaystyle w} に対する事後分布は以下のように書ける。

{\displaystyle p(w|x^n)=\frac{1}{Z_n(\beta)}\phi(w)\Pi_{i=1}^{n}p(X_i|w)^{\beta}} 

ここで {\displaystyle \phi(w)} は事前分布であり、{\displaystyle Z_n(\beta)} は規格化のために導入された分配関数である。

さて、最適な {\displaystyle w} を求めたいわけだが、どのように決めてやれば良いのか。損失関数を定義しその最小値を与えるもの、と決めることができそうだが、得てしてその値が過学習に陥ってしまったり、解が複数存在してどれを選択すべきかわからない!といった場合もある。

そこで、{\displaystyle w} を適切に評価するには、以下の諸関数の導入が必要となる。ここでは、定義だけ述べて、具体的な計算は後日行うことにする。

自由エネルギー

{\displaystyle F_n(\beta)=-\frac{1}{\beta}\log{Z_n(\beta)}.} 

汎化損失

{\displaystyle G_n=-E_{q(X)}[\log{E_{w}[p(X|w)]}].} 

経験損失

{\displaystyle T_n=-\frac{1}{n}\sum_{i=1}^{n}\log{E_{w}[p(X|_iw)]}.} 

平均対数損失関数

{\displaystyle L(w)=-E_{q(X)}[\log{p(X|w)}].} 

経験対数損失関数

{\displaystyle L_n(w)=-\frac{1}{n}\sum_{i=1}^{n}\log{E_w[p(X_i|w)]}.} 

 

以下、平均対数損失関数を最小にするパラメータの一つを {\displaystyle w=w_0}とする。 

対数尤度比関数は 

{\displaystyle f(x,w)=\log{\frac{p(x|w_0)}{p(x|w)}}.} 

平均誤差関数

{\displaystyle K(w)=E_{q(X)}[f(X,w)].} 

経験誤差関数

{\displaystyle K_n(w)=\frac{1}{n}\sum_{i=1}^{n}f(X_i,w).} 

 これらの誤差関数は、定義から明らかに

{\displaystyle K(w)=L(w)-L(w_0),\ \ K_n(w)=L_n(w)-L_n(w_0).} 

 を満足する。

また、経験誤差関数を用いると、上述の事後分布は

{\displaystyle p(w|x^n)=\frac{1}{Z_n^{'}}\phi(w)exp(-n\beta K_n(w))} 

と表すことができる。ここで新たな規格化定数を使用した。 

 

真の分布 {\displaystyle q(x)} が判明している時のベイズ推定の基本的なフローは、

① 事前分布と確率モデルを決める

② 平均対数損失関数を最小にするパラメータ{\displaystyle w_0} を求める

③ 経験誤差関数を求める

④ 分配関数を求め、事後分布を得る

⑤ 自由エネルギー、汎化損失、経験損失を求める

である。

ただし、真の分布がわからない時には、②や④の計算は困難になるだろう。その場合には、経験対数損失関数の最小を求めるなどの近似が必要となってくる。