機械学習基礎理論独習

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

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

PRML演習問題 1.30(標準)

問題

2つのガウス分布p(x)={\mathcal N}(x|\mu,\sigma^2)q(x)={\mathcal N}(x|m,s^2)の間の
カルバック-ライブラーダイバージェンス(1.113)を計算せよ。

参照

\begin{eqnarray}
{\rm H}[{\bf x}]=-\int p({\bf x})\ln p({\bf x}){\rm d}{\bf x}\tag{1.104}
\end{eqnarray}

\begin{eqnarray}
p(x)=\frac{1}{(2\pi\sigma^2)^{1/2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)\tag{1.109}
\end{eqnarray}

\begin{eqnarray}
{\rm H}[x]=\frac{1}{2}\left(1+\ln(2\pi\sigma^2)\right)\tag{1.110}
\end{eqnarray}

\begin{eqnarray}
{\rm KL}(p||q)&=&-\int p({\bf x})\ln q({\bf x}){\rm d}{\bf x}-\left(-\int p({\bf x})\ln p({\bf x}){\rm d}{\bf x}\right)\\
&=&-\int p({\bf x})\ln \left(\frac{q({\bf x})}{p({\bf x})}\right){\rm d}{\bf x}\tag{1.113}
\end{eqnarray}

解答

{\rm KL}(p(x)||q(x))を計算します。

\begin{eqnarray}
{\rm KL}(p(x)||q(x))&=&-\int p(x)\ln q(x){\rm d}x-\left(-\int p(x)\ln p(x){\rm d}x\right)\\
&=&-\int p(x)\ln q(x){\rm d}x-{\rm H}_{p(x)}[x]\tag{1}\\
&=&-\int p(x)\ln q(x){\rm d}x-\frac{1}{2}\left(1+\ln(2\pi\sigma^2)\right)\tag{2}
\end{eqnarray}

(1)で、式(1.104)で用いました。
(2)で、式(1.110)で用いました。
(2)の第1項-\displaystyle\int p(x)\ln q(x){\rm d}xp(x)={\mathcal N}(x|\mu,\sigma^2)q(x)={\mathcal N}(x|m,s^2)を代入します。

\begin{eqnarray}
 -\int p(x)\ln q(x){\rm d}x&=&-\int {\mathcal N}(x|\mu,\sigma^2)\ln {\mathcal N}(x|m,s^2){\rm d}x\\
&=&-\int {\mathcal N}(x|\mu,\sigma^2)\ln\left(\frac{1}{(2\pi s^2)^{1/2}}\exp\left(-\frac{(x-m)^2}{2s^2}\right)\right){\rm d}x\\
&=&-\int {\mathcal N}(x|\mu,\sigma^2)\left(-\frac{1}{2}\ln(2\pi s^2)-\frac{(x-m)^2}{2s^2}\right){\rm d}x\\
&=&\int {\mathcal N}(x|\mu,\sigma^2)\left(\frac{1}{2}\ln(2\pi s^2)+\frac{x^2}{2s^2}-\frac{mx}{s^2}+\frac{m^2}{2s^2}\right){\rm d}x\\
&=&\frac{1}{2}\ln(2\pi s^2)+\frac{1}{2s^2}{\mathbb E}[x^2]-\frac{m}{s^2}{\mathbb E}[x]+\frac{m^2}{2s^2}\\
&=&\frac{1}{2}\ln(2\pi s^2)+\frac{1}{2s^2}(\mu^2+\sigma^2)-\frac{m}{s^2}\mu+\frac{m^2}{2s^2}\tag{3}\\
&=&\frac{1}{2}\left(\ln(2\pi s^2)+\frac{\mu^2+\sigma^2-2\mu m+m^2}{s^2}\right)\tag{4}
\end{eqnarray}

(3){\mathbb E}[x^2]=\mu^2+\sigma^2,{\mathbb E}[x]=\muを用いました。
(4)を式(2)に代入します。

\begin{eqnarray}
{\rm KL}(p(x)||q(x))&=&\frac{1}{2}\left(\ln(2\pi s^2)+\frac{\mu^2+\sigma^2-2\mu m+m^2}{s^2}\right)-\frac{1}{2}\left(1+\ln(2\pi\sigma^2)\right)\\
&=&\frac{1}{2}\left(\ln\left(\frac{s^2}{\sigma^2}\right)+\frac{\mu^2+\sigma^2-2\mu m+m^2}{s^2}-1\right)\tag{5}
\end{eqnarray}

(5)より、2つのガウス分布p(x)q(x)の間のカルバック-ライブラーダイバージェンスが計算できました。

補足

{\rm KL}(p||q)を計算する際に、{\rm H}[\cdot]を用いることがよくあります。

目次へ戻る