からっぽのしょこ

読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

4.4.3:ガウス混合モデルの変分推論【緑ベイズ入門のノート】

はじめに

 『ベイズ推論による機械学習入門』の学習時のノートです。基本的な内容は「数式の行間を読んでみた」とそれを「RとPythonで組んでみた」になります。「数式」と「プログラム」から理解するのが目標です。

 この記事は4.4.3項の内容です。平均、精度行列が未知の多次元ガウス分布(多変量正規分布)を観測モデルとする混合モデルの近似事後分布のパラメータを変分推論により推論します。

 省略してある内容等ありますので、本と併せて読んでください。初学者な自分が理解できるレベルまで落として書き下していますので、分かる人にはかなりくどくなっています。同じような立場の人のお役に立てれば幸いです。

【実装編】

www.anarchive-beta.com

www.anarchive-beta.com

【前節の内容】

www.anarchive-beta.com

【他の節一覧】

www.anarchive-beta.com

【この節の内容】

4.4.3 変分推論

 ガウス混合モデルに対する変分推論を導出する。

 事後分布$p(\mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi} | \mathbf{X})$を次のように近似する。

$$ p(\mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi} | \mathbf{X}) \approx q(\mathbf{S}) q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi}) \tag{4.104} $$

 $q(\mathbf{S}),\ q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})$を近似事後分布、または変分事後分布と呼ぶ。

・モデルの設定

 クラスタ数を$K$として、各クラスタの平均パラメータを$\boldsymbol{\mu} = \{\boldsymbol{\mu}_1, \boldsymbol{\mu}_2, \cdots, \boldsymbol{\mu}_K\}$、精度行列パラメータを$\boldsymbol{\Lambda} = \{\boldsymbol{\Lambda}_1, \boldsymbol{\Lambda}_2, \cdots, \boldsymbol{\Lambda}_K\}$とまとめて表記する。このときクラスタ$k$における観測モデルを、平均パラメータ$\boldsymbol{\mu}_k$、精度行列パラメータ$\boldsymbol{\Lambda}_k$を持つ$D$次元のガウス分布とする。

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

 ここに潜在変数$\mathbf{S} = \{\mathbf{s}_1, \mathbf{s}_2, \cdots, \mathbf{s}_N\}$を導入すると、ガウス混合モデルは

$$ p(\mathbf{x}_n | \mathbf{s}_n, \boldsymbol{\mu}, \boldsymbol{\Lambda}) = \prod_{k=1}^K \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1})^{s_{n,k}} \tag{4.85} $$

となる。

 また全てのクラスタのパラメータ$\boldsymbol{\mu}_k,\ \boldsymbol{\Lambda}_k$の共通の事前分布にガウス・ウィシャート分布を仮定する。

$$ \begin{align} p(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) &= \mathrm{NW}( \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k | \mathbf{m}, \beta, \nu, \mathbf{W} ) \\ &= \mathcal{N}(\boldsymbol{\mu}_k | \mathbf{m}, (\beta \boldsymbol{\Lambda}_k)^{-1}) \mathcal{W}(\boldsymbol{\Lambda}_k | \nu, \mathbf{W}) \tag{4.86} \end{align} $$

 ここで$\nu$は自由度で$\nu > D - 1$の値をとり、$\mathbf{W}$は$D \times D$の行列である。

・潜在変数の近似事後分布の導出

 まずは、潜在変数$\mathbf{S}$の近似事後分布$q(\mathbf{S})$を求める。$q(\mathbf{S})$は、変分推論の公式(4.25)より

