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

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

MAP推定の解の導出

線形回帰のMAP推定による解を導出します。

線形回帰をMAP推定で解くで書いた通り、事前分布を多変量正規分布とし、訓練データは真値から N(0, \sigma^{2})の誤差が加わっていると仮定すると、ベイズの定理より事後分布 p(\mathbf w|\mathbf t)は、


\displaystyle p(\mathbf w|\mathbf t) \propto \exp\left\{ \frac{ -\| \mathbf t - \mathbf X \mathbf w\|^2 }{ 2 \sigma ^2} -\frac{1}{2}(\mathbf{w} - \mathbf{\mathbf m_0})^T \mathbf S_{0}^{-1}(\mathbf{w} - \mathbf{\mathbf m_0}) \right\} \tag{1}

と書けました。今回はこの右辺を展開していきます。計算式は長くなりますが、難しい変形はありません。 p(\mathbf w)が共役事前分布*1であることを利用し、多変量正規分布の形になるように変形していくことがポイントです。

まずは単純に展開してみます。


\begin{eqnarray*}


\displaystyle  &=& \exp\left\{  -\frac{1}{2\sigma^{2}} \left( \mathbf{t}^{T}\mathbf{t} - \mathbf{t}^{T}\mathbf{X}\mathbf{w} - \mathbf{w}^{T}\mathbf{X}^{T}\mathbf{t} + \mathbf{w}^{T}\mathbf{X}^{T}\mathbf{X}\mathbf{w} \right)   \\
-\frac{1}{2} \left(  \mathbf{w}^{T}\mathbf{S}_0^{-1}\mathbf{w}- \mathbf{w}^{T}\mathbf{S}_0^{-1}\mathbf{m}_0 - \mathbf{m}_0^{T}\mathbf{S}_0^{-1}\mathbf{w} +
\mathbf{m}_0^{T}\mathbf{S}_0^{-1}\mathbf{m}_0
\right)  \right\}  \tag{2} \\
\end{eqnarray*}

ここで、ベクトル \mathbf x,\mathbf yに対して \mathbf x^{T}\mathbf y = \mathbf y^{T}\mathbf xの関係と転置行列の定理の式(1)より、 \mathbf{t}^T \mathbf{X} \mathbf{w} = \mathbf{w}^{T}(\mathbf{t}^{T} \mathbf{X})^{T} = \mathbf{w}^{T} \mathbf{X}^{T} \mathbf{t}、共分散の性質   \mathbf{S}_0 = \mathbf{S}_0^{T} (参考:多変量正規分布)を使って式変形していき、さらに \mathbf{w}^T \mathbf{A} \mathbf{w} + \mathbf{w}^T \mathbf{B} + Cの形にまとめれば、


\begin{eqnarray*}

\displaystyle  &=& \exp\left\{ 
-\frac{1}{2} \mathbf{w}^T \left(  \frac{1}{\sigma^2} \mathbf{X}^T \mathbf{X} + \mathbf{S}_0^{-1} \right) \mathbf{w} + 
\mathbf{w}^T \left( \frac{1}{\sigma^2} \mathbf{X}^T \mathbf{t} + \mathbf{S}_0^{-1} \mathbf{m}_0 \right) \\
-\frac{1}{2\sigma^2}\mathbf{t}^T\mathbf{t}-\frac{1}{2}\mathbf{m}_0^T \mathbf{S}_0^{-1}\mathbf{m}_0

  \right\}  \tag{3} \\

\end{eqnarray*}

と変形できます。ここで式(3)の最初の項に注目し、


\displaystyle \frac{1}{\sigma^2}\mathbf{X}^T \mathbf{X} + \mathbf{S}_0^{-1} = \mathbf{S}_N^{-1} \tag{4}

と表すこととします。すると式(3)の2番目の項に  \mathbf{S}_N \mathbf{S}_N^{-1}をかけて


\displaystyle \frac{1}{\sigma^2}\mathbf{X}^T \mathbf{t} + \mathbf{S}_0^{-1} \mathbf{m}_0= 
\mathbf{S}_N^{-1} \left( \mathbf{S}_N \frac{1}{\sigma^2}\mathbf{X}^T \mathbf{t} + \mathbf{S}_N\mathbf{S}_0^{-1} \mathbf{m}_0\right)  \tag{5}

と変形できます。そして式(5)において


\displaystyle \mathbf{S}_N \frac{1}{\sigma^2}\mathbf{X}^T \mathbf{t} + \mathbf{S}_N\mathbf{S}_0^{-1} \mathbf{m}_0 = \mathbf{m}_N \tag{6}

とすれば、式(3)は


\begin{eqnarray*}
&=& \exp \left( -\frac{1}{2}\mathbf{w}^T \mathbf{S}_N^{-1} \mathbf{w} + \mathbf{w}^{T} \mathbf{S}_N^{-1} \mathbf{m}_N
-\frac{1}{2\sigma^2}\mathbf{t}^T \mathbf{t} - \frac{1}{2}\mathbf{m}_0^{T}\mathbf{S}_0^{-1}\mathbf{m}_0
\right) \tag{7}
\end{eqnarray*}

のように書けます。最終的に多変量正規分布の形にもっていきたいので、平方完成の考え方で変形すれば、


\begin{eqnarray*}
&=& \exp \left\{ 
-\frac{1}{2} \left( \mathbf{w} - \mathbf{m}_N \right)^T \mathbf{S}_N^{-1} \left( \mathbf{w} - \mathbf{m}_N \right) \\
+ \frac{1}{2}\mathbf{m}_N^T\mathbf{S}_N^{-1} \mathbf{m}_N - \frac{1}{2\sigma^2}\mathbf{t}^T \mathbf{t} - \frac{1}{2}\mathbf{m}_0^T\mathbf{S}_0^{-1} \mathbf{m}_0
\right\}  \tag{8}

\end{eqnarray*}

となります。ここで、 \mathbf wに無関係な項を定数 Cとして指数部の外に出してしまえば


\begin{eqnarray*}
&=& C \times \exp \left\{ 
-\frac{1}{2} \left( \mathbf{w} - \mathbf{m}_N \right)^T \mathbf{S}_N^{-1} \left( \mathbf{w} - \mathbf{m}_N \right)
\right\} \tag{9}
\end{eqnarray*}

となります。この形は多変量正規分布でした。よって、事後分布 p(\mathbf w|\mathbf t) は、平均\mathbf{m}_N 、共分散 \mathbf{S}_Nの多変量正規分布になります。(もともとベイズの定理を使って事後分布を求めていたのですから、計算に省略した p(\mathbf t)などを含めれば多変量正規分布の正規化項が定数倍として出ているはずです。)

さて、多変量正規分布が最大値をとるのは平均値ですから、事後分布を最大化するのは\mathbf w =  \mathbf{m}_Nのときです。

*1:事後分布が事前分布と同じ形式の分布になる性質