【PRML10章 演習10.38解答】EP法による事後分布の近似

機械学習・AI
Sponsored

問題

EP法における事後分布の近似 \(q(\boldsymbol{\theta})\) から近似因子 \(\tilde{f}_{n}(\boldsymbol{\theta})\) を除いた \(q^{\backslash n}(\boldsymbol{\theta})\) の平均 \(\mathbf{m}^{\backslash n}\) と分散 \(\nu^{\backslash n}\)が、それぞれ

$$\mathbf{m}^{\backslash n}=\mathbf{m}+\nu^{\backslash n}\nu_{n}^{-1}(\mathbf{m}-\mathbf{m}_{n})\tag{10.214}$$

$$(\nu^{\backslash n})^{-1}=\nu^{-1}-\nu_{n}^{-1}\tag{10.215}$$

で与えられることを示せ。

また、これと因子 \(f_{n}(\boldsymbol{\theta})\) との積によって表される分布 \(q^{\backslash n}(\boldsymbol{\theta})f_{n}(\boldsymbol{\theta})\) の正規化定数 \(Z_{n}\) が

$$Z_{n}=(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})\tag{10.216}$$

で与えられることを示せ。

解答

証明

\((10.205),(10.212),(10.213)\) より

$$q^{\backslash j}(\boldsymbol{\theta})=\frac{\nu_{n}}{s_{n}\nu}\exp{\left(-\frac{1}{2\nu}(\boldsymbol{\theta}-\mathbf{m})^{\mathrm{T}}(\boldsymbol{\theta}-\mathbf{m})+\frac{1}{2\nu_{n}}(\boldsymbol{\theta}-\mathbf{m}_{n})^{\mathrm{T}}(\boldsymbol{\theta}-\mathbf{m}_{n})\right)}$$

ここで上式の指数内部が

$$-\frac{1}{2\nu^{\backslash n}}(\boldsymbol{\theta}-\mathbf{m}^{\backslash n})^{\mathrm{T}}(\boldsymbol{\theta}-\mathbf{m}^{\backslash n})$$

$$=-\frac{1}{2\nu^{\backslash n}}\left(\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}-\boldsymbol{\theta}^{\mathrm{T}}\mathbf{m}^{\backslash n}-(\mathbf{m}^{\backslash n})^{\mathrm{T}}\boldsymbol{\theta}+(\mathbf{m}^{\backslash n})^{\mathrm{T}}\mathbf{m}^{\backslash n}\right)\tag{1}$$

と平方完成されるとする。 \(\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}\) に依存する項を抜き出すと

$$-\frac{1}{2\nu}\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}+\frac{1}{2\nu_{n}}\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}=-\frac{1}{2}\left(\frac{1}{\nu}+\frac{1}{\nu_{n}}\right)\boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{\theta}$$

より、 \((1)\) と係数を比較して

$$(\nu^{\backslash n})^{-1}=\nu^{-1}-\nu_{n}^{-1}\tag{10.215☆}$$

が得られる。同様に、 \(\boldsymbol{\theta}^{\mathrm{T}}\) にのみ依存する項を抜き出して

$$-\frac{1}{2\nu}\boldsymbol{\theta}^{\mathrm{T}}\mathbf{m}+\frac{1}{2\nu_{n}}\boldsymbol{\theta}^{\mathrm{T}}\mathbf{m}_{n}=-\frac{1}{2}\boldsymbol{\theta}^{\mathrm{T}}\left(\frac{1}{\nu}\mathbf{m}+\frac{1}{\nu_{n}}\mathbf{m}_{n}\right)$$

より、再び \((1)\) と係数を比較して

$$(\nu^{\backslash n})^{-1}\mathbf{m}^{\backslash n}=\nu^{-1}\mathbf{m}-\nu_{n}^{-1}\mathbf{m}_{n}$$

$$(\nu^{\backslash n})^{-1}\mathbf{m}^{\backslash n}=\left((\nu^{\backslash n})^{-1}+\nu_{n}^{-1}\right)\mathbf{m}-\nu_{n}^{-1}\mathbf{m}_{n}\quad(\because(10.215))$$

$$(\nu^{\backslash n})^{-1}\mathbf{m}^{\backslash n}=(\nu^{\backslash n})^{-1}\mathbf{m}+\nu_{n}^{-1}\left(\mathbf{m}-\mathbf{m}_{n}\right)$$

$$\mathbf{m}^{\backslash n}=\mathbf{m}+\nu_{n}^{-1}\nu^{\backslash n}\left(\mathbf{m}-\mathbf{m}_{n}\right)\tag{10.214☆}$$