$$ \begin{align} \ln q(\mathbf{S}) &= \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{X}, \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi}) \Bigr] + \mathrm{const.} \\ &= \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) + \ln p(\mathbf{S} | \boldsymbol{\pi}) + \ln p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) + \ln p(\boldsymbol{\pi}) \Bigr] + \mathrm{const.} \\ &= \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{S} | \boldsymbol{\pi}) \Bigr] + \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\boldsymbol{\pi}) \Bigr] + \mathrm{const.} \\ &= \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda})} \left[ \sum_{n=1}^N \ln p(\mathbf{x}_n | \mathbf{s}_n, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \right] + \mathbb{E}_{q(\boldsymbol{\pi})} \left[ \sum_{n=1}^N \ln p(\mathbf{s}_n | \boldsymbol{\pi}) \right] + \mathrm{const.} \\ &= \sum_{n=1}^N \Bigl\{ \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda})} \Bigl[ \ln p(\mathbf{x}_n | \mathbf{s}_n, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \mathbb{E}_{q(\boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{s}_n | \boldsymbol{\pi}) \Bigr] \Bigr\} + \mathrm{const.} \tag{4.105} \end{align} $$

【途中式の途中式】

  1. 生成過程より、分解する。
  2. 期待値の性質$\mathbf{E}[x + y] = \mathbf{E}[x] + \mathbf{E}[y]$より、分解する。
  3. 確率密度関数の期待値の定義より、項を整理する。

 1つ目の項は、$\int p(\boldsymbol{\pi}) d\boldsymbol{\pi} = 1$より

$$ \begin{aligned} \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] &= \int \int \int q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi}) \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) d\boldsymbol{\mu} d\boldsymbol{\Lambda} d\boldsymbol{\pi} \\ &= \int \int q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) d\boldsymbol{\mu} d\boldsymbol{\Lambda} \int p(\boldsymbol{\pi}) d\boldsymbol{\pi} \\ &= \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda})} \left[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \right] \end{aligned} $$

となる。2つ目の項も$\int \int q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) d\boldsymbol{\mu} d\boldsymbol{\Lambda} = 1$より、同様に整理できる。

  1. 期待値の性質より、$\mathbb{E}[\sum_{i=1}^2 A_i] = \mathbb{E}[A_1 + A_2] = \mathbb{E}[A_1] + \mathbb{E}[A_2] = \sum_{i=1}^2 \mathbb{E}[A_i]$となる。


で求められる。適宜$\mathbf{S}$に影響しない項を$\mathrm{const.}$にまとめている。

 ここから$n$に関する項を取り出して、この分布の具体的な形状を明らかにしていく。前の項は、ガウス混合モデルの定義式(4.85)より

$$ \begin{align} \mathbb{E}_{q(\boldsymbol{\mu}, \boldsymbol{\Lambda})} \Bigl[ \ln p(\mathbf{x}_n | \mathbf{s}_n, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] &= \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} \left[ \sum_{k=1}^K \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1})^{s_{n,k}} \right] \\ &= \sum_{k=1}^K \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} \Bigl[ s_{n,k} \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1}) \Bigr] \\ &= \sum_{k=1}^K s_{n,k} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} \left[ - \frac{1}{2} (\mathbf{x}_n - \boldsymbol{\mu}_k)^{\top} \boldsymbol{\Lambda}_k (\mathbf{x}_n - \boldsymbol{\mu}_k) + \frac{1}{2} \ln |\boldsymbol{\Lambda}_k| \right] \\ &= \sum_{k=1}^K s_{n,k} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} \left[ - \frac{1}{2} \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n - \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k + \frac{1}{2} \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k + \frac{1}{2} \ln |\boldsymbol{\Lambda}_k| \right] + \mathrm{const.} \\ &= \sum_{k=1}^K s_{n,k} \left\{ - \frac{1}{2} \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] \mathbf{x}_n - \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] \right. \\ &\qquad \left. + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \ln |\boldsymbol{\Lambda}_k| ] \right\} + \mathrm{const.} \tag{4.106} \end{align} $$

【途中式の途中式】

  1. 式を整理する。
  2. 期待値の性質$\mathbf{E}[a x] = a \mathbf{E}[x]$より、$s_{n,k}$を外に出す。また具体的な式に置き替える。
  3. 括弧を展開する。
  4. 期待値の性質より、式を整理する。


となる。適宜$\mathbf{x}_n$に影響しない項を$\mathrm{const.}$にまとめている。

 後の項は

