PRML10章 演習10.39解答(その2:(10.218)の導出)

機械学習・AI
Sponsored

問題、記号の意味、利用した式については

【PRML10章 演習10.39解答】EP法による事後分布の更新
PRML10章 演習10.39の解答・解説。EP法によって更新した事後分布の平均と分散を導出する。それに際し、パラメータの期待値を計算する。その後近似因子のパラメータを求め、モデルエビデンスが近似される値を導く。

を参照。

目標

\(q^{\mathrm{new}}(\boldsymbol{\theta})\) の平均と分散を \(q^{\backslash n}(\boldsymbol{\theta})f_{n}(\boldsymbol{\theta})\) のものと一致させたとき、 \(q^{\mathrm{new}}(\boldsymbol{\theta})\) の下での \(\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}\) の期待値が

$$\mathbb{E}[\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}]=2(\nu^{\backslash n})^{2}\nabla_{\nu^{\backslash n}}\ln{Z_{n}}+2\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D\tag{10.245}$$

となることを証明し、 \(q^{\mathrm{new}}(\boldsymbol{\theta})\) の分散 \(\nu^{\mathrm{new}}\) が

$$\nu^{\mathrm{new}}=\nu^{\backslash n}-\rho_{n}\frac{(\nu^{\backslash n})^{2}}{\nu^{\backslash n}+1}+\rho_{n}(1-\rho_{n})\frac{(\nu^{\backslash n})^{2}||\mathbf{x}_n-\mathbf{m}^{\backslash n}||^{2}}{D(\nu^{\backslash n}+1)^{2}}\tag{10.218}$$

となることを示す。

\(\mathbf{m}^{\mathrm{new}}, \rho_{n}\) の導出は

PRML10章 演習10.39解答(その1:(10.217),(10.219)の導出)
問題、記号の意味、利用した式については を参照。 目標 \(q^{\mathrm{new}}(\boldsymbol{\theta})\) の平均と分散を \(q^{\backslash n}(\boldsymbol{\theta})f_{...

を参照。

解答

\((10.206), q^{\backslash n}(\boldsymbol{\theta})=\mathcal{N}(\mathbf{m}^{\backslash n},\nu^{\backslash n}\mathbf{I})\) を代入して微分を計算すると

$$\nabla_{\nu^{\backslash n}}\ln{Z_{n}}=\frac{1}{Z_{n}}\nabla_{\nu^{\backslash n}}Z_{n}$$

$$=\frac{1}{Z_{n}}\nabla_{\nu^{\backslash n}}\int q^{\backslash n}(\boldsymbol{\theta})f_{n}(\boldsymbol{\theta})d\boldsymbol{\theta}=\frac{1}{Z_{n}}\int\left(\nabla_{\nu^{\backslash n}}q^{\backslash n}(\boldsymbol{\theta})\right)f_{n}(\boldsymbol{\theta})d\boldsymbol{\theta}$$

$$=\frac{1}{Z_{n}}\int\left\{\frac{1}{2\nu^{\backslash n}}\left(\frac{1}{\nu^{\backslash n}}(\mathbf{\theta}-\mathbf{m}^{\backslash n})^{\mathrm{T}}(\mathbf{\theta}-\mathbf{m}^{\backslash n})-D\right)\right\}q^{\backslash n}(\boldsymbol{\theta})f_{n}(\boldsymbol{\theta})d\boldsymbol{\theta}$$

$$=\frac{1}{2\nu^{\backslash n}}\int\left\{\frac{1}{\nu^{\backslash n}}\left(\mathbf{\theta}^{\mathrm{T}}\mathbf{\theta}-2\mathbf{\theta}^{\mathrm{T}}\mathbf{m}^{\backslash n}+||\mathbf{m}^{\backslash n}||^{2}\right)-D\right\}\frac{1}{Z_{n}}q^{\backslash n}(\boldsymbol{\theta})f_{n}(\boldsymbol{\theta})d\boldsymbol{\theta}$$

を得る。

ここで2→3行目の変形において

多次元ガウス分布の平均と分散による微分
前提 この記事では、多次元ガウス分布 の各パラメータ \(\boldsymbol{\mu},a\) による微分を導出する。 なお、ここでは上式のように、当方的な共分散行列を仮定し、\(\mathbf{I}\) は単位行列である。 結論 平均...

の結果を用いた。

被積分関数の第1項・第2項の積分はそれぞれ、分布 \((10.196)\) に対する \(\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta},\boldsymbol{\theta}\) の期待値を表し、第3項・第4項に対する積分は定数を対象としているので、分布のみ正規化される。

すなわち

$$\nabla_{\nu^{\backslash n}}\ln{Z_{n}}=\frac{1}{2\nu^{\backslash n}}\left\{\frac{1}{\nu^{\backslash n}}\left(\mathbb{E}[\mathbf{\theta}^{\mathrm{T}}\mathbf{\theta}]-2\mathbb{E}[\mathbf{\theta}^{\mathrm{T}}]\mathbf{m}^{\backslash n}+||\mathbf{m}^{\backslash n}||^{2}\right)-D\right\}$$

となる。

これを変形して

$$\mathbb{E}[\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}]=2(\nu^{\backslash n})^{2}\nabla_{\nu^{\backslash n}}\ln{Z_{n}}+2\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D\tag{10.245☆}$$

