SatoshiWatanabeの日記

続・わかりやすいパターン認識 ひとり読書会 12

今回は演習問題12.6の解答の続きです。今回でクラスタリング法1についての考察は最終回となります。


続パタ読書会 1:ディリクレ過程混合モデル
続パタ読書会 2:ディリクレ過程混合モデルのアルゴリズム
続パタ読書会 3:実験
続パタ読書会 4:実装
続パタ読書会 5:事前確率P(s)の妥当性 1
続パタ読書会 6:事前確率P(s)の妥当性 2
続パタ読書会 7:ベル数 1
続パタ読書会 8:ベル数 2
続パタ読書会 9:P(s_k|x_k, s_-k, θ)の導出
続パタ読書会 10:演習問題12.5の計算
続パタ読書会 11:演習問題12.6の計算 1
続パタ読書会 12:演習問題12.6の計算 2

演習問題12.6の計算 2

 p(\theta_i\vert\{x_k\vert x_k\in\omega_i\})=\mathcal{N}(\mu_i;\mu_c, \boldsymbol{\Lambda}_c^{-1})\mathcal{W}(\boldsymbol{\Lambda}_i;\nu_c, \mathbf{S}_q)


の導出第二回目です。今回は W(\theta_i)の計算から始め導出完了までもっていきます。

導出の続き

ここまでですでに正規分布 N(\theta_i)は形が整いましたので W(\theta_i)に絞ってウィシャート分布型を目指して計算していきます。まず W(\theta_i)は以下のような式だったことを思い出します。


 W(\theta_i) = -\displaystyle\frac{1}{n_i+\beta}(n_i\bar{x}+\beta\mu_0)^t\mathbf{\Lambda}_i(n_i\bar{x}+\beta\mu_0)+\displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)


二番目の項に限定して計算していくと



    \begin{eqnarray}
    \displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k} &=& \displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}+0\\
    &=& \displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}+(2n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}-2n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x})\\
    &=& \displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}-n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}-n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}\\
    &=& \displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}-\displaystyle\sum_{x_k\in\omega_i}{x_k}^t\mathbf{\Lambda}_i\bar{x}-\bar{x}^t\mathbf{\Lambda}_i\displaystyle\sum_{x_k\in\omega_i}{x_k}+\displaystyle\sum_{x_k\in\omega_i}\bar{x}^t\mathbf{\Lambda}_i\bar{x}+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}\\
    &=& \displaystyle\sum_{x_k\in\omega_i}\left(x_k^t\mathbf{\Lambda}_ix_k-x_k^t\mathbf{\Lambda}_i\bar{x}-\bar{x}^t\mathbf{\Lambda}_ix_k+\bar{x}^t\mathbf{\Lambda}_i\bar{x}\right)+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}\\
    &=& \displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})^t\mathbf{\Lambda}_i(x_k-\bar{x})+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}\\
    \end{eqnarray}


となるので



    \begin{eqnarray}
    W(\theta_i) &=& -\frac{1}{n_i+\beta}(n_i\bar{x}+\beta\mu_0)^t\mathbf{\Lambda}_i(n_i\bar{x}+\beta\mu_0)+\displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    &=& -\frac{1}{n_i+\beta}(n_i\bar{x}+\beta\mu_0)^t\mathbf{\Lambda}_i(n_i\bar{x}+\beta\mu_0)+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0\\
    && +\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})^t\mathbf{\Lambda}_i(x_k-\bar{x})+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    &=& S(\theta_i)+T(\theta_i)
    \end{eqnarray}


となります。ここで



    \begin{eqnarray}
    S(\theta_i) &=&  -\frac{1}{n_i+\beta}(n_i\bar{x}+\beta\mu_0)^t\mathbf{\Lambda}_i(n_i\bar{x}+\beta\mu_0)+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0\\
    T(\theta_i) &=& \displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})^t\mathbf{\Lambda}_i(x_k-\bar{x})+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)
    \end{eqnarray}


と置きました。 T(\theta_i)はすでにまとまっていますので S(\theta_i)に絞って変形していくと



    \begin{eqnarray}
    S(\theta_i) &=&  -\frac{1}{n_i+\beta}(n_i\bar{x}+\beta\mu_0)^t\mathbf{\Lambda}_i(n_i\bar{x}+\beta\mu_0)+n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0\\
    &=& -\frac{1}{n_i+\beta}(n_i^2\bar{x}^t\mathbf{\Lambda}_i\bar{x}+n_i\beta\bar{x}^t\mathbf{\Lambda}_i\mu_0+n_i\beta\mu_0^t\mathbf{\Lambda}_i\bar{x}+\beta^2\mu_0^t\mathbf{\Lambda}_i\mu_0)\\
    && +n_i\bar{x}^t\mathbf{\Lambda}_i\bar{x}+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0\\
    &=& \frac{n_i\beta}{n_i+\beta}\left(\left(\frac{n_i+\beta}{\beta}-\frac{n_i}{\beta}\right)\bar{x}^t\mathbf{\Lambda}_i\bar{x}-\bar{x}^t\mathbf{\Lambda}_i\mu_0-\mu_0^t\mathbf{\Lambda}_i\bar{x}+\left(\frac{n_i+\beta}{n_i}-\frac{\beta}{n_i}\right)\mu_0^t\mathbf{\Lambda}_i\mu_0\right)\\
    &=& \frac{n_i\beta}{n_i+\beta}(\bar{x}^t\mathbf{\Lambda}_i\bar{x}-\bar{x}^t\mathbf{\Lambda}_i\mu_0-\mu_0^t\mathbf{\Lambda}_i\bar{x}+\mu_0^t\mathbf{\Lambda}_i\mu_0)\\
    &=& \frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)^t\mathbf{\Lambda}_i(\bar{x}-\mu_0)
    \end{eqnarray}


