機械学習基礎理論独習

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

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

1次元ガウス分布の平均と分散の事後分布

本記事では分散  \sigma^2 の代わりにその逆数である精度パラメータ \lambda=\frac{1}{\sigma^2} を用います。

1次元ガウス分布

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

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

 x\in\mathbb{R},\ \mu\in\mathbb{R},\ \sigma^2\in\mathbb{R}^+ です。
(1)を精度パラメータ \lambda\in\mathbb{R}^{+} を用いて表すと以下のようになります。

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

対数を取ってみます。

\begin{eqnarray}
\ln{\mathcal N}(x|\mu,\lambda^{-1})=-\frac{1}{2}(\lambda(x-\mu)^2-\ln\lambda+\ln2\pi)\tag{3}
\end{eqnarray}

ガウス-ガンマ分布

ガウス-ガンマ分布は以下の式で表されるのでした。

\begin{eqnarray}
{\rm NG}(\mu,\lambda|m,\beta,a,b)={\mathcal N}(\mu|m,(\beta\lambda)^{-1}){\rm Gam}(\lambda|a, b)\tag{4}
\end{eqnarray}

m\in\mathbb{R},\beta\in\mathbb{R}^+,a\in\mathbb{R}^+,b\in\mathbb{R}^+ です。

ガンマ分布

ガンマ分布は以下の式で表されるのでした。

\begin{eqnarray}
{\rm Gam}(\lambda|a, b)=C_{\rm G}(a, b)\lambda^{a-1}e^{-b\lambda}\tag{5}\\
\end{eqnarray}

\lambda\in\mathbb{R}^+,a\in\mathbb{R}^+b\in\mathbb{R}^+です。
C_{\rm G}(a, b)はガンマ分布の正規化項です。

\begin{eqnarray}
C_{\rm G}(a, b)=\frac{b^a}{\Gamma(a)}\tag{6}\\
\end{eqnarray}

\Gamma(\cdot)はガンマ関数です。
対数を取ると以下のようになります。

\begin{eqnarray}
\ln {\rm Gam}(\lambda|a, b)=(a-1)\ln \lambda-b\lambda+\ln C_{\rm G}(a, b)\tag{7}\\
\end{eqnarray}

事後分布

ガウス分布に従うN 個の1次元の連続値データ {\bf X}=\{x_1,\ldots,x_N\} が与えられた時の平均 \mu\in{\mathbb{R}} と精度 \lambda\in\mathbb{R}^+ の事後分布を求めてみます。

f:id:olj611:20210224033116p:plain

\mu,\lambda の事前分布にはガウス分布の平均と精度の共役事前分布であるガウス-ガンマ分布を用います。

\begin{eqnarray}
p(\mu,\lambda)&=&{\rm NG}(\mu,\lambda)|m,\beta,a,b)\\
&=&\mathcal{N}(\mu|m,(\beta\lambda)^{-1}){\rm Gam}(\lambda|a,b)\tag{8}
\end{eqnarray}

m\in\mathbb{R},\beta\in\mathbb{R}^+,a\in\mathbb{R}^+,b\in\mathbb{R}^+は固定されたハイパーパラメータです。

また、 p(\mu,\lambda) は確率の乗法定理を使って以下のように書けます。

\begin{eqnarray}
p(\mu,\lambda)&=&p(\mu|\lambda)p(\lambda)\tag{9}
\end{eqnarray}

(8)、(9) より

\begin{eqnarray}
&&p(\mu|\lambda)=\mathcal{N}(\mu|m,(\beta\lambda)^{-1})\tag{10}\\
&&p(\lambda)={\rm Gam}(\lambda|a,b)\tag{11}\\
\end{eqnarray}

です。

事後分布 p(\mu,\lambda|{\bf X}) を確率の乗法定理を用いて分解します。

\begin{eqnarray}
p(\mu,\lambda|{\bf X})&=&p(\mu|\lambda,{\bf X})p(\lambda|{\bf X})\tag{12}
\end{eqnarray}

(12)より p(\mu|\lambda,{\bf X})p(\lambda|{\bf X}) を別々に求めることにします。

まず、 p(\mu|\lambda,{\bf X}) を求めます。ベイズの定理を用いると以下の式になります。

\begin{eqnarray}
p(\mu|\lambda,{\bf X})&=&\frac{p({\bf X}|\mu,\lambda)p(\mu|\lambda)}{p({\bf X}|\lambda)}\\
&\propto&p({\bf X}|\mu,\lambda)p(\mu|\lambda)\\
&=&\left(\prod_{n=1}^N p(x_n|\mu,\lambda)\right)p(\mu|\lambda)\\
&=&\left(\prod_{n=1}^N \mathcal{N}(x_n|\mu,\lambda^{-1})\right)\mathcal{N}(\mu|m,(\beta\lambda)^{-1})\tag{13}\\
\end{eqnarray}