を得る。

また、 \(\nabla_{\nu^{\backslash n}}\ln{Z_{n}}\) は \((10.206)\) ではなく \((10.216)\) を代入することによっても計算できる。

$$\nabla_{\nu^{\backslash n}}\ln{Z_{n}}=\frac{1}{Z_{n}}\nabla_{\nu^{\backslash n}}Z_{n}$$

$$=\frac{1}{Z_{n}}\nabla_{\nu^{\backslash n}}\left\{(1-\omega)\mathcal{N}(\mathbf{x}_{n}|\mathbf{m}^{\backslash n},(\nu^{\backslash n}+1)\mathbf{I})+\omega\mathcal{N}(\mathbf{x}_{n}|\mathbf{0},a\mathbf{I})\right\}$$

$$=\frac{1}{Z_{n}}(1-\omega)\mathcal{N}(\mathbf{x}_{n}|\mathbf{m}^{\backslash n},(\nu^{\backslash n}+1)\mathbf{I})\left\{\frac{1}{2(\nu^{\backslash n}+1)}\left(\frac{1}{\nu^{\backslash n}+1}(\mathbf{x}_{n}-\mathbf{m}^{\backslash n})^{\mathrm{T}}(\mathbf{x}_{n}-\mathbf{m}^{\backslash n})-D\right)\right\}$$

$$=\rho_{n}\frac{1}{2(\nu^{\backslash n}+1)}\left(\frac{1}{\nu^{\backslash n}+1}(\mathbf{x}_{n}-\mathbf{m}^{\backslash n})^{\mathrm{T}}(\mathbf{x}_{n}-\mathbf{m}^{\backslash n})-D\right)$$

$$=\rho_{n}\frac{1}{2}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)\tag{1}$$

2→3行目の変形でも、多次元ガウス分布の平均と分散による微分の結果を、第1項のみが \(\nu^{\backslash n}\) に依存することと共に用いた。

また

$$\rho_{n}=\frac{1}{Z_{n}}(1-\omega)\mathcal{N}(\mathbf{x}_{n}|\mathbf{m}^{\backslash n},(\nu^{\backslash n}+1)\mathbf{I})\tag{2}$$

$$\mathbf{a}=\frac{1}{\nu^{\backslash n}+1}(\mathbf{x}_{n}-\mathbf{m}^{\backslash n})\tag{3}$$

と置いた。

式 \((2)\) から \((10.219)\) を導出する方法については、解答その1を参照。

これまで考えてきたのは分布 \(q^{\backslash n}(\boldsymbol{\theta})f_{n}(\boldsymbol{\theta})\) についてであるが、この平均と分散を \(q^{\mathrm{new}}(\boldsymbol{\theta})\) のものと一致させることにより、共分散の性質から

$$\nu^{\mathrm{new}}\mathbf{I}=\mathbb{E}[\boldsymbol{\theta}\boldsymbol{\theta}^{\mathrm{T}}]-\mathbb{E}[\boldsymbol{\theta}]\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}$$