$$ \begin{align} \mathbb{E}_{q(\boldsymbol{\pi})} \Bigl[ \ln p(\mathbf{s}_n | \boldsymbol{\pi}) \Bigr] &= \mathbb{E}_{q(\boldsymbol{\pi})} \Bigl[ \ln \mathrm{Cat}(\mathbf{s}_n | \boldsymbol{\pi}) \Bigr] \\ &= \mathbb{E}_{q(\boldsymbol{\pi})} \left[ \sum_{k=1}^K \ln \pi_k^{s_{n,k}} \right] \\ &= \sum_{k=1}^K \mathbb{E}_{q(\boldsymbol{\pi})} \Bigl[ s_{n,k} \ln \pi_k \Bigr] \\ &= \sum_{k=1}^K s_{n,k} \mathbb{E}_{q(\boldsymbol{\pi})} [ \ln \pi_k ] \tag{4.107} \end{align} $$

となる。

 式(4.105)から$n$に関して取り出して、それぞれ代入すると

$$ \begin{aligned} \ln q(\mathbf{s}_n) &= \sum_{k=1}^K s_{n,k} \left\{ - \frac{1}{2} \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] \mathbf{x}_n - \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \ln |\boldsymbol{\Lambda}_k| ] \right\} \\ &\qquad + \sum_{k=1}^K s_{n,k} \mathbb{E}_{q(\boldsymbol{\pi})} \Bigl[ \ln \pi_k \Bigr] + \mathrm{const.} \\ &= \sum_{k=1}^K s_{n,k} \left\{ - \frac{1}{2} \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] \mathbf{x}_n - \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \ln |\boldsymbol{\Lambda}_k| ] + \mathbb{E}_{q(\boldsymbol{\pi})} [ \ln \pi_k ] \right\} + \mathrm{const.} \end{aligned} $$

となる。

 この式について

$$ \begin{align} \eta_{n,k} &\propto \exp \Biggl\{ - \frac{1}{2} \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] \mathbf{x}_n - \mathbf{x}_n^{\top} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] \Biggr.\\ &\qquad \Biggl. + \frac{1}{2} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \ln |\boldsymbol{\Lambda}_k| ] + \mathbb{E}_{q(\boldsymbol{\pi})} [ \ln \pi_k ] \Biggr\} \tag{4.109} \end{align} $$

とおくと

$$ q(\mathbf{s}_n) = \prod_{k=1}^K \eta_{n,k}^{s_{n,k}} = \mathrm{Cat}(\mathbf{s}_n | \boldsymbol{\eta}_n) \tag{4.108} $$

となる。ただし

$$ \boldsymbol{\eta}_n = \{\eta_{n,1}, \eta_{n,2}, \cdots, \eta_{n,K}\} ,\ \sum_{k=1}^K \eta_{n,k} = 1 $$

である。

 式(4.109)の各項の計算については、近似事後分布$q(\boldsymbol{\Lambda}_k),\ q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k), q(\boldsymbol{\pi})$の形状を明らかにしてから行う。

・パラメータの近似事後分布の導出

 次に、パラメータ$\boldsymbol{\mu},\ \boldsymbol{\Lambda},\ \boldsymbol{\pi}$の近似事後分布$q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})$を求める。$q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi})$についても、変分推論の公式(4.25)より

$$ \begin{align} \ln q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi}) &= \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{X}, \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi}) \Bigr] + \mathrm{const.} \\ &= \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) + \ln p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) + \ln p(\mathbf{S} | \boldsymbol{\pi}) + \ln p(\boldsymbol{\pi}) \Bigr] + \mathrm{const.} \\ &= \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{S} | \boldsymbol{\pi}) \Bigr] + \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\boldsymbol{\pi}) \Bigr] + \mathrm{const.} \\ &= \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \ln p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) + \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{S} | \boldsymbol{\pi}) \Bigr] + \ln p(\boldsymbol{\pi}) + \mathrm{const.} \tag{4.110} \end{align} $$