となり



    \begin{eqnarray}
    W(\theta_i) &=& S(\theta_i)+T(\theta_i)\\
    &=& \frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)^t\mathbf{\Lambda}_i(\bar{x}-\mu_0)+\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})^t\mathbf{\Lambda}_i(x_k-\bar{x})+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)
    \end{eqnarray}


とまとめられます。ここで最後の式の初めの二項はスカラーのため \mathrm{tr}でも同じ値なので



    \begin{eqnarray}
    W(\theta_i) &=& \mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)+\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})^t\mathbf{\Lambda}_i(x_k-\bar{x})+\frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)^t\mathbf{\Lambda}_i(\bar{x}-\mu_0)\\
    &=& \mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    && +\mathrm{tr}\left(\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})^t\mathbf{\Lambda}_i(x_k-\bar{x})\right)\\
    && +\mathrm{tr}\left(\frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)^t\mathbf{\Lambda}_i(\bar{x}-\mu_0)\right)\\
    &=& \mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    && +\mathrm{tr}\left(\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})(x_k-\bar{x})^t\mathbf{\Lambda}_i\right)\\
    && +\mathrm{tr}\left(\frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)(\bar{x}-\mu_0)^t\mathbf{\Lambda}_i\right)\quad\because\mathrm{tr}(ABC)=\mathrm{tr}(CAB)\\
    &=& \mathrm{tr}\left(\mathbf{S}^{-1}\mathbf{\Lambda}_i+\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})(x_k-\bar{x})^t\mathbf{\Lambda}_i+\frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)(\bar{x}-\mu_0)^t\mathbf{\Lambda}_i\right)\\
    && \because\mathrm{tr}(A)+\mathrm{tr}(B)=\mathrm{tr}(A+B)\\
    &=& \mathrm{tr}(\mathbf{S}_q^{-1}\mathbf{\Lambda}_i)
    \end{eqnarray}


となります。ただし


 \mathbf{S}_q^{-1}=\mathbf{S}^{-1}+\displaystyle\sum_{x_k\in\omega_i}(x_k-\bar{x})(x_k-\bar{x})^t+\frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)(\bar{x}-\mu_0)^t


です。これでウィシャート分布型もまとまりましたので Q(\theta_i)全体をまとめると



    \begin{eqnarray}
    Q(\theta_i) &=& |\mathbf{\Lambda}_i|^{\frac{1}{2}}|\mathbf{\Lambda}_i|^{\frac{\nu_c-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}(N(\theta_i)+W(\theta_i))\right)\\
    &=& |\mathbf{\Lambda}_i|^{\frac{1}{2}}\mathrm{exp}\left(-\frac{1}{2}N(\theta_i)\right)\cdot|\mathbf{\Lambda}_i|^{\frac{\nu_c-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}W(\theta_i)\right)\\
    &=& |\mathbf{\Lambda}_i|^{\frac{1}{2}}\mathrm{exp}\left(-\frac{1}{2}(\mu_i-\mu_c)^t\mathbf{\Lambda}_c(\mu_i-\mu_c)\right)\\
    && \cdot|\mathbf{\Lambda}_i|^{\frac{\nu_c-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}\mathrm{tr}(\mathbf{S}_q^{-1}\mathbf{\Lambda}_i)\right)\\
    \end{eqnarray}


となります。よって最初の式を思い出すと



    \begin{eqnarray}
    p(\theta_i\vert\{x_k\vert x_k\in\omega_i\}) &\propto& |\mathbf{\Lambda}_i|^{\frac{1}{2}}\mathrm{exp}\left(-\frac{1}{2}(\mu_i-\mu_c)^t\mathbf{\Lambda}_c(\mu_i-\mu_c)\right)\\
    && \cdot|\mathbf{\Lambda}_i|^{\frac{\nu_c-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}\mathrm{tr}(\mathbf{S}_q^{-1}\mathbf{\Lambda}_i)\right)
    \end{eqnarray}


となります。右辺は正規ウィシャート型ですので正規化項を計算するまでもなく


 p(\theta_i\vert\{x_k\vert x_k\in\omega_i\})=\mathcal{N}(\mu_i;\mu_c, \boldsymbol{\Lambda}_c^{-1})\mathcal{W}(\boldsymbol{\Lambda}_i;\nu_c, \mathbf{S}_q)


となり、導出が出来ました。

またしばらくしたらクラスタリング法2及びIRMについての考察もしていきたいと思いますが、ここまででクラスタリング法1の考察は一通り終わりにしようと思います。


続パタ読書会 1:ディリクレ過程混合モデル
続パタ読書会 2:ディリクレ過程混合モデルのアルゴリズム
続パタ読書会 3:実験
続パタ読書会 4:実装
続パタ読書会 5:事前確率P(s)の妥当性 1
続パタ読書会 6:事前確率P(s)の妥当性 2
続パタ読書会 7:ベル数 1
続パタ読書会 8:ベル数 2
続パタ読書会 9:P(s_k|x_k, s_-k, θ)の導出
続パタ読書会 10:演習問題12.5の計算
続パタ読書会 11:演習問題12.6の計算 1
続パタ読書会 12:演習問題12.6の計算 2