を得る。

両辺のトレースを取ると

$$\mathrm{Tr}\left(\nu^{\mathrm{new}}\mathbf{I}\right)=\mathrm{Tr}\left(\mathbb{E}[\boldsymbol{\theta}\boldsymbol{\theta}^{\mathrm{T}}]\right)-\mathrm{Tr}\left(\mathbb{E}[\boldsymbol{\theta}]\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\right)$$

$$D\nu^{\mathrm{new}}=\mathbb{E}[\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}]-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbb{E}[\boldsymbol{\theta}]\tag{4}$$

となる。

ここでトレースの関係式

$$\mathrm{Tr}\left(\mathbf{AB}\right)=\mathrm{Tr}\left(\mathbf{BA}\right)$$

を用いた。

解答その1と式 ((3)) より

$$\mathbb{E}[\boldsymbol{\theta}]=\mathbf{m}^{\backslash n}+\rho_{n}\nu^{\backslash n}\mathbf{a}$$

となるので、これと \((10.245), (1)\) を順次、式 \((4)\) に代入して

$$D\nu^{\mathrm{new}}=2(\nu^{\backslash n})^{2}\nabla_{\nu^{\backslash n}}\ln{Z_{n}}+2\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbb{E}[\boldsymbol{\theta}]$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+2\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbb{E}[\boldsymbol{\theta}]$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+2\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\left(\mathbf{m}^{\backslash n}+\rho_{n}\nu^{\backslash n}\mathbf{a}\right)$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\rho_{n}\nu^{\backslash n}\mathbf{a}$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+\left(\mathbf{m}^{\backslash n}+\rho_{n}\nu^{\backslash n}\mathbf{a}\right)^{\mathrm{T}}\mathbf{m}^{\backslash n}-||\mathbf{m}^{\backslash n}||^{2}+\nu^{\backslash n}D-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\rho_{n}\nu^{\backslash n}\mathbf{a}$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+\rho_{n}\nu^{\backslash n}\mathbf{a}^{\mathrm{T}}\mathbf{m}^{\backslash n}+\nu^{\backslash n}D-\mathbb{E}[\boldsymbol{\theta}]^{\mathrm{T}}\rho_{n}\nu^{\backslash n}\mathbf{a}$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+\rho_{n}\nu^{\backslash n}\mathbf{a}^{\mathrm{T}}\mathbf{m}^{\backslash n}+\nu^{\backslash n}D-\left(\mathbf{m}^{\backslash n}+\rho_{n}\nu^{\backslash n}\mathbf{a}\right)^{\mathrm{T}}\rho_{n}\nu^{\backslash n}\mathbf{a}$$

$$=(\nu^{\backslash n})^{2}\rho_{n}\left(||\mathbf{a}||^2-\frac{D}{\nu^{\backslash n}+1}\right)+\nu^{\backslash n}D-\rho_{n}^{2}(\nu^{\backslash n})^{2}||\mathbf{a}||^{2}$$

$$=\nu^{\backslash n}D-\rho_{n}\frac{(\nu^{\backslash n})^{2}D}{\nu^{\backslash n}+1}+\rho_{n}(1-\rho_{n})||\mathbf{a}||^2$$

となる。

両辺を \(D\) で割って、式 \((3)\) を再代入すると

$$\nu^{\mathrm{new}}=\nu^{\backslash n}-\rho_{n}\frac{(\nu^{\backslash n})^{2}}{\nu^{\backslash n}+1}+\rho_{n}(1-\rho_{n})\frac{(\nu^{\backslash n})^{2}||\mathbf{x}_n-\mathbf{m}^{\backslash n}||^{2}}{D(\nu^{\backslash n}+1)^{2}}\tag{10.218☆}$$

を得る。

つづき↓

PRML10章 演習10.39解答(その3:(10.220)-(10.222)の導出)
問題、記号の意味、利用した式については を参照。 目標 改良された近似因子 \(\tilde{f}_{n}(\boldsymbol{\theta})\) のパラメータが $$\nu_{n}^{-1}=(\nu^{\mathrm{new}})...

Comments