で求められる。

 左辺を$q(\boldsymbol{\mu}, \boldsymbol{\Lambda}, \boldsymbol{\pi}) = q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) q(\boldsymbol{\pi})$と分解して、$\boldsymbol{\mu},\ \boldsymbol{\Lambda}$に関して整理すると

$$ \begin{align} \ln q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) &= \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{X} | \mathbf{S}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \Bigr] + \ln p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) + \mathbb{E}_{q(\mathbf{S})} \Bigl[ \ln p(\mathbf{S} | \boldsymbol{\pi}) \Bigr] + \ln p(\boldsymbol{\pi}) - \ln q(\boldsymbol{\pi}) + \mathrm{const.} \\ &= \mathbb{E}_{q(\mathbf{S})} \left[ \sum_{n=1}^N \ln p(\mathbf{x}_n | \mathbf{s}_n, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \right] + \sum_{k=1}^K \ln p(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) + \mathrm{const.} \\ &= \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} \left[ \sum_{k=1}^K \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1})^{s_{n,k}} \right] + \sum_{k=1}^K \ln \mathrm{NW}(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k | \mathbf{m}, \beta, \nu, \mathbf{W}) + \mathrm{const.} \\ &= \sum_{k=1}^K \left\{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} \Bigl[ s_{n,k} \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1}) \Bigr] + \ln \mathrm{NW}(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k | \mathbf{m}, \beta, \nu, \mathbf{W}) \right\} + \mathrm{const.} \\ &= \sum_{k=1}^K \left\{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [ s_{n,k} ] \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1}) + \ln \mathcal{N}(\boldsymbol{\mu}_k | \mathbf{m}, (\beta \boldsymbol{\Lambda}_k)^{-1}) + \ln \mathcal{W}(\boldsymbol{\Lambda}_k | \nu, \mathbf{W}) \right\} + \mathrm{const.} \tag{4.111} \end{align} $$

となる。適宜$\boldsymbol{\mu},\ \boldsymbol{\Lambda}$に影響しない項を$\mathrm{const.}$にまとめている。

 ここから$k$に関する項を取り出して、$q(\boldsymbol{\mu}_k)$を求める。左辺を$q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) = q(\boldsymbol{\mu} | \boldsymbol{\Lambda}) q(\boldsymbol{\Lambda})$と分解して、具体的な式を代入し、$\boldsymbol{\mu}_k$に関して整理すると

$$ \begin{align} \ln q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k) &= \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [ s_{n,k} ] \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1}) + \ln \mathcal{N}(\boldsymbol{\mu}_k | \mathbf{m}, (\beta \boldsymbol{\Lambda}_k)^{-1}) + \ln \mathcal{W}(\boldsymbol{\Lambda}_k | \nu, \mathbf{W}) - \ln q(\boldsymbol{\Lambda}_k) + \mathrm{const.} \\ &= - \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [ s_{n,k} ] \frac{1}{2} \Bigl\{ (\mathbf{x}_n - \boldsymbol{\mu}_k)^{\top} \boldsymbol{\Lambda}_k (\mathbf{x}_n - \boldsymbol{\mu}_k) - \ln |\boldsymbol{\Lambda}_k^{-1}| \Bigr\} \\ &\qquad - \frac{1}{2} \Bigl\{ (\boldsymbol{\mu}_k - \mathbf{m})^{\top} \beta \boldsymbol{\Lambda}_k (\boldsymbol{\mu}_k - \mathbf{m}) - \ln |(\beta \boldsymbol{\Lambda}_k)^{-1}| \Bigr\} + \mathrm{const.} \\ &= - \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [ s_{n,k} ] \frac{1}{2} \Bigl\{ \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n - 2 \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n + \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k \Bigr\} \\ &\qquad - \frac{1}{2} \Bigl\{ \boldsymbol{\mu}_k^{\top} \beta \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k - 2 \boldsymbol{\mu}_k^{\top} \beta \boldsymbol{\Lambda}_k \mathbf{m} + \mathbf{m}^{\top} \beta \boldsymbol{\Lambda}_k \mathbf{m} \Bigr\} + \mathrm{const.} \\ &= - \frac{1}{2} \Biggl\{ - 2 \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n + \boldsymbol{\mu}_k^{\top} \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k \Biggr. \\ &\qquad \Biggl. \boldsymbol{\mu}_k^{\top} \beta \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k - 2 \boldsymbol{\mu}_k^{\top} \beta \boldsymbol{\Lambda}_k \mathbf{m} \Biggr\} + \mathrm{const.} \\ &= - \frac{1}{2} \left\{ \boldsymbol{\mu}_k^{\top} \left( \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \beta \right) \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k - 2 \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \left( \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n + \beta \mathbf{m} \right) \right\} + \mathrm{const.} \tag{4.112} \end{align} $$

