機械学習に詳しくなりたいブログ

機械学習や数学について勉強した内容を中心に書きます。100%趣味です。記事は数学的に厳密でなかったり誤りを含んでいるかもしれません。ご指摘頂ければ幸いです。

ガウス過程による分類(4)

ガウス過程による分類(3)の続き。

p(\mathbf{a}_{N}|\mathbf{t}_{N})のラプラス近似を考えている途中です。ラプラス近似のため、p(\mathbf{a}_{N}|\mathbf{t}_{N})の正規化項目を無視し、対数をとったものを


\Psi(\mathbf{a}_{N}) = \ln  p(\mathbf{t}_{N} | \mathbf{a}_{N}) + \ln p(\mathbf{a}_{N}) \tag{1}

とすれば、これは


\displaystyle \Psi(\mathbf{a}_{N}) = \ln  \prod_{n=1}^{N} \exp(a_{n}t_{n}) \sigma(-a_{n}) + \ln N(\mathbf{a}_{N}|\mathbf{0},\mathbf{C}_{N}) \tag{2}

となりました。

ここからが今回の話。N(\mathbf{a}_{N}|\mathbf{0},\mathbf{C}_{N})は、多変量正規分布の式(5)より


\displaystyle N(\mathbf{a}_{N}|\mathbf{0},\mathbf{C}_{N}) = \frac{1}{\sqrt{(2 \pi)^{N} \det \mathbf{C_{N}}}} \exp(-\frac{1}{2}\mathbf{a}_{N}^{T} \mathbf{C}_{N}^{-1} \mathbf{a}_{N}) \tag{3}

です。そして\sigmaはシグモイド関数ですから、式(2)は


\displaystyle \Psi(\mathbf{a}_{N}) = \ln  \prod_{n=1}^{N} \frac{\exp(a_{n}t_{n})}{1+\exp(a_{N})} + \ln \frac{1}{\sqrt{ (2 \pi)^{N} \det \mathbf{C_{N}} }} \exp(-\frac{1}{2}\mathbf{a}_{N}^{T} \mathbf{C}_{N}^{-1} \mathbf{a}_{N}) \tag{4}

です。これを展開してけば、


\begin{eqnarray*}
\displaystyle \Psi(\mathbf{a}_{N}) &=& \sum_{n=1}^{N}  \ln  \frac{e^{a_{n}t_{n}} }{1+e^{a_{n}}} + \ln \frac{1}{\sqrt{ (2 \pi)^{N} \det \mathbf{C_{N}} }} + \ln \exp(-\frac{1}{2}\mathbf{a}_{N}^{T} \mathbf{C}_{N}^{-1} \mathbf{a}_{N}) \tag{5}  \\
&=& \sum_{n=1}^{N}  \ln  e^{a_{n}t_{n}} - \sum_{n=1}^{N} \ln (1+e^{a_{n}}) - \frac{1}{2}\ln (2 \pi)^{N} \det \mathbf{C_{N}} - \frac{1}{2}\mathbf{a}_{N}^{T} \mathbf{C}_{N}^{-1} \mathbf{a}_{N} \tag{6} \\
&=& \sum_{n=1}^{N}   a_{n}t_{n} - \sum_{n=1}^{N} \ln \frac{1}{\sigma(-a_{n})} - \frac{N}{2} \ln 2 \pi - \frac{1}{2} \ln \det \mathbf{C_{N}} - \frac{1}{2}\mathbf{a}_{N}^{T} \mathbf{C}_{N}^{-1} \mathbf{a}_{N} \tag{7} \\
&=&  \mathbf{t}_{N}^{T} \mathbf{a}_{N} +  \sum_{n=1}^{N} \ln \sigma(-a_{n})  - \frac{N}{2} \ln 2 \pi - \frac{1}{2} \ln \det \mathbf{C_{N}} - \frac{1}{2}\mathbf{a}_{N}^{T} \mathbf{C}_{N}^{-1} \mathbf{a}_{N} \tag{8} 
\end{eqnarray*}

です。ラプラス近似をするためには、 \nabla \Psi(\mathbf{a}_{N}^{\prime})=\mathbf{0}となる点 \mathbf{a}_{N}^{\prime} と、\nabla\nabla \Psi(\mathbf{a}_{N}^{\prime})の値が必要になります。それが求められれば、p(\mathbf{a}_{N}|\mathbf{t}_{N})


\displaystyle p(\mathbf{a}_{N}|\mathbf{t}_{N}) \simeq p(\mathbf{a}_{N}^{\prime}|\mathbf{t}_{N}) \exp \left\{  -\frac{1}{2}(\mathbf{a}_{N} - \mathbf{a}_{N}^{\prime})^{T} \mathbf{H}(\mathbf{a}_{N}-\mathbf{a}_{N}^{\prime}) \right\} \tag{9}

と近似できます。ここで\mathbf{H}=-\nabla\nabla \Psi(\mathbf{a}_{N}^{\prime})です。さらに、p(\mathbf{a}_{N}|\mathbf{t}_{N})は確率密度関数ですから、


\begin{eqnarray*}
\displaystyle p(\mathbf{a}_{N}|\mathbf{t}_{N}) &\simeq& \frac{1}{\sqrt{ (2 \pi)^{N} \det \mathbf{H}^{-1} }} \exp \left\{  -\frac{1}{2}(\mathbf{a}_{N} - \mathbf{a}_{N}^{\prime})^{T} \mathbf{H}(\mathbf{a}_{N}-\mathbf{a}_{N}^{\prime}) \right\} \tag{9}\\
&\simeq& N(\mathbf{a}_{N}|\mathbf{a}_{N}^{\prime},\mathbf{H}^{-1}) \tag{10}
\end{eqnarray*}

と書けます。

さて、 \mathbf{a}_{N}^{\prime} を求めていきたいのですが、これは解析的に求めることができないためニュートン法(多変数の場合)を使います。続きはガウス過程による分類(5)