機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

ベイズモデル比較

ベイズモデル比較

本記事では、ベイズの立場からモデル比較の問題を考えます。

L個のモデル\{\mathcal{M}_i\}(i=1,\ldots,L)を比較する場合を考えます。
観測されたデータを\mathcal{D}とします。
モデルの不確かさは、事前確率分布p({\mathcal{M}_i})で表します。
この時、モデルの事後分布は

\begin{eqnarray}
p(\mathcal{M}_i|\mathcal{D})\propto p(\mathcal{M}_i)p(\mathcal{D}|\mathcal{M}_i)\tag{1}
\end{eqnarray}

となります。

簡単のため、すべてのモデルの事前分布p(\mathcal{M}_i)が等しい場合を考えます。
ベイズモデル比較では、モデルエビデンスp(\mathcal{D}|\mathcal{M}_i)と呼ばれる項が重要な働きをします。
モデルエビデンスは周辺尤度とも呼ばれます。
2つのモデルに対するエビデンスの比p(\mathcal{D}|\mathcal{M}_i)/p(\mathcal{D}|\mathcal{M}_j)ベイズ因子と呼ばれます。

モデルの事後分布が分かれば、予測分布は以下のようになります。

\begin{eqnarray}
p(t|{\bf x},\mathcal{D})=\sum_{i=1}^Lp(t|{\bf x},\mathcal{M}_i,\mathcal{D})p(\mathcal{M}_i|\mathcal{D})\tag{2}
\end{eqnarray}

モデル平均の単純な近似は、一番尤もらしいモデルを1つ選ぶ方法です。
これをモデル選択と言います。

パラメータ\bf wを持つモデルに対しては、周辺尤度は以下で与えられます。

\begin{eqnarray}
p(\mathcal{D}|\mathcal{M}_i)=\int p(\mathcal{D}|{\bf w},\mathcal{M}_i)p({\bf w}|\mathcal{M}_i){\rm d}{\bf w}\tag{3}
\end{eqnarray}

また、周辺尤度は事後分布を計算するときの分母に現れる正規化定数でもあります。

\begin{eqnarray}
p({\bf w}|\mathcal{D},\mathcal{M}_i)=\frac{p(\mathcal{D}|{\bf w},\mathcal{M}_i)p({\bf w}|\mathcal{M}_i)}{p(\mathcal{D}|\mathcal{M}_i)}\tag{4}
\end{eqnarray}

周辺尤度の近似

パラメータに関する積分を単純近似することにより、周辺尤度の別の解釈ができます。

パラメータがwが1つであるとします。簡単のためモデル\mathcal{M}_iの依存性を省略します。
このとき、事後分布は以下のようになります。

\begin{eqnarray}
p(w|\mathcal{D})\propto p(\mathcal{D|w})p(w)\tag{5}
\end{eqnarray}

事後分布が最頻値w_{MAP}の近傍で鋭く尖っている時、その幅を\Delta w_{posterior}で表せば、
全体の積分は幅\Delta w_{posterior}で近似できます。
さらに、事前分布が平坦で幅\Delta w_{prior}のとき、p(w)=1/{\Delta w_{prior}}なので、

\begin{eqnarray}
p(\mathcal{D})=\int p(\mathcal{D}|w)p(w){\rm d}w\simeq p(\mathcal{D}|w_{MAP})\frac{\Delta w_{posterior}}{\Delta w_{prior}}\tag{5}
\end{eqnarray}

となります。
(5)p(\mathcal{D}|w)=p(\mathcal{D}|w_{MAP}),p(w)=1/{\Delta w_{prior}},{\rm d}w=\Delta w_{posterior}と考えると分かりやすいです。
対数を取ります。

\begin{eqnarray}
\ln p(\mathcal{D})\simeq \ln p(\mathcal{D}|w_{MAP})+\ln\left(\frac{\Delta w_{posterior}}{\Delta w_{prior}}\right)\tag{6}
\end{eqnarray}

これを図で表すと、以下のようになります。

f:id:olj611:20210401151346p:plain:w400

モデルがM個のパラメータを含むときの周辺尤度の近似は、
すべてのパラメータが同じ比\frac{\Delta w_{posterior}}{\Delta w_{prior}}を持つとき、

\begin{eqnarray}
\ln p(\mathcal{D})\simeq \ln p(\mathcal{D}|{\bf w}_{MAP})+M\ln\left(\frac{\Delta w_{posterior}}{\Delta w_{prior}}\right)\tag{7}
\end{eqnarray}

となります。

周辺尤度最大化により、中間程度の複雑さのモデルが選ばれやすい理由

なぜ周辺尤度最大化により、中間程度の複雑さのモデルが選ばれやすいかを説明します。
以下の図を用いて説明します。

f:id:olj611:20210401160655p:plain:w400

複雑さが単調増加の関係にある3つのモデル\mathcal{M}_1,\mathcal{M}_2,\mathcal{M}_3を考えます。

単純なモデル\mathcal{M}_1は自由度が少ないため、生成されるデータ集合は多様性に乏しいです。
したがって、その分布p(\mathcal{D})は横軸の比較的狭い領域に集中します。

複雑なモデル\mathcal{M}_3は非常に多様なデータ集合を生成することができます。
したがって,その分布p(\mathcal{D})は広範囲に広がります。

よって、あるデータ集合\mathcal{D}_0に対しては、
中間的な複雑さを持つモデルのエビデンスが最大になることがあります。

本質的に単純過ぎるモデルはデータにうまくフィットできないことが多く、
一方、複雑過ぎるモデルは予測分布があまりに広範に分布するため、
データ集合のどれかに割り当てられる確率は相対的に低いです。

周辺尤度が大きい方が正しいモデルである理由

ベイズモデルの比較の枠組みでは、真の分布が含まれていると暗に仮定しています。
2つのモデル\mathcal{M}_1,\mathcal{M}_2があり、\mathcal{M}_1が正しいモデルだと仮定します。
ベイズ因子をデータの集合の分布に対して、平均します。

\begin{eqnarray}
\int p(\mathcal{D}|\mathcal{M}_1)\ln\frac{p(\mathcal{D}|\mathcal{M}_1)}{p(\mathcal{D}|\mathcal{M}_2)}{\rm d}\mathcal{D}\geq 0\tag{8}
\end{eqnarray}

(8)はKLダイバージェンスなので、0以上です。

つまり、正しいモデルに対して、平均的に

\begin{eqnarray}
\left\langle\frac{p(\mathcal{D}|\mathcal{M}_1)}{p(\mathcal{D}|\mathcal{M}_2)}\right\rangle_{p(\mathcal{D}|\mathcal{M}_1)}\geq 1\tag{9}\\
\end{eqnarray}

なので、正しいモデルのベイズ因子の方が大きくなります。

偉人の名言

f:id:olj611:20210403002543p:plain:w300
人生における失敗者の多くは、諦めた時にどれだけ成功に近づいていたかに気付かなかった人たちである。
トーマス・エジソン

参考書籍

パターン認識機械学習 上巻

動画

なし

目次へ戻る