機械学習基礎理論独習

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

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

多次元ガウス分布の平均の事後分布

本記事では共分散行列  {\bf\Sigma} の代わりにその逆行列である精度行列 {\boldsymbol\Lambda}={\bf \Sigma}^{-1} を用います。

多次元ガウス分布

多次元ガウス分布は以下のように表されるのでした。

\begin{eqnarray}
{\mathcal N}({\bf x}|{\boldsymbol\mu},{\bf\Sigma})=\frac{1}{\sqrt{(2\pi)^D|{\bf\Sigma}|}}\exp\left(-\frac{1}{2}({\bf x}-{\boldsymbol\mu})^\top{\bf\Sigma}^{-1}({\bf x}-{\boldsymbol\mu})\right)\tag{1}
\end{eqnarray}

 {\bf x}\in\mathbb{R}^D,\ {\boldsymbol\mu}\in\mathbb{R}^D,\ {\bf\Sigma}\in\mathbb{R}^{D\times D} です。
(1)を精度行列 {\boldsymbol\Lambda}={\bf \Sigma}^{-1} を用いて表すと以下のようになります。

\begin{eqnarray}
{\mathcal N}({\bf x}|{\boldsymbol\mu},{\bf\Lambda}^{-1})=\frac{\sqrt{|{\bf\Lambda}|}}{\sqrt{(2\pi)^D}}\exp\left(-\frac{1}{2}({\bf x}-{\boldsymbol\mu})^\top{\bf\Lambda}({\bf x}-{\boldsymbol\mu})\right)\tag{2}
\end{eqnarray}

(2)の式変形では  |{\bf\Sigma}|=\frac{1}{|{\bf\Lambda}|} を使用しました。
対数を取ってみます。

\begin{eqnarray}
\ln{\mathcal N}({\bf x}|{\boldsymbol\mu},{\bf\Lambda}^{-1})=-\frac{1}{2}\left(({\bf x}-{\boldsymbol\mu})^\top{\bf\Lambda}({\bf x}-{\boldsymbol\mu})-\ln|{\bf\Lambda}|+D\ln2\pi\right)\tag{3}
\end{eqnarray}

事後分布

多次元ガウス分布に従うN 個のD次元の連続値データ {\bf X}=\{{\bf x}_1,\ldots,{\bf x}_N\} が与えられた時の平均 {\boldsymbol\mu}\in{\mathbb{R}^D} の事後分布を求めてみます。精度 {\bf\Lambda}\in\mathbb{R}^{D\times D} は固定であるとします。

f:id:olj611:20210224040414p:plain

{\boldsymbol\mu} の事前分布には多次元ガウス分布の平均の共役事前分布である多次元ガウス分布を用います。

\begin{eqnarray}
p({\boldsymbol\mu})=\mathcal{N}({\boldsymbol\mu}|{\bf m},{\bf \Lambda^{-1}_{\boldsymbol\mu}})\tag{4}
\end{eqnarray}

{\bf m}\in\mathbb{R}^D,{\bf \Lambda_{\boldsymbol\mu}}\in\mathbb{R}^{D\times D}は固定されたハイパーパラメータです。

事後分布は以下のようになります。ベイズの定理を用います。

\begin{eqnarray}
p(\mu|{\bf X})&\propto&p({\bf X}|{\boldsymbol\mu})p({\boldsymbol\mu})\\
&=&\left(\prod_{n=1}^Np({\bf x}_n|{\boldsymbol\mu})\right)p({\boldsymbol\mu})\\
&=&\left(\prod_{n=1}^N\mathcal{N}({\bf x}_n|{\boldsymbol\mu},{\bf\Lambda}^{-1})\right)\mathcal{N}({\boldsymbol\mu}|{\bf m},{\bf\Lambda^{-1}_{\boldsymbol\mu}})\tag{5}\\
\end{eqnarray}

対数を取って {\boldsymbol\mu}についてまとめます。

