SatoshiWatanabeの日記

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

今回は演習問題12.6を解いていきます。長いので読書会11と12に分けています。


続パタ読書会 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の計算 1

演習問題12.6はテキスト中の(12.37)を導出せよとの問題です。具体的には


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


ただし \mu_c, \boldsymbol{\Lambda}_c, \nu_c, \mathbf{S}_qは以下



    \begin{eqnarray}
        \bar{x} &=& \displaystyle\frac{1}{n_i}\displaystyle\sum_{x_k\in\omega_i}{x_k}\\
        \mu_c &=& \displaystyle\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\\
        \boldsymbol{\Lambda}_c &=& (n_i+\beta)\boldsymbol{\Lambda}_i\\
        \nu_c &=& \nu+n_i\\
        \mathbf{S}_q^{-1} &=& \mathbf{S}^{-1}+\displaystyle\sum_{x_k\in\omega_i}{(x_k-\bar{x})(x_k-\bar{x})^t}+\displaystyle\frac{n_i\beta}{n_i+\beta}(\bar{x}-\mu_0)(\bar{x}-\mu_0)^t
    \end{eqnarray}


を導出せよというものです。テキストでは上式の p(\theta_{new}) G_0(\theta_{new})となっています。導出が長いため読書会11と12の二回に分けて記述します。

導出

この(12.37)の式も読書会10と同じく、パラメータの確率モデルを平均 \mu、分散共分散行列 \mathbf{\Sigma}が共に未知の正規分布とし、その事前分布 p(\theta)を共役事前分布の正規ウィシャート分布に設定していた場合の解です。ではゴリゴリ行きます。まずは形を整えていきます。



    \begin{eqnarray}
    p(\theta_i\vert\{x_k\vert x_k\in\omega_i\}) &=& \displaystyle\frac{p(\{x_k\vert x_k\in\omega_i\}\vert\theta_i)p(\theta_i)}{p(\{x_k\vert x_k\in\omega_i\})}\\
    &\propto& p(\{x_k\vert x_k\in\omega_i\}\vert\theta_i)p(\theta_i)\\
    &=& \left(\displaystyle\prod_{x_k\in\omega_i}{p(x_k\vert\theta_i)}\right)p(\theta_i)\\
    &=& \left(\displaystyle\prod_{x_k\in\omega_i}{\mathcal{N}(x_k;\mu_i, \mathbf{\Lambda}_i^{-1})}\right)\mathcal{N}(\mu_i;\mu_0, (\beta\mathbf{\Lambda}_i)^{-1})\mathcal{W}(\mathbf{\Lambda}_i;\nu, \mathbf{S})\\
    \end{eqnarray}


ここで



    \begin{eqnarray}
    \displaystyle\prod_{x_k\in\omega_i}{\mathcal{N}(x_k;\mu_i, \mathbf{\Lambda}_i^{-1})} &=& \left(\frac{|\mathbf{\Lambda}_i|^{\frac{1}{2}}}{(2\pi)^{\frac{d}{2}}}\right)^{n_i}\mathrm{exp}\left(-\frac{1}{2}\displaystyle\sum_{x_k\in\omega_i}{(x_k-\mu_i)^t\mathbf{\Lambda}_i(x_k-\mu_i)}\right)\\
    &\propto& |\mathbf{\Lambda}_i|^{\frac{n_i}{2}}\mathrm{exp}\left(-\displaystyle\frac{1}{2}\displaystyle\sum_{x_k\in\omega_i}{(x_k-\mu_i)^t\mathbf{\Lambda}_i(x_k-\mu_i)}\right)
    \end{eqnarray}


なので



    \begin{eqnarray}
    && \left(\displaystyle\prod_{x_k\in\omega_i}{\mathcal{N}(x_k;\mu_i, \mathbf{\Lambda}_i^{-1})}\right)\mathcal{N}(\mu_i;\mu_0, (\beta\mathbf{\Lambda}_i)^{-1})\mathcal{W}(\mathbf{\Lambda}_i;\nu, \mathbf{S})\\
    &\propto& |\mathbf{\Lambda}_i|^{\frac{n_i}{2}}\mathrm{exp}\left(-\displaystyle\frac{1}{2}\displaystyle\sum_{x_k\in\omega_i}{(x_k-\mu_i)^t\mathbf{\Lambda}_i(x_k-\mu_i)}\right)\\
    && \cdot|\mathbf{\Lambda}_i|^{\frac{1}{2}}\mathrm{exp}\left(-\displaystyle\frac{1}{2}(\mu_i-\mu_0)^t(\beta\mathbf{\Lambda}_i)(\mu_i-\mu_0)\right)\\
    && \cdot|\mathbf{\Lambda}_i|^{\frac{\nu-d-1}{2}}\mathrm{exp}\left(-\displaystyle\frac{1}{2}\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\right)\\
    &=& Q(\theta_i)
    \end{eqnarray}


となります。ここで Q(\theta_i)


 Q(\theta_i)=|\mathbf{\Lambda}_i|^{\frac{n_i}{2}}|\mathbf{\Lambda}_i|^{\frac{1}{2}}|\mathbf{\Lambda}_i|^{\frac{\nu-d-1}{2}}\mathrm{exp}\left(-\displaystyle\frac{1}{2}R(\theta_i)\right)


ただし


 R(\theta_i)=\displaystyle\sum_{x_k\in\omega_i}{(x_k-\mu_i)^t\mathbf{\Lambda}_i(x_k-\mu_i)}+(\mu_i-\mu_0)^t(\beta\mathbf{\Lambda}_i)(\mu_i-\mu_0)+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)


