機械学習基礎理論独習

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

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

PRML演習問題 12.22(標準)

問題

因子分析モデルの完全データ対数尤度関数の期待値の式を書き下せ。
また対応するMステップの式 (12.69)(12.70) を導け。

参照

\begin{eqnarray}
{\bf S}=\frac{1}{N}\sum_{n=1}^N({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top\tag{12.3}
\end{eqnarray}

\begin{eqnarray}
p({\bf z})={\mathcal N}({\bf z}|{\bf 0},{\bf I})\tag{12.31}
\end{eqnarray}

\begin{eqnarray}
p({\bf x}|{\bf z})={\mathcal N}({\bf x}|{\bf W}{\bf z}+{\boldsymbol\mu},{\boldsymbol\Psi})\tag{12.64}
\end{eqnarray}

\begin{eqnarray}
{\bf W}_{\rm new}=\left(\sum_{n=1}^N({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top\right)\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right)^{-1}\tag{12.69}
\end{eqnarray}

\begin{eqnarray}
{\boldsymbol\Psi}_{\rm new}={\rm diag}\left({\bf S}-{\bf W}_{\rm new}\frac{1}{N}\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)\tag{12.70}
\end{eqnarray}

解答

完全データの尤度関数は、次のように書けます。

\begin{eqnarray}
p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},{\boldsymbol\Psi})&=&\prod_{n=1}^Np({\bf x}_n|{\bf z}_n)p({\bf z}_n)\\
&=&\prod_{n=1}^N\underbrace{{\mathcal N}({\bf x}_n|{\bf W}{\bf z}_n+{\boldsymbol\mu},{\boldsymbol\Psi})}_{(12.64)}\underbrace{{\mathcal N}({\bf z}_n|{\bf 0},{\bf I})}_{(12.31)}\\
&=&\prod_{n=1}^N{\mathcal N}({\bf x}_n|{\bf W}{\bf z}_n+\bar{\bf x},{\boldsymbol\Psi}){\mathcal N}({\bf z}_n|{\bf 0},{\bf I})\tag{1}
\end{eqnarray}

(1) より、完全データの対数尤度関数は以下のようになります。

\begin{eqnarray}
\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},{\boldsymbol\Psi})&=&\ln \prod_{n=1}^N{\mathcal N}({\bf x}_n|{\bf W}{\bf z}_n+\bar{\bf x},{\boldsymbol\Psi}){\mathcal N}({\bf z}_n|{\bf 0},{\bf I})\\
&=&\sum_{n=1}^N\left(\ln{\mathcal N}({\bf x}_n|{\bf W}{\bf z}_n+\bar{\bf x},{\boldsymbol\Psi}) + \ln{\mathcal N}({\bf z}_n|{\bf 0},{\bf I})\right)\\
&=&\sum_{n=1}^N\left(-\frac{M}{2}\ln(2\pi)-\frac{1}{2}\ln|{\boldsymbol\Psi}|-\frac{1}{2}({\bf x}_n-{\bf W}{\bf z}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-{\bf W}{\bf z}_n-\bar{\bf x})-\frac{D}{2}\ln(2\pi)-\frac{1}{2}\underbrace{\ln|{\bf I}|}_{=0}-\frac{1}{2}{\bf z}_n^\top{\bf z}_n\right)\\
&=&-\frac{1}{2}\sum_{n=1}^N\left(M\ln(2\pi)+\ln|{\boldsymbol\Psi}|+D\ln(2\pi)+{\bf z}_n^\top{\bf z}_n+({\bf x}_n-{\bf W}{\bf z}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-{\bf W}{\bf z}_n-\bar{\bf x})\right)\\
&=&-\frac{1}{2}\sum_{n=1}^N\bigg(M\ln(2\pi)+\ln|{\boldsymbol\Psi}|+D\ln(2\pi)+{\rm Tr}({\bf z}_n^\top{\bf z}_n)\\
&&+({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})-2{\bf z}_n^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})+{\bf z}_n^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W}{\bf z}_n\bigg)\\
&=&-\frac{1}{2}\sum_{n=1}^N\bigg(M\ln(2\pi)+\ln|{\boldsymbol\Psi}|+D\ln(2\pi)+{\rm Tr}({\bf z}_n{\bf z}_n^\top)\\
&&+({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})-2{\bf z}_n^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})+{\rm Tr}({\bf z}_n{\bf z}_n^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W})\bigg)\tag{2}
\end{eqnarray}

(2) に、p({\bf Z}|{\bf X}) に関する期待値を取ります。

