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

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

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

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


\displaystyle \Psi(\mathbf{a}_{N})=  \mathbf{t}_{N}^{T} \mathbf{a}_{N} -  \sum_{n=1}^{N} \ln (1+e^{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{1}

と求められましたので、ラプラス近似をするため、まずは \nabla \Psi(\mathbf{a}_{N}^{\prime})=\mathbf{0}となる点 \mathbf{a}_{N}^{\prime} を求めます。

2次形式の微分公式*1を用いれば、


\begin{eqnarray*}
\nabla \Psi(\mathbf{a}_{N}) &=& \mathbf{t}_{N} - \boldsymbol {\sigma}_{N} - \frac{1}{2}(\mathbf{C}_{N}+(\mathbf{C}_{N}^{-1})^{T})\mathbf{a}_{N} \tag{2}\\
&=& \mathbf{t}_{N}-\boldsymbol {\sigma}_{N}-\mathbf{C}_{N}^{-1}\mathbf{a}_{N} \tag{3}
\end{eqnarray*}

となります。ここで \boldsymbol {\sigma}_{N} = (\sigma(a_{1}), \cdots, \sigma(a_{N})) です。\ln (1+e^{a_{n}})を微分していけばシグモイド関数が現れます。

ここで、式(3)の\boldsymbol {\sigma}_{N}の中にもa_{i} が含まれていますから、解析的に求めることができません。そこでニュートン法(多変数の場合)を用います。

ニュートン法の更新式は、ニュートン法(多変数の場合)の式(6)より、


\mathbf{x} = \mathbf{x}^{\prime} - \bar{\mathbf{H}}^{-1} \nabla \bar{f} \tag{4}

でした。ここで、 \bar{\mathbf{H}}^{-1}\nabla \bar{f}は、点\mathbf{x}^{\prime}における\mathbf{H}^{-1}\nabla fを表します。したがって、\nabla \Psi(\mathbf{a}_{N})=\mathbf{0}となる点\mathbf{a}^{\prime}を求める更新式は、


\mathbf{a}_{N}^{new} = \mathbf{a}  -\nabla\nabla\Psi(\mathbf{a}_{N})\nabla\Psi(\mathbf{a}_{N}) \tag{5}

となります。\nabla\nabla\Psi(\mathbf{a}_{N})は、式(3)をもう1度微分すれば、


\nabla\nabla\Psi(\mathbf{a}_{N}) = -\mathbf{W}_{N}  -\mathbf{C}_{N}^{-1} \tag{6}

です。\boldsymbol {\sigma}_{N}の微分は、ベクトルをベクトルで微分の定義とヘッセ行列の式(1)の定義より計算し、


\mathbf{w}_{N} =  \left(
    \begin{array}{cccc}
      \sigma(a_{1})(1-\sigma(a_{1})) &  & & 0 \\
       &  & \ddots &  \\
       0 &  &  & \sigma(a_{N})(1-\sigma(a_{N}))
    \end{array}
  \right) \tag{9}

です。

ここで、シグモイド関数\sigma[0,1]の範囲の値をとります。対角行列の固有値は対角成分そのものですから、\mathbf{w}_{N}正定値行列であることがわかります。また、\mathbf{C}_{N}ガウス過程による分類(2)の式(8)より正定値行列です。そして正定値行列の逆行列より\mathbf{C}_{N}^{-1}もまた正定値行列です。さらに正定値行列の和も正定値行列ですから、\nabla\nabla\Psi(\mathbf{a}_{N})は負定値行列であることがわかります。するとヘッセ行列で最大/最小値の存在を判定より、2次関数のヘッセ行列が負定値行列の場合は唯一の最大値を持ちますから、\Psi(\mathbf{a}_{N})は唯一の最適解を持っているといえます。

さて、式(3)と式(6)より、更新式の式(5)は、


\mathbf{a}_{N}^{new} = \mathbf{a}_{N} - (-\mathbf{W}_{N}- \mathbf{C}_{N}^{-1})(\mathbf{t}_{N}-\boldsymbol {\sigma}_{N}-\mathbf{C}_{N}^{-1}\mathbf{a}_{N}) \tag{10}

となります。このまま使うと何か数値計算的に問題があるのか?計算量の無駄があるのか?わかりませんが、参考書ではさらに式変形をします。


\begin{eqnarray*}
式(10)  &=& (\mathbf{W}_{N} + \mathbf{C}_{N}^{-1})^{-1} \left\{ (\mathbf{W}_{N}+ \mathbf{C}_{N}^{-1})\mathbf{a}_{N} + \mathbf{t}_{N} - \boldsymbol{\sigma}_{N}- \mathbf{C}_{N}^{-1}\mathbf{a}_{N} \right\} \tag{11}\\
&=&  (\mathbf{W}_{N} + \mathbf{C}_{N}^{-1})^{-1}  (\mathbf{W}_{N}\mathbf{a}_{N} + \mathbf{t}_{N} - \boldsymbol{\sigma}_{N}) \tag{12}\\
&=&  (\mathbf{W}_{N} + \mathbf{C}_{N}\mathbf{C}_{N}^{-1} + \mathbf{C}_{N}^{-1})^{-1}  (\mathbf{W}_{N}\mathbf{a}_{N} + \mathbf{t}_{N} - \boldsymbol{\sigma}_{N}) \tag{13}\\
&=& \left\{ (\mathbf{W}_{N}\mathbf{C}_{N}+\mathbf{I} ) \mathbf{C}_{N}^{-1}) \right\}^{-1}  (\mathbf{W}_{N}\mathbf{a}_{N} + \mathbf{t}_{N} - \boldsymbol{\sigma}_{N}) \tag{14}\\
&=& \mathbf{C}_{N} (\mathbf{W}_{N}\mathbf{C}_{N}+\mathbf{I} )^{-1}  (\mathbf{W}_{N}\mathbf{a}_{N} + \mathbf{t}_{N} - \boldsymbol{\sigma}_{N}) \tag{15}\\
\end{eqnarray*}

となります。式(14)→式(15)の式変形には逆行列の定理の式(1)を使っています。

ガウス過程による分類(4)の最後の部分と重複しますが、これにより求められる \nabla \Psi(\mathbf{a}_{N}^{\prime})=\mathbf{0}となる点 \mathbf{a}_{N}^{\prime} を用いて、


p(\mathbf{a}_{N}|\mathbf{t}_{N}) \simeq N(\mathbf{a}_{N}|\mathbf{a}_{N}^{\prime}, \mathbf{H}^{-1})\tag{16}

と書けます。ここで\mathbf{H}=-\nabla\nabla\Psi(\mathbf{a}_{N}^{\prime})です。

続き:ガウス過程による分類(6)

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

概要

前回の以下の記事の続きです。

www.iwanttobeacat.com

前回までのおさらい

訓練データ\mathbf{x}=\{\mathbf{x}_{1},\cdots,\mathbf{x}_{N} \}\mathbf{t}_{N}=(t_1,\cdots,t_{N})^{T}が与えられたとき、新たな入力\mathbf{x}_{N+1}に対するt_{N+1}=1の確率、すなわちp(t_{N+1}=1 | \mathbf{t}_{N},\mathbf{x},\mathbf{x}_{N+1} )を求めることが目標です。そしてこれは、いくつかの式変形によって以下のように表せました。


\displaystyle p(t_{N+1}=1 | \mathbf{t}_{N} )= \int \underline{ p(t_{N+1}=1 |a_{N+1} ) }p(a_{N+1}|\mathbf{t}_{N}) d a_{N+1} \tag{1}

式(1)下線部はシグモイド関数の出力 \sigma(a_{N+1})ですが、p(a_{N+1}|\mathbf{t}_{N})は解析的に求めらません。これは


\displaystyle p(a_{N+1}|\mathbf{t}_{N}) = 
\begin{align}
\int 
  \underset{A} {\underline{p(a_{N+1}|\mathbf{a}_{N}) }}
 \,
  \underset{B} {\underline{p(\mathbf{a}_{N}|\mathbf{t}_{N}) }}
 d\mathbf{a}_{N}
\end{align}
 \tag{2}

と変形することができました。さらに式(2)下線部Aは


p(a_{N+1}|\mathbf{a}_{N}) = N(a_{N+1}| \mathbf{k}^{T}\mathbf{C}_{N}^{-1}\mathbf{a}_{N}, c- \mathbf{k}^{T}\mathbf{C}_{N}^{-1}\mathbf{k}) \tag{3}

と求めることができました。そして式(2)下線部Bのp(\mathbf{a}_{N}|\mathbf{t}_{N})ラプラス近似を使うために対数をとった\Psi(\mathbf{a}_{N})を考え、それが、


\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{4} \\

となりました。今回はこの計算の続きで、式中の正規分布の表現Nに定義通り代入して計算するのみです。そろそろおさらいのほうが長くなってきているという。

\Psi(\mathbf{a}_{N})の計算

式(4)におけるN(\mathbf{a}_{N}|\mathbf{0},\mathbf{C}_{N})は、多変量正規分布の式をそのままあてはめれば*1


\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{5}

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


\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{6}

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


\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{7}  \\
&=& \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{8} \\
&=& \sum_{n=1}^{N}   a_{n}t_{n} - \sum_{n=1}^{N} \ln (1+e^{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{9} \\
&=&  \mathbf{t}_{N}^{T} \mathbf{a}_{N} -  \sum_{n=1}^{N} \ln (1+e^{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{10} 
\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{11}

と近似できます。ここで\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{12}\\
&\simeq& N(\mathbf{a}_{N}|\mathbf{a}_{N}^{\prime},\mathbf{H}^{-1}) \tag{13}
\end{eqnarray*}

と書けます。

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

続きは次回

www.iwanttobeacat.com


19年11月の振り返り

11月も相場は好調。昨年は300万くらいマイナスだったので、1年かけて回復したという感じ。もともとはWeb収入の減少分を投資でカバーという作戦だったので、再スタートラインに立ったというところ。

19年11月の実績
Web収入 投信 前月比評価損益
630,362円 569,187円 1,199,549円
19年の累積
Web収入 投信評価損益 個別株
7,160,792‬円 2,811,288円 705,618円 10,677,698‬円

Woodburyの公式

以下の式


(\mathbf{A}+\mathbf{B}\mathbf{C}\mathbf{D})^{-1} = \mathbf{A}^{-1} - \mathbf{A}^{-1}\mathbf{B}(\mathbf{C}^{-1}+\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{D}\mathbf{A}^{-1} \tag{1}

は、Woodburyの公式と呼ばれます。左辺の計算より、右辺の計算が楽な場合において用いられるようです。

以下、導出を確認しました。

まず、(\mathbf{I}+\mathbf{P})^{-1}を考えます。


\begin{eqnarray*}
(\mathbf{I}+\mathbf{P})^{-1} &=& (\mathbf{I}+\mathbf{P})^{-1}(\mathbf{I}+\mathbf{P}-\mathbf{P}) \tag{3} \\
&=& (\mathbf{I}+\mathbf{P})^{-1} \left\{(\mathbf{I}+\mathbf{P})-\mathbf{P} \right\} \tag{4} \\
&=& \mathbf{I}-(\mathbf{I}+\mathbf{P})^{-1}\mathbf{P} \tag{5}
\end{eqnarray*}

です。次に \mathbf{P}+\mathbf{P}\mathbf{Q}\mathbf{P}を考えます。


\begin{eqnarray*}
\mathbf{P}+\mathbf{P}\mathbf{Q}\mathbf{P} &=& \mathbf{P}(\mathbf{I}+\mathbf{Q}\mathbf{P}) \tag{6} \\
&=& (\mathbf{I}+\mathbf{P}\mathbf{Q})\mathbf{P} \tag{7} \\
\end{eqnarray*}

ですから、式(6)、(7)より


 \mathbf{P} = (\mathbf{I}+\mathbf{P}\mathbf{Q}) \mathbf{P}  (\mathbf{I}+\mathbf{P}\mathbf{Q})^{-1} \tag{8}


 (\mathbf{I}+\mathbf{P}\mathbf{Q})^{-1} \mathbf{P} = \mathbf{P}  (\mathbf{I}+\mathbf{P}\mathbf{Q})^{-1} \tag{9}

です。

ここからが本題で、(\mathbf{A}+\mathbf{B}\mathbf{C}\mathbf{D})^{-1}を変形していきます。


\begin{eqnarray*}
(\mathbf{A}+\mathbf{B}\mathbf{C}\mathbf{D})^{-1} &=& \left\{ \mathbf{A}(\mathbf{I}+\mathbf{A}^{-1}\mathbf{B}\mathbf{C}\mathbf{D})\right\}^{-1} \tag{10}
\end{eqnarray*}

で、逆行列の定理の式(1)より、


式(10)= (\mathbf{I}+\mathbf{A}^{-1}\mathbf{B}\mathbf{C}\mathbf{D})^{-1}\mathbf{A}^{-1} \tag{11}

です。ここで式(5)を使えば、


式(11)= \left\{ \mathbf{I}-(\mathbf{I}+\mathbf{A}^{-1}\mathbf{B}\mathbf{C}\mathbf{D})^{-1}\mathbf{A}^{-1}\mathbf{B}\mathbf{C}\mathbf{D} \right\}\mathbf{A}^{-1} \tag{12}

となります。これを展開すれば


式(12)= \mathbf{A}^{-1}  - ( \mathbf{I}+\mathbf{A}^{-1}\mathbf{B}\mathbf{C}\mathbf{D})^{-1}\mathbf{A}^{-1}\mathbf{B}\mathbf{C}\mathbf{D} \mathbf{A}^{-1} \tag{13}

です。ここで式(9)の関係を2回繰り返し使って、


\begin{eqnarray*}
式(13) &=&  \mathbf{A}^{-1}  - \mathbf{A}^{-1}( \mathbf{I}+\mathbf{B}\mathbf{C}\mathbf{D}\mathbf{A}^{-1})^{-1}\mathbf{B}\mathbf{C}\mathbf{D} \mathbf{A}^{-1}  \tag{14} \\
&=&  \mathbf{A}^{-1}  - \mathbf{A}^{-1}\mathbf{B}( \mathbf{I}+\mathbf{C}\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{C}\mathbf{D} \mathbf{A}^{-1} \tag{15}
\end{eqnarray*}

となります。ここで式(15)の( \mathbf{I}+\mathbf{C}\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{C}について変形していくと、


\begin{eqnarray*}
( \mathbf{I}+\mathbf{C}\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{C} &=& ( \mathbf{C}\mathbf{C}^{-1}+\mathbf{C}\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{C} \tag{16} \\
&=&   \left\{ \mathbf{C} (\mathbf{C}^{-1}+\mathbf{D}\mathbf{A}^{-1}\mathbf{B}) \right\} ^{-1}\mathbf{C}  \tag{17} \\
&=&  (\mathbf{C}^{-1}+\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1} \mathbf{C}^{-1}\mathbf{C} \tag{18} \\
&=&  (\mathbf{C}^{-1}+\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1} \tag{19}
\end{eqnarray*}

となります。途中で逆行列の定理の式(1)を使っています。そして式(19)と式(15)より、


(\mathbf{A}+\mathbf{B}\mathbf{C}\mathbf{D})^{-1} = \mathbf{A}^{-1} - \mathbf{A}^{-1}\mathbf{B}(\mathbf{C}^{-1}+\mathbf{D}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{D}\mathbf{A}^{-1} \tag{20}

となります。

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

概要

前回の以下の記事の続きです。

www.iwanttobeacat.com

前回までのおさらい

訓練データ\mathbf{x}=\{\mathbf{x}_{1},\cdots,\mathbf{x}_{N} \}\mathbf{t}_{N}=(t_1,\cdots,t_{N})^{T}が与えられたとき、新たな入力\mathbf{x}_{N+1}に対するt_{N+1}=1の確率、すなわちp(t_{N+1}=1 | \mathbf{t}_{N},\mathbf{x},\mathbf{x}_{N+1} )を求めることが目標です。そしてこれは、いくつかの式変形によって以下のように表せました。


\displaystyle p(t_{N+1}=1 | \mathbf{t}_{N} )= \int \underline{ p(t_{N+1}=1 |a_{N+1} ) }p(a_{N+1}|\mathbf{t}_{N}) d a_{N+1} \tag{1}

式(1)下線部はシグモイド関数の出力 \sigma(a_{N+1})ですが、p(a_{N+1}|\mathbf{t}_{N})は解析的に求めらません。これは


\displaystyle p(a_{N+1}|\mathbf{t}_{N}) = 
\begin{align}
\int 
  \underset{A} {\underline{p(a_{N+1}|\mathbf{a}_{N}) }}
 \,
  \underset{B} {\underline{p(\mathbf{a}_{N}|\mathbf{t}_{N}) }}
 d\mathbf{a}_{N}
\end{align}
 \tag{2}

と変形することができました。さらに式(2)下線部Aは


p(a_{N+1}|\mathbf{a}_{N}) = N(a_{N+1}| \mathbf{k}^{T}\mathbf{C}_{N}^{-1}\mathbf{a}_{N}, c- \mathbf{k}^{T}\mathbf{C}_{N}^{-1}\mathbf{k}) \tag{3}

と求めることができました。そして式(2)下線部Bのp(\mathbf{a}_{N}|\mathbf{t}_{N})ラプラス近似で正規分布の形にして式(2)を計算していく方針です。

p(\mathbf{a}_{N}|\mathbf{t}_{N})の計算

ベイズの定理*1より、


\displaystyle p(\mathbf{a}_{N}|\mathbf{t}_{N}) = \frac{p(\mathbf{t}_{N} | \mathbf{a}_{N})p(\mathbf{a}_{N})}{p(\mathbf{t}_{N})} \tag{4}

です。正規化項であるp(\mathbf{t}_{N})を無視すれば、


p(\mathbf{a}_{N}|\mathbf{t}_{N}) \approx p(\mathbf{t}_{N} | \mathbf{a}_{N})p(\mathbf{a}_{N}) \tag{5}

です。ラプラス近似を行うためには、関数の対数をとり、そのヘッセ行列などを求めなくてはなりませんので、


\ln p(\mathbf{a}_{N}|\mathbf{t}_{N}) \approx \ln (p(\mathbf{t}_{N} | \mathbf{a}_{N})p(\mathbf{a}_{N})) \tag{6}

を考えます。式(6)を \Psi(\mathbf{a}_{N})とおいて、


\begin{eqnarray*}
\Psi(\mathbf{a}_{N}) &=& \ln ( p(\mathbf{t}_{N} | \mathbf{a}_{N}) p(\mathbf{a}_{N})) \tag{7} \\
&=& \ln  p(\mathbf{t}_{N} | \mathbf{a}_{N}) + \ln p(\mathbf{a}_{N}) \tag{8}
\end{eqnarray*}

です。ここで、まず式(8)の右辺p(\mathbf{t}_{N} | \mathbf{a}_{N})を考えます。p(t_{n}=1|a_{n})=\sigma(a_{n})p(t_{n}=0|a_{n})=1-\sigma(a_{n})なので、


\displaystyle p(\mathbf{t}_{N} | \mathbf{a}_{N}) =\prod_{n=1}^{N} \sigma(a_{n})^{t_{n}} \left( 1-\sigma(a_{n}) \right)^{1-t_{n}} \tag{9}

と書けます。\sigma(a)はシグモイド関数で、


\displaystyle \sigma(a) = \frac{1}{1+\exp(-a)} \tag{10}

ですから、


\displaystyle \sigma(a)^{t} \left( 1-\sigma(a) \right)^{1-t} = \left( \frac{1}{1+\exp(-a)} \right)^{t} \left( 1- \frac{1}{1-\exp(-a)}\right)^{1-t} \tag{11}

です。式(11)右辺を変形していけば、


\begin{eqnarray*}

 &=& \left( \frac{1}{1+\exp(-a)} \right)^{t} \left( \frac{\exp(-a)}{1-\exp(-a)}\right)^{1-t}\tag{12} \\
&=&  \frac{1}{ ( 1+\exp(-a) )^{t} } \frac{\exp(-a+at)}{ ( 1+\exp(-a) )^{1-t} }  \tag{13}\\
&=&  \frac{\exp(-a+at)}{  1+\exp(-a)  }  \tag{14}\\
&=&  \exp(at) \frac{\exp(-a)}{  1+\exp(-a)  }  \tag{15}\\
&=&  \exp(at) \frac{1}{  \exp(a)+1  }  \tag{16}\\
&=&  \exp(at) \sigma(-a)  \tag{17}\\
\end{eqnarray*}

と計算できます。従って式(9)は、


\displaystyle p(\mathbf{t}_{N} | \mathbf{a}_{N}) =\prod_{n=1}^{N} \exp(a_{n}t_{n}) \sigma(-a_{n}) \tag{18}

です。

そして、式(8)右辺のもう1つの項p(\mathbf{a}_{N})は、ガウス過程という前提条件で、


p(\mathbf{a}_{N}) = N(\mathbf{a}_{N}|\mathbf{0},\mathbf{C}_{N}) \tag{19}

でした。

以上より、


\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{20} \\

です。いろいろ計算がややこしくて何をやっているか見失いそうになるんですが、今はp(\mathbf{a}_{N}|\mathbf{t}_{N})をラプラス近似で正規分布の形にもっていこうとしている途中です、、、。

続きは次回 www.iwanttobeacat.com


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

概要

前回の以下の記事の続きです。 www.iwanttobeacat.com

前回の記事までのまとめ

訓練データ\mathbf{x}=\{\mathbf{x}_{1},\cdots,\mathbf{x}_{N} \}\mathbf{t}_{N}=(t_1,\cdots,t_{N})^{T}が与えられたとき、新たな入力\mathbf{x}_{N+1}に対するt_{N+1}=1の確率、すなわちp(t_{N+1}=1 | \mathbf{t}_{N},\mathbf{x},\mathbf{x}_{N+1} )を求めることが目標です。そしてこれは、いくつかの式変形によって以下のように表せました。


\displaystyle p(t_{N+1}=1 | \mathbf{t}_{N} )= \int p(t_{N+1}=1 |a_{N+1} )p(a_{N+1}|\mathbf{t}_{N}) d a_{N+1} \tag{1}

p(a_{N+1}|\mathbf{t}_{N})の計算

式(1)において、p(t_{N+1}=1|a_{N+1})=\sigma(a_{N+1})ですから、式(1)右辺の前半は簡単に求まりますが、p(a_{N+1}|\mathbf{t}_{N})は解析的に求められず、これを何とかしていかなくてはなりません。

確率の周辺化の式を用いて、*1


\displaystyle p(a_{N+1}|\mathbf{t}_{N}) = \int p(a_{N+1},\mathbf{a}_{N}|\mathbf{t}_{N}) d\mathbf{a}_{N} \tag{2}

と変形し、さらにベイズの定理により、*2


\displaystyle 式(2)=\frac{1}{p(\mathbf{t}_{N})} \int p(a_{N+1},\mathbf{a}_{N})p(\mathbf{t}_{N}|a_{N+1},\mathbf{a}_{N}) d\mathbf{a}_{N} \tag{3}

です。そして確率の乗法定理により、*3


\displaystyle 式(3)=\frac{1}{p(\mathbf{t}_{N})} \int p(a_{N+1}|\mathbf{a}_{N})p(\mathbf{a}_{N})p(\mathbf{t}_{N}|a_{N+1},\mathbf{a}_{N}) d\mathbf{a}_{N} \tag{4}

です。ここでa_{N+1}\mathbf{t}_{N}は独立ですから条件から取り除くことができ、


\displaystyle 式(4)=\frac{1}{p(\mathbf{t}_{N})} \int p(a_{N+1}|\mathbf{a}_{N})p(\mathbf{a}_{N})p(\mathbf{t}_{N}| \mathbf{a}_{N}) d\mathbf{a}_{N} \tag{5}

です。そしてベイズの定理の式(1)より、 p(\mathbf{a}_{N}) p(\mathbf{t}_{N} | \mathbf{a}_{N}) = p(\mathbf{t}_{N})p(\mathbf{a}_{N} | \mathbf{t}_{N}) ですから、以上より


\displaystyle \displaystyle p(a_{N+1}|\mathbf{t}_{N}) = \int p(a_{N+1}|\mathbf{a}_{N}) p(\mathbf{a}_{N}|\mathbf{t}_{N}) d\mathbf{a}_{N} \tag{6}

となります。

p(a_{N+1}|\mathbf{a}_{N})の計算

ここでまずは式(6)のp(a_{N+1}|\mathbf{a}_{N})を考えます。

aはガウス過程という前提条件でした。\mathbf{y}がガウス過程に従うとき、 p(\mathbf{y}) = N(\mathbf{y}|\mathbf{0},\alpha^{-1}\mathbf{K}) と書けましたから*4a_{N+1}もこの形で書くことができるはずです。ここで\alphaの定数倍をカーネル関数の中に含めれば


p(a_{N+1}) = N(a_{N+1}|\mathbf{0},\mathbf{K}) \tag{7}

と書けます。今考えているのは分類問題で離散値データですから、ガウス過程による回帰(1)の式(1)ようにノイズはありませんが、共分散行列の正定値性の保証のため*5


C(x_{n},x_{m}) = k(x_{n},x_{m}) + \nu \delta_{nm} \tag{8}

のようにノイズの項を加えたものを考えます。これが正定値行列であることが、後々最適解を持つことの保証になります。行列の各要素が式(8)で与えられる共分散行列\mathbf{C}_{N+1}を用いれば、


p(a_{N+1}) = N(a_{N+1}|\mathbf{0},\mathbf{C}_{N+1}) \tag{9}

と書けます。すると、ガウス過程による回帰(1)ガウス過程による回帰(2)p(t_{N+1}|\mathbf{t}_{N})を計算したのと同様の手順で、


p(a_{N+1}|\mathbf{a}_{N}) = N(a_{N+1}| \mathbf{k}^{T}\mathbf{C}_{N}^{-1}\mathbf{a}_{N}, c- \mathbf{k}^{T}\mathbf{C}_{N}^{-1}\mathbf{k}) \tag{10}

と計算できます。

残りはp(\mathbf{a}_{N}|\mathbf{t}_{N})

次に、式(6)のp(\mathbf{a}_{N}|\mathbf{t}_{N})の計算です。計算の方針はラプラス近似を使って正規分布の形にもっていくことです。そして式(10)とあわせて2つの正規分布の計算とします。

続きは次回 www.iwanttobeacat.com


*1:条件付き確率、同時確率、周辺確率の式(10)

*2:ベイズの定理の式(2)

*3:条件付き確率、同時確率、周辺確率の式(2)

*4:ガウス過程の式(15)

*5:分散は0以上であることに注意し、共分散行列の対角成分が正の場合の2次形式を計算してみれば、常に正になることがわかる。