となる。適宜$\boldsymbol{\mu}$に影響しない項を$\mathrm{const.}$にまとめる。また$\sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}]$はスカラである。

 $\boldsymbol{\mu}_k$の近似事後分布は、式の形状から多次元ガウス分布になることが分かる。そこで次のようにおき

$$ q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k) = \mathcal{N}(\boldsymbol{\mu}_k | \hat{\mathbf{m}}_k, (\hat{\beta}_k \boldsymbol{\Lambda}_k)^{-1}) \tag{4.113} $$

この式の対数をとり、$\boldsymbol{\mu}_k$に関して整理すると

$$ \begin{aligned} \ln q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k) &= - \frac{1}{2} \Bigl\{ (\boldsymbol{\mu}_k - \hat{\mathbf{m}}_k)^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k (\boldsymbol{\mu}_k - \hat{\mathbf{m}}_k) - \ln |(\hat{\beta}_k \boldsymbol{\Lambda}_k)^{-1}| \Bigr\} + \mathrm{const.} \\ &= - \frac{1}{2} \Bigl\{ \boldsymbol{\mu}_k^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k - 2 \boldsymbol{\mu}_k^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k \hat{\mathbf{m}}_k + \hat{\mathbf{m}}_k^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k \hat{\mathbf{m}}_k \Bigr\} + \mathrm{const.} \end{aligned} $$

となる。

 よって式(4.112)との対応関係から、精度行列パラメータの係数は

$$ \hat{\beta}_k = \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \beta \tag{4.114.a} $$

と、平均パラメータ

$$ \begin{align} \hat{\beta}_k \hat{\mathbf{m}}_k &= \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n + \beta \mathbf{m} \\ \hat{\mathbf{m}}_k &= \frac{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n + \beta \mathbf{m} }{ \hat{\beta}_k } \tag{4.114.b} \end{align} $$

が得られる。

 次に、$q(\boldsymbol{\Lambda}_k)$を求める。$q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) = q(\boldsymbol{\mu} | \boldsymbol{\Lambda}) q(\boldsymbol{\Lambda})$を$\boldsymbol{\Lambda}_k$に関して整理すると、式(4.111)、(4.113)より

$$ \begin{align} \ln q(\boldsymbol{\Lambda}_k) &= \ln q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) - \ln q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k) \tag{4.115}\\ &= \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \ln \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1}) + \ln \mathcal{N}(\boldsymbol{\mu}_k | \mathbf{m}, (\beta \boldsymbol{\Lambda}_k)^{-1}) + \ln \mathcal{W}(\boldsymbol{\Lambda}_k | \nu, \mathbf{W}) - \mathcal{N}(\boldsymbol{\mu}_k | \hat{\mathbf{m}}_k, (\hat{\beta}_k \boldsymbol{\Lambda}_k)^{-1}) + \mathrm{const.} \\ &= \sum_{n=1}^N - \frac{1}{2} \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] (\mathbf{x}_n - \boldsymbol{\mu}_k)^{\top} \boldsymbol{\Lambda}_k (\mathbf{x}_n - \boldsymbol{\mu}_k) + \frac{\sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}]}{2} \ln |\boldsymbol{\Lambda}_k| \\ &\qquad - \frac{1}{2} (\boldsymbol{\mu}_k - \mathbf{m})^{\top} \beta \boldsymbol{\Lambda}_k (\boldsymbol{\mu}_k - \mathbf{m}) + \frac{1}{2} \ln |\beta \boldsymbol{\Lambda}_k| \\ &\qquad + \frac{\nu - D - 1}{2} \ln |\boldsymbol{\Lambda}_k| - \frac{1}{2} \mathrm{Tr}(\mathbf{W}^{-1} \boldsymbol{\Lambda}_k) + \ln C_{\mathcal{W}}(\nu, \mathbf{W}) \\ &\qquad + \frac{1}{2} (\boldsymbol{\mu}_k - \hat{\mathbf{m}}_k)^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k (\boldsymbol{\mu}_k - \hat{\mathbf{m}}_k) + \frac{1}{2} \ln |\hat{\beta}_k \boldsymbol{\Lambda}_k| + \mathrm{const.} \end{align} $$