が得られる。

正規化定数については、 \((10.206)\) に \(q^{\backslash j}(\boldsymbol{\theta})=\mathcal{N}(\boldsymbol{\theta}|\mathbf{m}^{\backslash n},\nu^{\backslash n}\mathbf{I})\) , \(f_{n}(\boldsymbol{\theta})=p(\mathbf{x}_{n}|\boldsymbol{\theta})\) を代入して

$$Z_{j}=\int q^{\backslash j}(\boldsymbol{\theta})f_{j}(\boldsymbol{\theta})d\boldsymbol{\theta}$$

$$=\int \mathcal{N}(\boldsymbol{\theta}|\mathbf{m}^{\backslash n},\nu^{\backslash n}\mathbf{I})\left\{(1-\omega)\mathcal{N}(\mathbf{x}_n|\boldsymbol{\theta},\mathbf{I})+\omega\mathcal{N}(\mathbf{x}_n|\mathbf{0},a\mathbf{I})\right\}d\boldsymbol{\theta}$$

$$=(1-\omega)\int\mathcal{N}(\boldsymbol{\theta}|\mathbf{m}^{\backslash n},\nu^{\backslash n}\mathbf{I})\mathcal{N}(\mathbf{x}_n|\boldsymbol{\theta},\mathbf{I})d\boldsymbol{\theta}+\omega\int\mathcal{N}(\boldsymbol{\theta}|\mathbf{m}^{\backslash n},\nu^{\backslash n}\mathbf{I})\mathcal{N}(\mathbf{x}_n|\mathbf{0},a\mathbf{I})d\boldsymbol{\theta}$$

ここで、2行目の変形には \((10.209)\) を用いた。

変数を \(\boldsymbol{\theta}\rightarrow\mathbf{x}, \mathbf{x}_n\rightarrow\mathbf{y}\) と置いて \((2.113), (2.114)\) と対応させると、

$$\mathbf{x}=\boldsymbol{\theta}, \boldsymbol{\mu}=\mathbf{m}^{\backslash n}, \boldsymbol{\Lambda}^{-1}=\nu^{\backslash n}\mathbf{I}$$

$$\mathbf{y}=\mathbf{x}_n, \mathbf{A}=\left\{\mathbf{I}, \mathbf{0}\right\}, \mathbf{L}^{-1}=\left\{\mathbf{I}, a\mathbf{I}\right\}$$

となり、 \((2.115)\) との関係から

$$Z_{n}=(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})\tag{10.216☆}$$

を得る。

証明に用いた式

$$q^{\backslash j}(\boldsymbol{\theta})=\frac{q(\boldsymbol{\theta})}{\tilde{f}_{j}(\boldsymbol{\theta})}\tag{10.205}$$

$$Z_{j}=\int q^{\backslash j}(\boldsymbol{\theta})f_{j}(\boldsymbol{\theta})d\boldsymbol{\theta}\tag{10.206}$$

$$p(\mathbf{x}|\boldsymbol{\theta})=(1-\omega)\mathcal{N}(\mathbf{x}|\boldsymbol{\theta},\mathbf{I})+\omega\mathcal{N}(\mathbf{x}|\mathbf{0},a\mathbf{I})\tag{10.209}$$

$$p(\boldsymbol{\theta})=\mathcal{N}(\boldsymbol{\theta}|\mathbf{0},b\mathbf{I})\tag{10.210}$$

$$q(\boldsymbol{\theta})=\mathcal{N}(\boldsymbol{\theta}|\mathbf{m},\nu\mathbf{I})\tag{10.212}$$

$$\tilde{f}_{n}(\boldsymbol{\theta})=s_{n}\mathcal{N}(\boldsymbol{\theta}|\mathbf{m}_{n},\nu_{n}\mathbf{I})\tag{10.213}$$

また、

$$p(\mathbf{x})=\mathcal{N}(\mathbf{x}|\boldsymbol{\mu},\boldsymbol{\Lambda}^{-1})\tag{2.113}$$

$$p(\mathbf{y}|\mathbf{x})=\mathcal{N}(\mathbf{y}|\mathbf{Ax}+\mathbf{b},\mathbf{L}^{-1})\tag{2.114}$$

のとき、

$$p(\mathbf{x}|\mathbf{y})=\mathcal{N}(\mathbf{y}|\mathbf{A}\boldsymbol{\mu}+\mathbf{b},\mathbf{L}^{-1}+\mathbf{A}\boldsymbol{\Lambda}^{-1}\mathbf{A}^{\mathrm{T}})\tag{2.115}$$

Comments