\begin{eqnarray}
\ln p({\boldsymbol\mu}|{\bf X})&=&\sum_{n=1}^N\ln\mathcal{N}({\bf x}_n|{\boldsymbol\mu},{\bf\Lambda}^{-1})+\ln \mathcal{N}({\boldsymbol\mu}|{\bf m},{\bf\Lambda}^{-1}_{\boldsymbol\mu})+{\rm const.}\\
&=&-\frac{1}{2}\sum_{n=1}^N({\bf x}_n-{\boldsymbol\mu})^\top{\bf\Lambda}({\bf x}_n-{\boldsymbol\mu})-\frac{1}{2}({\boldsymbol\mu}-{\bf m})^\top{\bf\Lambda}_{\boldsymbol\mu}({\boldsymbol\mu}-{\bf m})+{\rm const.}\\
&=&-\frac{1}{2}\sum_{n=1}^N({\bf x}_n^\top{\bf\Lambda}{\bf x}_n-2{\boldsymbol\mu}^\top{\bf\Lambda}{\bf x}_n+{\boldsymbol\mu}^\top{\bf\Lambda}{\boldsymbol\mu})-\frac{1}{2}({\boldsymbol\mu}^\top{\bf\Lambda}_{\boldsymbol\mu}{\boldsymbol\mu}-2{\boldsymbol\mu^\top}{\bf\Lambda}_{\boldsymbol\mu}{\bf m}+{\bf m}^\top{\bf\Lambda}_{\boldsymbol\mu}{\bf m})+{\rm const.}\\
&=&-\frac{1}{2}\sum_{n=1}^N(-2{\boldsymbol\mu}^\top{\bf\Lambda}{\bf x}_n+{\boldsymbol\mu}^\top{\bf\Lambda}{\boldsymbol\mu})-\frac{1}{2}({\boldsymbol\mu}^\top{\bf\Lambda}_{\boldsymbol\mu}{\boldsymbol\mu}-2{\boldsymbol\mu^\top}{\bf\Lambda}_{\boldsymbol\mu}{\bf m})+{\rm const.}\\
&=&-\frac{1}{2}\left({\boldsymbol\mu}^\top(N{\bf\Lambda} + {\bf\Lambda_{\boldsymbol\mu}}){\boldsymbol\mu}-2{\boldsymbol\mu}^\top({\bf\Lambda}\sum_{n=1}^N{\bf x}_n+{\bf\Lambda}_{\boldsymbol\mu}{\bf m})\right)+{\rm const.}\tag{6}\\
\end{eqnarray}

(6)より事後分布が多次元ガウス分布になっていることが分かります。
事後分布の平均と精度を \hat{\bf m},\hat{{\bf\Lambda}}_{\boldsymbol\mu} とおくと

\begin{eqnarray}
p({\boldsymbol\mu}|{\bf X})=\mathcal{N}({\boldsymbol\mu}|\hat{\bf m},\hat{{\bf\Lambda}}^{-1}_{\boldsymbol\mu})\tag{7}
\end{eqnarray}

対数を取って \boldsymbol\mu についてまとめます。

\begin{eqnarray}
\ln p({\boldsymbol\mu}|{\bf X})=-\frac{1}{2}({\boldsymbol\mu}^\top\hat{{\bf\Lambda}}_{\boldsymbol\mu}{\boldsymbol\mu}-2{\boldsymbol\mu}^\top\hat{{\bf\Lambda}}_{\boldsymbol\mu}\hat{\bf m})+{\rm const.}\tag{8}
\end{eqnarray}

(6)と(8)の係数を比較します。

\begin{eqnarray}
&&\hat{{\bf\Lambda}}_{\boldsymbol\mu}=N{\bf\Lambda}+{\bf\Lambda}_{\boldsymbol\mu} \tag{9}\\
&&\hat{\bf m}=\hat{{\bf\Lambda}}_{\boldsymbol\mu}^{-1}({\bf\Lambda}\sum_{n=1}^N{\bf x}_n+{\bf\Lambda}_{\boldsymbol\mu}{\bf m}) \tag{10}\\
\end{eqnarray}

以上で、事後分布が多次元ガウス分布で得られることが分かりました。

偉人の名言

f:id:olj611:20210220205939p:plain
難しいからやろうとしないのではない。やろうとしないから、難しくなるのだ。
セネカ

参考文献

ベイズ推論による機械学習入門

動画

目次へ戻る