\begin{eqnarray}
&&{\mathbb E}_{p({\bf Z}|{\bf X})}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},{\boldsymbol\Psi})]\\
&=&-\frac{1}{2}\sum_{n=1}^N\bigg(M\ln(2\pi)+\ln|{\boldsymbol\Psi}|+D\ln(2\pi)+{\rm Tr}({\mathbb E}_{p({\bf z}_n|{\bf x}_n)}[{\bf z}_n{\bf z}_n^\top])\\
&&+({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})-2{\mathbb E}_{p({\bf z}_n|{\bf x}_n)}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})+{\rm Tr}({\mathbb E}_{p({\bf z}_n|{\bf x}_n)}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W})\bigg)\\
&=&-\frac{1}{2}\sum_{n=1}^N\bigg(M\ln(2\pi)+\ln|{\boldsymbol\Psi}|+D\ln(2\pi)+{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top])\\
&&+({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})-2{\mathbb E}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})+{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W})\bigg)\tag{3}
\end{eqnarray}

(3) より、因子分析モデルの完全データ対数尤度関数の期待値の式が求まりました。

(3){\bf W}微分して、={\bf O} とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial{\bf W}}{\mathbb E}_{p({\bf Z}|{\bf X})}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},{\boldsymbol\Psi})]={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg(-2\frac{\partial}{\partial{\bf W}}{\mathbb E}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})+\frac{\partial}{\partial{\bf W}}{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W})\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\left(-2\frac{\partial}{\partial{\bf W}}{\rm Tr}\left({\mathbb E}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})\right)+\frac{\partial}{\partial{\bf W}}{\rm Tr}({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W})\right)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg(-2\frac{\partial}{\partial{\bf W}}\underbrace{{\rm Tr}\left({\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top\right)}_{{\rm Tr}({\bf AB})={\rm Tr}({\bf BA})}+\frac{\partial}{\partial{\bf W}}\underbrace{{\rm Tr}({\bf W}{\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1})}_{{\rm Tr}({\bf AB})={\rm Tr}({\bf BA})}\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg(-2\underbrace{{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top}_{\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B})={\bf B}}+\underbrace{({\boldsymbol\Psi}^{-1})^\top{\bf W}({\mathbb E}[{\bf z}_n{\bf z}_n^\top])^\top+{\boldsymbol\Psi}^{-1}{\bf W}{\mathbb E}[{\bf z}_n{\bf z}_n^\top]}_{\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top{\bf C})={\bf C}^\top{\bf A}{\bf B}^\top+{\bf C}{\bf A}{\bf B}}\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg(-2{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top+2{\boldsymbol\Psi}^{-1}{\bf W}{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\bigg)={\bf O}\\
&&\Leftrightarrow {\boldsymbol\Psi}^{-1}{\bf W}\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]={\boldsymbol\Psi}^{-1}\sum_{n=1}^N({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top\\
&&\Leftrightarrow {\bf W}\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]=\sum_{n=1}^N({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top\\
&&\Leftrightarrow {\bf W}=\left(\sum_{n=1}^N({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top\right)\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right)^{-1}\tag{4}
\end{eqnarray}

(4) より、式 (12.69) が求まりました。

(3){\boldsymbol\Psi}微分して、={\bf O} とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial{\boldsymbol\Psi}}{\mathbb E}_{p({\bf Z}|{\bf X})}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf W},{\boldsymbol\Psi})]={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg(\frac{\partial}{\partial{\boldsymbol\Psi}}\ln|{\boldsymbol\Psi}|+\frac{\partial}{\partial{\boldsymbol\Psi}}({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})-2\frac{\partial}{\partial{\boldsymbol\Psi}}{\mathbb E}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})+\frac{\partial}{\partial{\boldsymbol\Psi}}{\rm Tr}\left({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W}\right)\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg(\underbrace{({\boldsymbol\Psi}^{-1})^\top}_{\frac{\partial}{\partial{\bf A}}\ln|{\bf A}|=({\bf A}^{-1})^\top}+\frac{\partial}{\partial{\boldsymbol\Psi}}{\rm Tr}\left(({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})\right)\\
&&-2\frac{\partial}{\partial{\boldsymbol\Psi}}{\rm Tr}\left({\mathbb E}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})\right)+\frac{\partial}{\partial{\boldsymbol\Psi}}{\rm Tr}\left({\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}{\bf W}\right)\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg({\boldsymbol\Psi}^{-1}+\frac{\partial}{\partial{\boldsymbol\Psi}}\underbrace{{\rm Tr}\left({\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top\right)}_{{\rm Tr}({\bf AB})={\rm Tr}({\bf BA})}\\
&&-2\frac{\partial}{\partial{\boldsymbol\Psi}}\underbrace{{\rm Tr}\left({\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top{\bf W}^\top\right)}_{{\rm Tr}({\bf AB})={\rm Tr}({\bf BA})}+\frac{\partial}{\partial{\boldsymbol\Psi}}\underbrace{{\rm Tr}\left({\boldsymbol\Psi}^{-1}{\bf W}{\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top\right)}_{{\rm Tr}({\bf AB})={\rm Tr}({\bf BA})}\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg({\boldsymbol\Psi}^{-1}\underbrace{-\left({\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}\right)^\top}_{\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top}\\
&&-2\cdot\underbrace{-\left({\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top{\bf W}^\top{\boldsymbol\Psi}^{-1}\right)^\top}_{\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top}\underbrace{-\left({\boldsymbol\Psi}^{-1}{\bf W}{\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}\right)^\top}_{\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top}\bigg)={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\bigg({\boldsymbol\Psi}^{-1}-{\boldsymbol\Psi}^{-1}({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}\\
&&+2{\boldsymbol\Psi}^{-1}{\bf W}{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top{\boldsymbol\Psi}^{-1}-{\boldsymbol\Psi}^{-1}{\bf W}{\mathbb E}[{\bf z}_n{\bf z}_n^\top]{\bf W}^\top{\boldsymbol\Psi}^{-1}\bigg)={\bf O}\\
&&\Leftrightarrow N{\boldsymbol\Psi}^{-1}-{\boldsymbol\Psi}^{-1}\left(\sum_{n=1}^N({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top\right){\boldsymbol\Psi}^{-1}\\
&&+2{\boldsymbol\Psi}^{-1}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right){\boldsymbol\Psi}^{-1}-{\boldsymbol\Psi}^{-1}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right){\bf W}^\top{\boldsymbol\Psi}^{-1}={\bf O}\\
&&\Leftrightarrow{\boldsymbol\Psi}^{-1}=\frac{1}{N}{\boldsymbol\Psi}^{-1}\left(\sum_{n=1}^N({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top\right){\boldsymbol\Psi}^{-1}\\
&&-\frac{2}{N}{\boldsymbol\Psi}^{-1}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right){\boldsymbol\Psi}^{-1}+\frac{1}{N}{\boldsymbol\Psi}^{-1}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right){\bf W}^\top{\boldsymbol\Psi}^{-1}\\
&&\Leftrightarrow{\boldsymbol\Psi}=\underbrace{\frac{1}{N}\left(\sum_{n=1}^N({\bf x}_n-\bar{\bf x})({\bf x}_n-\bar{\bf x})^\top\right)}_{={\bf S}}-\frac{2}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)+\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right){\bf W}^\top\\
&&\Leftrightarrow{\boldsymbol\Psi}={\bf S}-\frac{2}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)+\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right){\bf W}^\top\tag{5}
\end{eqnarray}

(5) の右辺の {\bf W}^\top に式 (4) を代入します。

\begin{eqnarray}
&&\Leftrightarrow{\boldsymbol\Psi}={\bf S}-\frac{2}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)+\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right)\left( \left(\sum_{n=1}^N({\bf x}_n-\bar{\bf x}){\mathbb E}[{\bf z}_n]^\top\right)\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right)^{-1}\right)^\top\\
&&\Leftrightarrow{\boldsymbol\Psi}={\bf S}-\frac{2}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)+\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right)\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n{\bf z}_n^\top]\right)^{-1}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)\\
&&\Leftrightarrow{\boldsymbol\Psi}={\bf S}-\frac{2}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)+\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)\\
&&\Leftrightarrow{\boldsymbol\Psi}={\bf S}-\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)\tag{6}
\end{eqnarray}

{\boldsymbol\Psi} の非対角成分は 0 なので、\rm diag という操作を式 (6) に行います。
※'\rm diag' という操作は行列の全ての非対角要素を 0 とおく演算子です。(PRML下巻 p303参照)

\begin{eqnarray}
{\boldsymbol\Psi}={\rm diag}\left({\bf S}-\frac{1}{N}{\bf W}\left(\sum_{n=1}^N{\mathbb E}[{\bf z}_n]({\bf x}_n-\bar{\bf x})^\top\right)\right)\tag{7}
\end{eqnarray}

(7) より、式 (12.70) が示せました。

補足

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B})={\bf B},\ \dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top{\bf C})={\bf C}^\top{\bf A}{\bf B}^\top+{\bf C}{\bf A}{\bf B},\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top の証明については、
ベクトルと行列に関する微分の公式導出 をご覧ください。

目次へ戻る