となる。括弧を展開すると

$$ \begin{align} \ln q(\boldsymbol{\Lambda}_k) &= \sum_{n=1}^N - \frac{1}{2} \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \Bigl\{ \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n - 2 \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n + \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k \Bigr\} \\ &\qquad - \frac{1}{2} \Bigl\{ \boldsymbol{\mu}_k^{\top} \beta \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k - 2 \boldsymbol{\mu}_k^{\top} \beta \boldsymbol{\Lambda}_k \mathbf{m} + \mathbf{m}^{\top} \beta \boldsymbol{\Lambda}_k \mathbf{m} \Bigr\} \\ &\qquad + \frac{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \nu - D - 1 }{ 2 } \ln |\boldsymbol{\Lambda}_k| - \frac{1}{2} \mathrm{Tr}(\mathbf{W}^{-1} \boldsymbol{\Lambda}_k) \\ &\qquad + \frac{1}{2} \left\{ \boldsymbol{\mu}_k^{\top} \Bigl( \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \beta \Bigr) \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k - 2 \boldsymbol{\mu}_k \boldsymbol{\Lambda}_k \Bigl( \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n + \beta \mathbf{m} \Bigr) + \hat{\mathbf{m}}_k^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k \hat{\mathbf{m}}_k \right\} + \mathrm{const.} \\ &= - \frac{1}{2} \left\{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n + \mathbf{m}^{\top} \beta \boldsymbol{\Lambda}_k \mathbf{m} - \hat{\mathbf{m}}_k^{\top} \hat{\beta}_k \boldsymbol{\Lambda}_k \hat{\mathbf{m}}_k \right\} \\ &\qquad + \frac{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \nu - D - 1 }{ 2 } \ln |\boldsymbol{\Lambda}_k| - \frac{1}{2} \mathrm{Tr}(\mathbf{W}^{-1} \boldsymbol{\Lambda}_k) + \mathrm{const.} \\ &= - \frac{1}{2} \left\{ \mathrm{Tr}\Bigl( \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \Bigr) + \mathrm{Tr}( \beta \mathbf{m} \mathbf{m}^{\top} \boldsymbol{\Lambda}_k ) - \mathrm{Tr}( \hat{\beta}_k \hat{\mathbf{m}}_k \hat{\mathbf{m}}_k^{\top} \boldsymbol{\Lambda}_k ) \right\} \\ &\qquad + \frac{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \nu - D - 1 }{ 2 } \ln |\boldsymbol{\Lambda}_k| - \frac{1}{2} \mathrm{Tr}(\mathbf{W}^{-1} \boldsymbol{\Lambda}_k) + \mathrm{const.} \\ &= \frac{ \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \nu - D - 1 }{ 2 } \ln |\boldsymbol{\Lambda}_k| \\ &\qquad - \frac{1}{2} \left\{ \left( \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n \mathbf{x}_n^{\top} + \beta \mathbf{m} \mathbf{m}^{\top} - \hat{\beta}_k \hat{\mathbf{m}}_k \hat{\mathbf{m}}^{\top} + \mathbf{W}^{-1} \right) \boldsymbol{\Lambda}_k \right\} + \mathrm{const.} \tag{4.116} \end{align} $$