(13)に対数を取って、 \mu についてまとめます 。

\begin{eqnarray}
\ln p(\mu|\lambda,{\bf X})&=&\sum_{n=1}^N \ln\mathcal{N}(x_n|\mu,\lambda^{-1})+\ln\mathcal{N}(\mu|m,(\beta\lambda)^{-1})+{\rm const.}\\
&=&-\frac{1}{2}\lambda\sum_{n=1}^N (x_n-\mu)^2-\frac{1}{2}\beta\lambda(\mu-m)^2+{\rm const.}\\
&=&-\frac{1}{2}\lambda\sum_{n=1}^N (\mu^2-2x_n\mu)-\frac{1}{2}\beta\lambda(\mu^2-2m\mu)+{\rm const.}\\
&=&-\frac{1}{2}\lambda\left((N+\beta)\mu^2-2(\sum_{n=1}^Nx_n+\beta m)\mu\right)+{\rm const.}\tag{14}\\
\end{eqnarray}

(14)より  p(\mu|\lambda,{\bf X})ガウス分布になっていることが分かります。
p(\mu|\lambda,{\bf X}) の平均と精度を \hat{m},\hat{\beta}\lambda とおき、\mu について整理します。

\begin{eqnarray}
\ln p(\mu|\lambda,{\bf X})&=&\ln\mathcal{N}(\mu|\hat{m},(\hat{\beta}\lambda)^{-1})\\
&=&-\frac{1}{2}\hat{\beta}\lambda(\mu-\hat{m})^2+{\rm const.}\\
&=&-\frac{1}{2}\lambda(\hat{\beta}\mu^2-2\hat{\beta}\hat{m}\mu)+{\rm const.}\tag{15}\\
\end{eqnarray}

(14)、(15)を係数比較します。

\begin{eqnarray}
&&\hat{\beta}=N+\beta\tag{16}\\
&&\hat{m}=\frac{1}{\hat{\beta}}\left(\sum_{n=1}^Nx_n+\beta m\right)\tag{17}\\
\end{eqnarray}

次に、 p(\lambda|{\bf X}) を求めます。
その前に p(\mu,\lambda|{\bf X})ベイズの定理を適用します。

\begin{eqnarray}
p(\mu,\lambda|{\bf X})&=&\frac{p({\bf X}|\mu,\lambda)p(\mu,\lambda)}{p({\bf X})}\tag{18}
\end{eqnarray}

(12)より

\begin{eqnarray}
p(\lambda|{\bf X})&=&\frac{p(\mu,\lambda|{\bf X})}{p(\mu|\lambda,{\bf X})}\tag{19}
\end{eqnarray}

となります。(19)に(18)を代入します。

\begin{eqnarray}
p(\lambda|{\bf X})&=&\frac{p({\bf X}|\mu,\lambda)p(\mu,\lambda)}{p({\bf X})p(\mu|\lambda,{\bf X})}\\
&\propto&\frac{p({\bf X}|\mu,\lambda)p(\mu,\lambda)}{p(\mu|\lambda,{\bf X})}\\
&=&\frac{\left(\prod_{n=1}^N \mathcal{N}(x_n|\mu,\lambda^{-1})\right)\mathcal{N}(\mu|m,(\beta\lambda)^{-1}){\rm Gam}(\lambda|a,b)}{\mathcal{N}(\mu|\hat{m},(\hat{\beta}\lambda)^{-1})}\tag{20}\\
\end{eqnarray}

対数を取ります。

\begin{eqnarray}
\ln p(\lambda|{\bf X})&=&\sum_{n=1}^N\ln\mathcal{N}(x_n|\mu,\lambda^{-1})+\ln \mathcal{N}(\mu|m,(\beta\lambda)^{-1}) + \ln{\rm Gam}(\lambda|a,b)-\ln\mathcal{N}(\mu|\hat{m},(\hat{\beta}\lambda)^{-1})+{\rm const.}\tag{21}\\
\end{eqnarray}

(21)を計算していくのですが、そのまま計算すると式が見にくくなってしまうので各項毎に \lambda についてまとめつつ計算します。
\sum_{n=1}^N\ln\mathcal{N}(x_n|\mu,\lambda^{-1}) について計算します。

\begin{eqnarray}
\sum_{n=1}^N\ln\mathcal{N}(x_n|\mu,\lambda^{-1})&=&\frac{N}{2}\ln\lambda-\frac{1}{2}\lambda\sum_{n=1}^N(x_n-\mu)^2+{\rm const.}\\
&=&\frac{N}{2}\ln\lambda-\frac{1}{2}(\sum_{n=1}^Nx_n^2-2\sum_{n=1}^Nx_n\mu+N\mu^2)\lambda+{\rm const.}\tag{22}\\
\end{eqnarray}

