ユーザ用ツール

サイト用ツール


prml演習9.2の解答

PRML演習9.2の解答

\[ \newcommand\l{\left} \newcommand\r{\right} \newcommand\tcmt[1]{\class{TinyCmt}{\mbox{#1}}} \newcommand\cmt[1]{\class{Cmt}{\mbox{#1}}} \newcommand\cause[1]{\class{Tiny}{(\because #1)}} \newcommand\b[1]{\class{Bold}{\mathrm{#1}}} \newcommand\bx{\b{x}} \newcommand\bmu{\b{\mu}} \newcommand\pdiff[2]{\frac{\partial #1}{\partial #2}} \]


\[ \begin{align} J = \sum_{n=1}^N \sum_{k=1}^K \gamma_{nk} \| \bx_n - \bmu_k \|^2 \tag{9.1} \end{align} \] \(J\) の極小点は \[ \begin{align} 0 = \pdiff{J}{\bmu_k} &= \sum_{n=1}^N \gamma_{nk} \pdiff{}{\bmu_k} \| \bx_n - \bmu_k \|^2 \\ &= \sum_{n=1}^N \gamma_{nk} \{ - 2 (\bx_n - \bmu_k) \} ~~~ \cmt{※1} \end{align} \]
\( \begin{align} \cmt{※1}~&\pdiff{}{\bmu_k}(\bx_n - \bmu_k)^T (\bx_n - \bmu_k) \\ &~~~= \pdiff{}{\bmu_k} ( \bx_n^T \bx_n - 2 \underset{\cmt{※2}}{\bmu_k^T \bx_n} + \bmu_k^T\bmu_k ) \\ &~~~= -2 \underset{\cmt{※3}}{\bx_n} + 2 \underset{\cmt{※4}}{\bmu_k} \end{align} \)
\( \begin{align} \cmt{※2}~\bmu_k^T \bx_n = \bx_n^T \bmu_k~(スカラーなので) \end{align} \)
\( \begin{align} \cmt{※3}~(C.19)より \end{align} \)
\( \begin{align} \cmt{※4}~&\pdiff{}{\mu_i}\bmu^T\bmu=\pdiff{}{\mu_i}(\mu_1^2+\mu_2^2+\cdots) = 2\mu_i \\ & \therefore \pdiff{}{\bmu}\bmu^T\bmu = 2\bmu ~ (分母レイアウト) \end{align} \)
で与えられる。 \(\gamma_{nk} = 1\) となる \(\bx_n\) を \(\bx_{ik} \) とし、\(\gamma_{nk} = 1\) となる \(\bx_n\) の個数を \(N_k\) とすると \[ \begin{align} 0 = \sum_{i=1}^{N_k} \{ -2 (\bx_{ik} - \bmu_k) \} \tag{1} \end{align} \] となる。(1) の右辺の \(\bx_{ik} - \bmu_k \) という形から類推して \[ p(\bx_{ik} \mid \bmu_k) = {\cal N}(\bx_{ik} \mid \bmu_k, \b{I}) \] という分布を考える。すると \[ \begin{align} & - \pdiff{}{\bmu_k} \{ \frac{1}{N_k}\sum_{i=1}^{N_k} \ln p(\bx_{ik} \mid \bmu_k) \} \\ & ~~~ = -\frac{1}{N_k} \sum_{i=1}^{N_k} \{ \pdiff{}{\bmu_k} \ln p(\bx_{ik} \mid \bmu_k) \} \\ & ~~~ = -\frac{1}{N_k} \sum_{i=1}^{N_k} (\bx_{ik} - \bmu_k) ~~~ \cmt{※5} \\ & ~~~ = 0 ~~~(\because (1)) \end{align} \]
\( \begin{align} \cmt{※5}~&\pdiff{}{\bmu_k}\ln p(\bx_{ik} \mid \bmu_k) = \pdiff{}{\bmu_k}\ln {\cal N}(\bx_{ik} \mid \bmu_k, \b{I}) \\ &~~~=\pdiff{}{\bmu_k}\ln \frac{1}{(2\pi)^{\frac{D}{2}}} \exp\{-\frac{1}{2}(\bx_{ik}-\bmu_k)^2\} \\ &~~~=\pdiff{}{\bmu_k}\{ -\frac{1}{2} (\bx_{ik} - \bmu_k)^2 \} \\ &~~~=\bx_{ik} - \bmu_k ~~~(\because \cmt{※1} より) \end{align} \)
となり、(2.133)と同じような式が得られる。また(2.134)と同様に以下の式 \[ - \lim_{N_k \rightarrow\infty} \frac{1}{N_k} \sum_{i=1}^{N_k} \pdiff{}{\bmu_k} \ln p(\bx_{ik} \mid \bmu_k) = \mathbb{E}_{\bx_{ik}} \l[-\pdiff{}{\bmu_k}\ln p(\bx_{ik}\mid \bmu_k) \r] \] が成立している。なので結局 (1) の解は、 \( p(\bx_{ik} \mid \bmu_k) = {\cal N}(\bx_{ik} \mid \bmu_k, \b{I}) \) としたときの 回帰関数 \(\mathbb{E}_{\bx_{ik}} \l[ -\pdiff{}{\bmu_k}\ln p(\bx_{ik} \mid \bmu_k) \r] = 0\) の根と同じであることが分かる。 なので、Robbins-Monro法を適用することができ、(2.135) に対応する式 \[ \bmu_k^{(i)} = \bmu_k^{(i-1)} - a_{i-1}\pdiff{}{\bmu_k^{(i-1)}}\l[-\ln p(\bx_{ik} \mid \bmu_k^{(i-1)}) \r] \] を使うことができる。これより \[ \bmu_k^{(i)} = \bmu_k^{(i-1)} - a_{i-1}(\bx_{ik} - \bmu_k^{(i-1)}) ~~~(\because \cmt{※5}より) \] を得る。\((i)\) を \(new\) とし、\((i-1)\) を \(old\) とし、\(\bx_{ik}\) を \(\bx_n\) に戻し \(a_{i-1} \) を \(\eta_n\) とおくと \[ \begin{align} \bmu_k^{new} = \bmu_k^{old} - \eta_n(\bx_n - \bmu_k^{old}) \tag{9.5} \end{align} \] を得る。

Robbins-Monro法は、更新ステップで使う観測値 \( \b{z}_n = \bx_n - \bmu_k^{old} \) が確率的にあたえられる。このため、\(\bmu_k^{new}\) が解 \(\bmu_k\) に確率的に近づく(酔歩っぽく近づく)。なのでこれを確率的アルゴリズムといっている。

prml演習9.2の解答.txt · 最終更新: 2018/01/22 18:38 by ma

ページ用ツール