【途中式の途中式】

  1. 式(A.15)より、$\ln |\beta \boldsymbol{\Lambda}_k| = \ln \beta^D |\boldsymbol{\Lambda}_k| = \ln \beta^D + \ln |\boldsymbol{\Lambda}_k|$となる。$\ln |\hat{\beta}_k \boldsymbol{\Lambda}_k|$についても同様にすると、$\ln |\boldsymbol{\Lambda}_k|$の項がキャンセルされる。また式(4.114)を代入する。
  2. 式を整理する。
  3. 3.4.3項で確認した$\mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n = \mathrm{Tr}(\mathbf{x}_n \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k)$の関係を用いて、それぞれ項を変形する。
  4. 式(A.12)より、項をまとめる。


となる。適宜$\boldsymbol{\Lambda}_k$に影響しない項を$\mathrm{const.}$にまとめている。

 式の形から$\boldsymbol{\Lambda}_k$の事後分布は、ウィシャート分布になることが分かる。そこで

$$ \begin{align} \hat{\mathbf{W}}_k^{-1} &= \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] \mathbf{x}_n \mathbf{x}_n^{\top} + \beta \mathbf{m} \mathbf{m}^{\top} - \hat{\beta}_k \hat{\mathbf{m}}_k \hat{\mathbf{m}}^{\top} + \mathbf{W}^{-1} \\ \hat{\nu}_k &= \sum_{n=1}^N \mathbb{E}_{q(\mathbf{s}_n)} [s_{n,k}] + \nu \tag{4.103} \end{align} $$

とおき、正規化する(正規化項を与える)と

$$ \ln q(\boldsymbol{\Lambda}_k) = \frac{\hat{\nu}_k - D - 1}{2} \ln |\boldsymbol{\Lambda}_k| - \frac{1}{2} \mathrm{Tr}(\hat{\mathbf{W}}_k^{-1} \boldsymbol{\Lambda}_k) + \ln C_{\mathcal{W}}(\hat{\nu}_k, \hat{\mathbf{W}}_k) = \ln \mathcal{W}(\boldsymbol{\Lambda}_k | \hat{\nu}_k, \hat{\mathbf{W}}_k) \tag{4.117} $$

が得られる。

 $\boldsymbol{\pi}$の近似事後分布は、4.3.3項で求めた

$$ q(\boldsymbol{\pi}) = \mathrm{Dir}(\boldsymbol{\pi} | \hat{\boldsymbol{\alpha}}) \tag{4.57} $$

である。ここで

$$ \hat{\alpha}_k = \sum_{n=1}^N \mathbb{E}_{q(\boldsymbol{s}_n)} [s_{n,k}] + \alpha_k \tag{4.58} $$

である。

 各分布が明らかになったので、最後に$\eta_{n,k}$の計算式(4.109)の各項を求める。$\boldsymbol{\Lambda}_k$の事後分布(4.117)、またウィシャート分布の期待値(2.89)、(2.90)より

$$ \begin{align} \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] &= \hat{\nu} \hat{\mathbf{W}}_k \tag{4.119}\\ \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \ln |\boldsymbol{\Lambda}_k| ] &= \sum_{d=1}^D \psi \Bigl( \frac{\hat{\nu}_k + 1 - d}{2} \Bigr) + D \ln 2 + \ln |\hat{\mathbf{W}}_k| \tag{4.120} \end{align} $$

となる。
 更に、$\boldsymbol{\mu}_k$の事後分布(4.113)、また多次元ガウス分布の期待値(2.76)より

$$ \begin{align} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] &= \int \int q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k d\boldsymbol{\mu}_k d\boldsymbol{\Lambda}_k \\ &= \int q(\boldsymbol{\Lambda}_k) \boldsymbol{\Lambda}_k d\boldsymbol{\Lambda}_k \int q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k) \boldsymbol{\mu}_k d\boldsymbol{\mu}_k \\ &= \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] \mathbb{E}_{q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k ] \\ &= \hat{\nu} \hat{\mathbf{W}}_k \hat{\mathbf{m}}_k \tag{4.121} \end{align} $$