\ln\mathcal{N}(\mu|m,(\beta\lambda)^{-1}) について計算します。

\begin{eqnarray}
\ln\mathcal{N}(\mu|m,(\beta\lambda)^{-1})&=&\frac{1}{2}\ln\lambda-\frac{1}{2}\beta\lambda(\mu-m)^2+{\rm const.}\\
&=&\frac{1}{2}\ln\lambda-\frac{1}{2}\beta(\mu^2-2m\mu+m^2)\lambda+{\rm const.}\tag{23}\\
\end{eqnarray}

\ln{\rm Gam}(\lambda|a,b) について計算します。

\begin{eqnarray}
\ln{\rm Gam}(\lambda|a,b)&=&(a-1)\ln \lambda-b\lambda+{\rm const.}\tag{24}\\
\end{eqnarray}

-\ln\mathcal{N}(\mu|\hat{m},(\hat{\beta}\lambda)^{-1}) について計算します。

\begin{eqnarray}
 -\ln\mathcal{N}(\mu|\hat{m},(\hat{\beta}\lambda)^{-1})&=&-\frac{1}{2}\ln\lambda+\frac{1}{2}\hat{\beta}(\mu-\hat{m})^2\lambda+{\rm const.}\\
&=&-\frac{1}{2}\ln\lambda+\frac{1}{2}\hat{\beta}(\mu^2-2\hat{m}\mu+\hat{m}^2)\lambda+{\rm const.}\\
&=&-\frac{1}{2}\ln\lambda+\frac{1}{2}\left((\beta+N)\mu^2-2\hat{\beta}\frac{\sum_{n=1}^Nx_n+\beta m}{\hat{\beta}}\mu+\hat{\beta}\hat{m}^2\right)\lambda+{\rm const.}\\
&=&-\frac{1}{2}\ln\lambda+\frac{1}{2}\left((\beta+N)\mu^2-2\left(\sum_{n=1}^Nx_n+\beta m\right)\mu+\hat{\beta}\hat{m}^2\right)\lambda+{\rm const.}\tag{25}\\
\end{eqnarray}

(22)、(23)、(24)、(25)を(21)に代入します。

\begin{eqnarray}
\ln p(\lambda|{\bf X})=\left(\frac{N}{2}+a-1\right)\ln\lambda-\left(\frac{1}{2}\left(\sum_{n=1}^Nx_n^2+\beta m^2-\hat{\beta}\hat{m}^2\right)+b\right)\lambda+{\rm const.}\tag{26}\\
\end{eqnarray}

(26)より p(\lambda|{\bf X}) がガンマ分布になっていることが分かります。
p(\lambda|{\bf X}) のパラメータを \hat{a},\hat{b} とおき、\lambda について整理します。

\begin{eqnarray}
\ln p(\lambda|{\bf X})&=&{\rm Gam}(\lambda|\hat{a},\hat{b})\\
&=&(\hat{a}-1)\ln \lambda-\hat{b}\lambda+{\rm const.}\tag{27}\\
\end{eqnarray}

(26)、(27)を係数比較します。

\begin{eqnarray}
&&\hat{a}=\frac{N}{2}+a\tag{28}\\
&&\hat{b}=\frac{1}{2}\left(\sum_{n=1}^Nx_n^2+\beta m^2-\hat{\beta}\hat{m}^2\right)+b\tag{29}\\
\end{eqnarray}

(12)、(16)、(17)、(28)、(29)より、p(\mu,\lambda|{\bf X})ガウス-ガンマ分布になることが分かりました。

\begin{eqnarray}
&&p(\mu,\lambda|{\bf X})=\mathcal{N}(\mu|\hat{m},(\hat{\beta}\lambda)^{-1}){\rm Gam}(\lambda|\hat{a},\hat{b})\tag{30}\\
&&\hat{\beta}=N+\beta\tag{31}\\
&&\hat{m}=\frac{1}{\hat{\beta}}\left(\sum_{n=1}^Nx_n+\beta m\right)\tag{32}\\
&&\hat{a}=\frac{N}{2}+a\tag{33}\\
&&\hat{b}=\frac{1}{2}\left(\sum_{n=1}^Nx_n^2+\beta m^2-\hat{\beta}\hat{m}^2\right)+b\tag{34}\\
\end{eqnarray}

偉人の名言

f:id:olj611:20210224025811p:plain
逆境が人格を作る。
トルストイ

参考文献

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

動画

目次へ戻る