機械学習基礎理論独習

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

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

ベイズ的主成分分析をエビデンス近似とEMアルゴリズムで解く

はじめに

本記事は、確率的主成分分析の最尤推定をEMアルゴリズムで解く の続編的記事です。

ベイズ的主成分分析

グラフィカルモデルは以下です。

f:id:olj611:20211125022703p:plain:w300

確率的主成分分析では、{\bf W} は定数でしたが
本記事のベイズ的主成分分析では、{\bf W} を確率変数とします。

主部分空間を定義する \bf W の各列ベクトルに対して、事前分布として独立なガウス分布を設定します。
それぞれのガウス分布は精度パラメータ \alpha_i をにより支配される独立な分散を持ち、次のように与えられます。

\begin{eqnarray}
p({\bf W}|{\boldsymbol\alpha})=\prod_{i=1}^M\left(\frac{\alpha_i}{2\pi}\right)^{D/2}\exp\left(-\frac{1}{2}\alpha_i{\bf w}_i^\top{\bf w}_i\right)\tag{1}
\end{eqnarray}

ここで、{\bf w}_i\bf Wi 番目の列ベクトルです。

エビデンス近似による \alpha_i の更新式

エビデンス近似は、データ点の数が比較的多く、対応する事後分布にはっきりしたピークが立つ場合に
妥当な方法です。
※データ点が多くない場合は、ラプラス近似を使うようです。

PRML上巻 3章の議論を用いると、\alpha_i の更新式は以下のようになります。(すみませんがこれについてはPRMLを読んでください。)

\begin{eqnarray}
\alpha_i^{\rm new}=\frac{D}{{\bf w}_i^\top{\bf w}_i}\tag{2}
\end{eqnarray}

{\boldsymbol\mu} について

{\boldsymbol\mu}確率的主成分分析の最尤推定をEMアルゴリズムで解くの記事同様、最尤解の {\boldsymbol\mu}_{\rm ML}=\bar{\bf x} を用います。

Eステップ

今回のモデルの完全データの対数尤度関数は以下のようになります。

\begin{eqnarray}
\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2,{\boldsymbol\alpha})&=&\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2) + \ln p({\bf W}|{\boldsymbol\alpha})\tag{3}
\end{eqnarray}

(3) に潜在変数の事後分布 p({\bf z}|{\bf x}) の期待値を取ります。

\begin{eqnarray}
{\mathbb E}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2,{\boldsymbol\alpha})]&=&{\mathbb E}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2)] + {\mathbb E}[\ln p({\bf W}|{\boldsymbol\alpha})]\\
&=&-\sum_{n=1}^N\Bigg(
\frac{D}{2}\ln(2\pi\sigma^2)+\frac{1}{2}{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top])+\frac{1}{2\sigma^2}||{\bf x}_n-{\boldsymbol\mu}||^2\\
&& -\frac{1}{\sigma^2}{\mathbb E}[{\bf z}_n]^\top{\bf W}^\top({\bf x}_n-{\boldsymbol\mu})+\frac{1}{2\sigma^2}{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\bf W})+\frac{M}{2}\ln(2\pi)
\Bigg)\\
&&+\frac{D}{2}\sum_{i=1}^M\ln\left(\frac{\alpha_i}{2\pi}\right)-\frac{1}{2}\sum_{i=1}^M\alpha_i{\bf w}_i^\top{\bf w}_i\tag{4}
\end{eqnarray}

(4) より、Eステップは確率的主成分分析の最尤推定をEMアルゴリズムで解くの記事と同じです。

\begin{eqnarray}
{\mathbb E}[{\bf z}_n]&=&{\bf M}^{-1}{\bf W}^\top({\bf x}_n-\bar{\bf x})\tag{5}
\end{eqnarray}

\begin{eqnarray}
{\mathbb E}[{\bf z}_n{\bf z}_n^\top]&=&\sigma^2{\bf M}+{\mathbb E}[{\bf z}_n]{\mathbb E}[{\bf z}_n]^\top\tag{6}
\end{eqnarray}

Mステップ - \sigma^2 の更新式

(4) より、\sigma^2 の更新式も確率的主成分分析の最尤推定をEMアルゴリズムで解くの記事と同じです。

\begin{eqnarray}
\sigma_{\rm new}^2=\frac{1}{ND}\sum_{n=1}^N\left(||{\bf x}_n-\bar{\bf x}||^2-2{\mathbb E}[{\bf z}_n]^\top{\bf W}_{\rm new}^\top({\bf x}_n-\bar{\bf x})+{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}_{\rm new}^\top{\bf W}_{\rm new})\right)\tag{7}
\end{eqnarray}

Mステップ - {\bf W} の更新式

先に \displaystyle\sum_{i=1}^M\alpha_i{\bf w}_i^\top{\bf w}_i{\bf W}(i,j) 成分 W_{ij}微分します。

\begin{eqnarray}
\frac{\partial}{\partial W_{ij}}\sum_{l=1}^M\alpha_l{\bf w}_l^\top{\bf w}_l=2\alpha_iW_{ij}\tag{8}
\end{eqnarray}

(8) より、以下が成り立ちます。

\begin{eqnarray}
\frac{\partial}{\partial {\bf W}}\sum_{l=1}^M\alpha_l{\bf w}_l^\top{\bf w}_l=2{\bf W}{\bf A}\tag{9}
\end{eqnarray}

ここで、 {\bf A}={\rm diag}(\alpha_i) です。

{\mathbb E}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2,{\boldsymbol\alpha})]\bf W微分して、={\bf O} とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial{\bf W}}{\mathbb E}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2,{\boldsymbol\alpha})]={\bf O}\\
&&\Leftrightarrow\frac{\partial}{\partial{\bf W}}{\mathbb E}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2)] + \frac{\partial}{\partial{\bf W}}{\mathbb E}[\ln p({\bf W}|{\boldsymbol\alpha})]={\bf O}\\
&&\Leftrightarrow-\sum_{n=1}^N\Bigg(
 -\frac{1}{\sigma^2}({\bf x}_n-{\boldsymbol\mu}){\mathbb E}[{\bf z}_n]^\top+\frac{1}{2\sigma^2}{\bf W}\cdot 2{\mathbb E}[{\bf z}_n{\bf z}_n^\top]
\Bigg)-{\bf W}{\bf A}={\bf O}\\
&&\Leftrightarrow{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]+\sigma^2{\bf A}\right)=\sum_{n=1}^N({\bf x}_n-{\boldsymbol\mu}){\mathbb E}[{\bf z}_n]^\top\\
&&\Leftrightarrow{\bf W}_{\rm new}=\left(\sum_{n=1}^N({\bf x}_n-{\boldsymbol\mu}){\mathbb E}[{\bf z}_n]^\top\right)\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]+\sigma^2{\bf A}\right)^{-1}\tag{10}
\end{eqnarray}

(10){\bf W} の更新式です。
\dfrac{\partial}{\partial{\bf W}}{\mathbb E}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},\sigma^2)] の計算については、PRML演習問題 12.15(標準) wwwを参照してください。

目次へ戻る