となり、式(2.77)より

$$ \begin{align} \mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k ] &= \int \int q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k \boldsymbol{\mu}_k d\boldsymbol{\mu}_k d\boldsymbol{\Lambda}_k \\ &= \mathrm{Tr} \left( \int \int q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) \boldsymbol{\mu}_k \boldsymbol{\mu}_k^{\top} \boldsymbol{\Lambda}_k d\boldsymbol{\mu}_k d\boldsymbol{\Lambda}_k \right) \\ &= \mathrm{Tr} \left( \int q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k) \boldsymbol{\mu}_k \boldsymbol{\mu}_k^{\top} d\boldsymbol{\mu}_k \int q(\boldsymbol{\Lambda}_k) \boldsymbol{\Lambda}_k d\boldsymbol{\Lambda}_k \right) \\ &= \mathrm{Tr} \Bigl( \mathbb{E}_{q(\boldsymbol{\mu}_k | \boldsymbol{\Lambda}_k)} [ \boldsymbol{\mu}_k \boldsymbol{\mu}_k^{\top} ] \mathbb{E}_{q(\boldsymbol{\Lambda}_k)} [ \boldsymbol{\Lambda}_k ] \Bigr) \\ &= \mathrm{Tr} \Bigl( \Bigl\{ \hat{\mathbf{m}}_k \hat{\mathbf{m}}_k^{\top} + (\hat{\beta}_k \boldsymbol{\Lambda}_k)^{-1} \Bigr\} \hat{\nu} \hat{\mathbf{W}}_k \Bigr) \\ &= \mathrm{Tr} \Bigl( \hat{\nu} \hat{\mathbf{m}}_k \hat{\mathbf{m}}_k^{\top} \hat{\mathbf{W}}_k \Bigr) + \mathrm{Tr} \Bigl( (\hat{\beta}_k \boldsymbol{\Lambda}_k)^{-1} \hat{\nu} \hat{\mathbf{W}}_k \Bigr) \\ &= \cdots \\ &= \hat{\nu} \hat{\mathbf{m}}_k^{\top} \hat{\mathbf{W}}_k \hat{\mathbf{m}}_k + \frac{D}{\hat{\beta}_k} \tag{4.122} \end{align} $$

んーー分からん、となってほしい。。。$\mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k \mathbf{x}_n = \mathrm{Tr}(\mathbf{x}_n \mathbf{x}_n^{\top} \boldsymbol{\Lambda}_k)$の関係を用いている(たぶん)。$\mathbb{E}_{q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)}[(\mathbf{x}_n - \boldsymbol{\mu})^{\top} \boldsymbol{\Lambda} (\mathbf{x}_n - \boldsymbol{\mu})]$から求めると$\mathrm{Tr}(\mathbf{I}_d) = D$となって導出できるらしい?
 また、$\boldsymbol{\pi}$の事後分布(4.58)、またディリクレ分布の期待値(2.52)より、4.3.3項で求めた

$$ \mathbb{E}_{q(\boldsymbol{\pi})} [ \ln \pi_k ] = \psi(\hat{\alpha}_k) - \psi \Bigl( \sum_{k=1}^K \hat{\alpha}_k \Bigr) \tag{4.62} $$

である。

参考文献

  • 須山敦志『ベイズ推論による機械学習入門』(機械学習スタートアップシリーズ)杉山将監修,講談社,2017年.

おわりに

 ブログ3年目初日の記事です!まだまだ楽しく頑張ります。

 と気持ちよくいきたいところですが、1つ分かりませんでした、、、また後日再挑戦します。

 そして2020年12月1日は、Juice=Juiceの宮本佳林さんの22歳のお誕生日です!おめでとうございます!

 卒業までもう僅か、、、でもソロデビュー後も楽しみ。あぁソロアルバムも待ち遠しい。でもJuiceのホールツアー観たかった、本当に、まなかりん。

【次節の内容】

www.anarchive-beta.com