です。共役事前分布が正規ウィシャート分布ですのでこの Q(\theta_i)も正規ウィシャート分布型になるため、それを念頭に式を変形していきます。まずは \mathrm{exp}(\cdot)の外側にある \mathbf{\Lambda}_iについて正規分布型とウィシャート分布型に分かれるようにまとめてしまうと



    \begin{eqnarray}
    Q(\theta_i) &=& |\mathbf{\Lambda}_i|^{\frac{n_i}{2}}|\mathbf{\Lambda}_i|^{\frac{1}{2}}|\mathbf{\Lambda}_i|^{\frac{\nu-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}R(\theta_i)\right)\\
    &=& |\mathbf{\Lambda}_i|^{\frac{1}{2}}|\mathbf{\Lambda}_i|^{\frac{(\nu+n_i)-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}R(\theta_i)\right)\\
    &=& |\mathbf{\Lambda}_i|^{\frac{1}{2}}|\mathbf{\Lambda}_i|^{\frac{\nu_c-d-1}{2}}\mathrm{exp}\left(-\frac{1}{2}R(\theta_i)\right)
    \end{eqnarray}


となります。ここで \nu_c=\nu+n_iと置きました。ここからは R(\theta_i)正規分布型の項とウィシャート分布型の項の和にまとまるように意識しながら計算していきます。



    \begin{eqnarray}
    R(\theta_i) &=& \displaystyle\sum_{x_k\in\omega_i}{(x_k-\mu_i)^t\mathbf{\Lambda}_i(x_k-\mu_i)}+(\mu_i-\mu_0)^t(\beta\mathbf{\Lambda}_i)(\mu_i-\mu_0)+\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    &=& \displaystyle\sum_{x_k\in\omega_i}{\left(x_k^t\mathbf{\Lambda}_ix_k-x_k^t\mathbf{\Lambda}_i\mu_i-\mu_i^t\mathbf{\Lambda}_ix_k+\mu_i^t\mathbf{\Lambda}_i\mu_i\right)}\\
    && +\beta\left(\mu_i^t\mathbf{\Lambda}_i\mu_i-\mu_i^t\mathbf{\Lambda}_i\mu_0-\mu_0^t\mathbf{\Lambda}_i\mu_i+\mu_0^t\mathbf{\Lambda}_i\mu_0\right)\\
    && +\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    &=& \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\mu_i}-\displaystyle\sum_{x_k\in\omega_i}{\mu_i^t\mathbf{\Lambda}_ix_k}+\displaystyle\sum_{x_k\in\omega_i}{\mu_i^t\mathbf{\Lambda}_i\mu_i}\\
    && +\beta\mu_i^t\mathbf{\Lambda}_i\mu_i-\beta\mu_i^t\mathbf{\Lambda}_i\mu_0-\beta\mu_0^t\mathbf{\Lambda}_i\mu_i+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0\\
    && +\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    \end{eqnarray}


ここで


 \bar{x}=\displaystyle\frac{1}{n_i}\displaystyle\sum_{x_k\in\omega_i}{x_k}


と置き、 \displaystyle\sum_{x_k\in\omega_i}=n_iであることに注意すると



    \begin{eqnarray}
    R(\theta_i) &=& \displaystyle\sum_{x_k\in\omega_i}{x_k^t\mathbf{\Lambda}_ix_k}-n_i\bar{x}^t\mathbf{\Lambda}_i\mu_i-\mu_i^t\mathbf{\Lambda}_in_i\bar{x}+n_i\mu_i^t\mathbf{\Lambda}_i\mu_i\\
    && +\beta\mu_i^t\mathbf{\Lambda}_i\mu_i-\mu_i^t\mathbf{\Lambda}_i\beta\mu_0-\beta\mu_0^t\mathbf{\Lambda}_i\mu_i+\beta\mu_0^t\mathbf{\Lambda}_i\mu_0\\
    && +\mathrm{tr}(\mathbf{S}^{-1}\mathbf{\Lambda}_i)\\
    &=& (n_i+\beta)\mu_i^t\mathbf{\Lambda}_i\mu_i-\mu_i^t\mathbf{\Lambda}_i(n_i\bar{x}+\beta\mu_0)-(n_i\bar{x}+\beta\mu_0)^t\mathbf{\Lambda}_i\mu_i\\
    && +\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)\\
    &=& (n_i+\beta)\left(\mu_i^t\mathbf{\Lambda}_i\mu_i-\mu_i^t\mathbf{\Lambda}_i\left(\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\right)-\left(\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\right)^t\mathbf{\Lambda}_i\mu_i\right)\\
    && +\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)\\
    &=& (n_i+\beta)\left(\mu_i-\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\right)^t\mathbf{\Lambda}_i\left(\mu_i-\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\right)\\
    && -\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)\\
    &=& \left(\mu_i-\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\right)^t\left((n_i+\beta)\mathbf{\Lambda}_i\right)\left(\mu_i-\frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\right)\\
    && -\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)\\
    &=& N(\theta_i)+W(\theta_i)
    \end{eqnarray}


ここで



    \begin{eqnarray}
    N(\theta_i) &=& (\mu_i-\mu_c)^t\mathbf{\Lambda}_c(\mu_i-\mu_c)\\
    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)
    \end{eqnarray}


と置きました。ただし



    \begin{eqnarray}
    \mu_c &=& \frac{n_i\bar{x}+\beta\mu_0}{n_i+\beta}\\
    \mathbf{\Lambda}_c &=& (n_i+\beta)\mathbf{\Lambda}_i
    \end{eqnarray}


です。これで正規分布 N(\theta_i)は形が整いました。

今回はここまでにして次回は W(\theta_i)に絞ってウィシャート分布型を目指して計算していくところから導出完了までを行います。


続パタ読書会 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