からっぽのしょこ

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

5.3:ノイズあり対応トピックモデル【『トピックモデル』の勉強ノート】

はじめに

 機械学習プロフェッショナルシリーズの『トピックモデル』の勉強時に自分の理解の助けになったことや勉強会資料のまとめです。トピックモデルの各種アルゴリズムを「数式」と「プログラム」から理解することを目指します。本とあわせて読んでください。

 この記事は、3.2節「ノイズあり対応トピックモデル(Noisy Correspondence Topic Model)」の内容です。ノイズあり対応トピックモデルのパラメータを崩壊型ギブスサンプリングにより推定します。

【前節の内容】

www.anarchive-beta.com

【他の節一覧】

www.anarchive-beta.com

【この節の内容】


5.3 ノイズあり対応トピックモデル

 結合トピックモデルでは、トピック分布に従って補助情報にトピックが割り当てられました。また対応トピックモデルでは、トピック分布に従い割り当てられたその文書のトピックに従って、補助情報にトピックが割り当てられました。ノイズあり対応トピックモデルでは、トピックに依存しない一般補助情報分布を対応トピックモデルに導入します。

 共通する部分が多々あるので、「4.5:トピックモデルのギブスサンプリング【『トピックモデル』の勉強ノート】 - からっぽのしょこ」も参照してください。

・生成過程

 対応トピックモデルに、内容に関係があれば1、なければ0の2値をとる潜在変数$r_{dm} \in \{0, 1\}$を導入する。
 ある文書$d$の$m$番目の補助情報$x_{dm}$に関して$r_{dm} = 0$のとき、1から$K$のトピック(内容)と無関係な一般補助情報分布$\boldsymbol{\psi}_0 = (\psi_{01}, \psi_{02}, \cdots, \psi_{0S})$に従って、補助情報が生成される。また$r_{dm} = 1$のとき、$x_{dm}$のトピック$y_{dm}$に割り当てられたあるトピック$k$が持つ補助情報分布$\boldsymbol{\psi}_k = (\psi_{k1}, \psi_{k2}, \cdots, \psi_{kS})$に従って、補助情報が生成されると仮定する。詳しくは図5.9を参考のこと。

・記号一覧

 4章に加えて5.3節で用いる記号を次にまとめる。

5.3節で追加する記号一覧


・グラフィカルモデル

 ノイズあり対応トピックモデルをグラフィカルモデルで表現すると、次の図になる。

・作図用のRコード(クリックで展開)

# 利用パッケージ
library(DiagrammeR)

# ノイズあり対応トピックモデル
DiagrammeR::grViz("
  digraph NoisyCorrTM{
    graph [rankdir = LR]
    node [shape = circle, fixedsize = ture, fontname = 'Times-Italic']
    
    alpha [label = 'α']
    eta [label = 'η']
    lambda [label = 'λ']
    {rank = same; alpha; lambda}
    
    subgraph cluster_D{
      label = D
      
      theta [label = <<B>&theta;</B>@_{d}>]
      
      subgraph cluster_N{
        label = 'N@_{d}'

        z [label = 'z@_{dn}']
        w [label = 'w@_{dn}', style = filled, filledcolor = 'gray']
      }
      
      subgraph cluster_M{
        label = 'M@_{d}'
        
        y [label = 'y@_{dm}']
        r [label = 'r@_{dm}']
        x [label = 'x@_{dm}', style = filled, filledcolor = 'gray']
      }
    }
    
    beta [label = '&beta;']
    gamma [label = '&gamma;']
    {rank = same; beta; gamma}
    
    subgraph cluster_K{
      label = K
      
      phi [label = <<B>&phi;</B>@_{k}>]
    }
    
    subgraph cluster_K1{
      label = 'K+1'
      
      psi [label = <<B>&psi;</B>@_{k}>]
    }
    
    edge []
      alpha -> theta -> z;
      z -> {w, y};
      w -> phi[dir = back];
      phi -> beta[dir = back];
      eta -> lambda -> r;
      {y, r} -> x;
      x -> psi[dir = back];
      psi -> gamma[dir = back];
  }
")

ノイズあり対応トピックモデルのグラフィカルモデル

 (色々アレなのは見逃してください…)

・生成モデル

 生成過程に従うと、文書集合$\mathbf{W}$と補助情報集合$\mathbf{X}$の同時分布は

$$ \begin{aligned} p(\mathbf{W}, \mathbf{X} | \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, \lambda) &= \prod_{d=1}^D p(\mathbf{w}_d, \mathbf{x}_d | \boldsymbol{\theta}_d, \boldsymbol{\Phi}, \boldsymbol{\Psi}, \lambda) \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} p(\mathbf{w}_d, \mathbf{x}_d, \mathbf{z}_d | \boldsymbol{\theta}_d, \boldsymbol{\Phi}, \boldsymbol{\Psi}, \lambda) \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \Bigl[ p(\mathbf{z}_d | \boldsymbol{\theta}_d) p(\mathbf{w}_d | \mathbf{z}_d, \boldsymbol{\Phi}) p(\mathbf{x}_d | \mathbf{z}_d, \boldsymbol{\Psi}) \Bigr] \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[ \left\{ \prod_{n=1}^{N_d} p(z_{dn} | \boldsymbol{\theta}_d) p(w_{dn} | z_{dn}, \boldsymbol{\Phi}) \right\} \prod_{m=1}^{M_d} p(x_{dm} | \mathbf{z}_d, \boldsymbol{\Psi}, \lambda) \right] \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[ \left\{ \prod_{n=1}^{N_d} p(z_{dn} | \boldsymbol{\theta}_d) p(w_{dn} | \boldsymbol{\phi}_{z_{dn}}) \right\} \prod_{m=1}^{M_d} \sum_{k=1}^K p(x_{dm}, y_{dm} = k | \mathbf{z}_d, \boldsymbol{\psi}_k, \lambda) \right] \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[ \left\{ \prod_{n=1}^{N_d} p(z_{dn} | \boldsymbol{\theta}_d) p(w_{dn} | \boldsymbol{\phi}_{z_{dn}}) \right\} \left\{ \prod_{m=1}^{M_d} \sum_{k=1}^K p(y_{dm} = k | \mathbf{z}_d) p(x_{dm} | y_{dm} = k, \boldsymbol{\psi}_k, \lambda) \right\} \right] \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[ \left\{ \prod_{n=1}^{N_d} p(z_{dn} | \boldsymbol{\theta}_d) p(w_{dn} | \boldsymbol{\phi}_{z_{dn}}) \right\} \left\{ \prod_{m=1}^{M_d} \sum_{k=1}^K p(y_{dm} = k | \mathbf{z}_d) \right. \right. \\ &\qquad * \Biggl. \Biggl. \Bigl( p(x_{dm}, r_{dm} = 0 | \boldsymbol{\psi}_0, \lambda) + p(x_{dm}, r_{dm} = 1 | y_{dm} = k, \boldsymbol{\psi}_k, \lambda) \Bigr) \Biggr\} \Biggr] \\ &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[ \left\{ \prod_{n=1}^{N_d} p(z_{dn} | \boldsymbol{\theta}_d) p(w_{dn} | \boldsymbol{\phi}_{z_{dn}}) \right\} \left\{ \prod_{m=1}^{M_d} \sum_{k=1}^K p(y_{dm} = k | \mathbf{z}_d) \right. \right. \\ &\qquad * \Biggl. \Biggl. \Bigl( p(r_{dm} = 0 | \lambda) p(x_{dm} | r_{dm} = 0, \boldsymbol{\psi}_0) + p(r_{dm} = 1 | \lambda) p(x_{dm} | y_{dm} = k, r_{dm} = 1, \boldsymbol{\psi}_k) \Bigr) \Biggr\} \Biggr] \end{aligned} $$

【途中式の途中式】

  1. 文書ごとの積に分解する。
  2. 周辺化された単語の潜在トピック集合$\mathbf{z}_d$を明示する。
  3. 生成過程に従い乗法定理より、項を分解する。
  4. 単語ごと、補助情報ごとの積にそれぞれ分解する。
  5. 周辺化された補助情報の潜在トピック$y_{dm}$を明示する。
  6. 生成過程に従い乗法定理より、後の項を分解する。
  7. 周辺化された$r_{dm}$を明示する。
  8. 生成過程に従い乗法定理より、それぞれ分解する。


と分解できる。ここで$\sum_{\mathbf{z}_d} \equiv \sum_{z_{d1}=1}^K, \sum_{z_{d2}=1}^K, \cdots, \sum_{z_{dN_d}=1}^K$は、全ての単語のトピックに関する和を表す。

・サンプリング確率

・パラメータの周辺化

 パラメータ$\boldsymbol{\Theta},\ \boldsymbol{\Phi},\ \boldsymbol{\Psi},\ \lambda$を周辺化した、観測データ$\mathbf{W},\ \mathbf{X}$と潜在トピック集合$\mathbf{Z},\ \mathbf{Y}$、関係性集合$\mathbf{R}$の周辺同時分布(周辺同時尤度)は、生成過程より

$$ \begin{align} p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} | \alpha, \beta, \gamma, \eta) &= \int \int \int \int p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}, \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, \lambda | \alpha, \beta, \gamma, \eta) d\boldsymbol{\Theta} d\boldsymbol{\Phi} d\boldsymbol{\Psi} d\lambda \\ &= \int p(\mathbf{Z} | \boldsymbol{\Theta}) p(\boldsymbol{\Theta} | \alpha) d\boldsymbol{\Theta} \int p(\mathbf{W} | \mathbf{Z}, \boldsymbol{\Phi}) p(\boldsymbol{\Phi} | \beta) d\boldsymbol{\Phi} \int p(\mathbf{X} | \mathbf{Y}, \mathbf{R}, \boldsymbol{\Psi}) p(\boldsymbol{\Psi} | \gamma) d\boldsymbol{\Psi} \\ &\qquad * p(\mathbf{Y} | \mathbf{Z}) \int p(\mathbf{R} | \lambda) p(\lambda | \eta) d\lambda \\ &= p(\mathbf{Z} | \alpha) p(\mathbf{W} | \mathbf{Z}, \beta) p(\mathbf{Y} | \mathbf{Z}) p(\mathbf{X} | \mathbf{Y}, \mathbf{R}, \gamma) p(\mathbf{R} | \eta) \tag{5.3.1} \end{align} $$

と分解できる。

 分解した各分布の具体的な式を求めていく。1つ目の項$p(\mathbf{Z} | \alpha)$は、4.5節で求めた

$$ p(\mathbf{Z} | \alpha) = \frac{\Gamma(\alpha K)^D}{\Gamma(\alpha)^{KD}} \prod_{d=1}^D \frac{ \prod_{k=1}^K \Gamma(N_{dk} + \alpha) }{ \Gamma(N_d + \alpha K) } \tag{4.10} $$

である。

 2つ目の項$p(\mathbf{W} | \mathbf{Z}, \beta)$も、4.5節で求めた

$$ p(\mathbf{W} | \mathbf{Z}, \beta) = \frac{\Gamma(\beta V)^K}{\Gamma(\beta)^{VK}} \prod_{k=1}^K \frac{ \prod_{v=1}^V \Gamma(N_{kv} + \beta) }{ \Gamma(N_k + \beta V) } \tag{4.11} $$

である。

 3つ目の項$p(\mathbf{Y} | \mathbf{Z})$は、5.2節で求めた

$$ p(\mathbf{Y} | \mathbf{Z}) = \prod_{d=1}^D \prod_{k=1}^K \Bigl(\frac{N_{dk}}{N_d}\Bigr)^{M_{dk}} \tag{5.2.2} $$

である。

 4つ目の項$p(\mathbf{X} | \mathbf{Y}, \mathbf{R}, \gamma)$は、無関係$r_{dm} = 0$のときトピック$k = 0$として、5.1節で求めた式(5.1.3)と同様にして

$$ \begin{align} p(\mathbf{X} | \mathbf{Y}, \mathbf{R}, \gamma) &= \int p(\mathbf{X} | \mathbf{Y}, \mathbf{R}, \boldsymbol{\Psi}) p(\boldsymbol{\Psi} | \gamma) d\boldsymbol{\Psi} \\ &= \int \left[ \prod_{d=1}^D \prod_{m=1}^{M_d} p(x_{dm} = s | r_{dm} = 0, \boldsymbol{\psi}_0) \prod_{k=1}^K p(x_{dm} = s | y_{dm} = k, r_{dm} = 1, \boldsymbol{\psi}_k) \right] \left[ \prod_{k=0}^K p(\boldsymbol{\psi}_k | \gamma) \right] d\boldsymbol{\psi}_k \\ &= \int \left[ \prod_{s=1}^S \psi_{0s}^{M_{0s}} \prod_{k=1}^K \psi_{ks}^{M_{ks}} \right] \left[ \prod_{k=0}^K \frac{\Gamma(\gamma S)}{\Gamma(\gamma)^S} \prod_{s=1}^S \psi_{ks}^{\gamma-1} \right] d\boldsymbol{\psi}_k \\ &= \frac{\Gamma(\gamma S)^{K+1}}{\Gamma(\gamma)^{S(K+1)}} \prod_{k=0}^K \int \left[ \prod_{s=1}^S \psi_{ks}^{M_{ks}} \right] \left[ \prod_{s=1}^S \psi_{ks}^{\gamma-1} \right] d\boldsymbol{\psi}_k \\ &= \frac{\Gamma(\gamma S)^{K+1}}{\Gamma(\gamma)^{S(K+1)}} \prod_{k=0}^K \int \prod_{s=1}^S \psi_{ks}^{M_{ks}+\gamma-1} d\boldsymbol{\psi}_k \\ &= \frac{\Gamma(\gamma S)^{K+1}}{\Gamma(\gamma)^{S(K+1)}} \prod_{k=0}^K \frac{ \prod_{s=1}^S \Gamma(M_{ks} + \gamma) }{ \Gamma(M_k + \gamma S) } \tag{5.3.2} \end{align} $$

【途中式の途中式】

  1. 積分消去した$\boldsymbol{\Psi}$を明示して、また生成過程に従い項を分解する。
  2. 各文書の補助情報ごとの積に分解する。また関係性$r_{dm} = 0, 1$についても分解する。
  3. 仮定した確率分布に従って、それぞれ具体的な式に置き換える。このとき$\prod_{d=1}^D \prod_{m=1}^{M_d}$により、$\psi_{0s},\ \psi_{ks}$はそれぞれ$M_{0s},\ M_{ks}$個重複する。
  4. 前の因子について$k = 0$と$k = 1, 2, \cdots, K$の項をまとめて、また$\boldsymbol{\psi}_k$と無関係な項を$\int$の外に出す。
  5. $\psi_{ks}$の項をまとめて式を整理する。
  6. ディリクレ分布の正規化項の導出過程(1.13)より、置き換える。


となる。ここで$M_{0s}$は$r_{dm} = 0$において補助情報$s$が割り当てられた数、$M_{ks}$はトピック$k$において補助情報$s$が割り当てられた数である。

 最後の項$p(\mathbf{R} | \eta)$は

$$ \begin{align} p(\mathbf{R} | \eta) &= \int \left[ \prod_{d=1}^D \prod_{m=1}^{M_d} p(r_{dm} | \lambda) \right] p(\lambda | \eta) d\lambda \\ &= \int \left[ \prod_{d=1}^D \prod_{m=1}^{M_d} \lambda^{r_{dm}} (1 - \lambda)^{1-r_{dm}} \right] \frac{\Gamma(\eta + \eta)}{\Gamma(\eta) \Gamma(\eta)} \lambda^{\eta-1} (1 - \lambda)^{\eta-1} d\lambda \\ &= \int \lambda^{M_1} (1 - \lambda)^{M_0} \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \lambda^{\eta-1} (1 - \lambda)^{\eta-1} d\lambda \\ &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \int \lambda^{M_1+\eta-1} (1 - \lambda)^{M_0+\eta-1} d\lambda \\ &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \frac{ \Gamma(M_1 + \eta) \Gamma(M_0 + \eta) }{ \Gamma(M_1 + \eta + M_0 + \eta) } \\ &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \frac{ \Gamma(M_1 + \eta) \Gamma(M_0 + \eta) }{ \Gamma(M + 2 \eta) } \tag{5.3.3} \end{align} $$

【途中式の途中式】

  • 各文書の補助情報ごとの積に分解する。
  • 仮定した確率分布に従って、それぞれ具体的な式に置き換える。
  • 前の因子の指数について、$\sum_{d=1}^D \sum_{m=1}^{M_d} r_{dm} = M_1$、$\sum_{d=1}^D \sum_{m=1}^{M_d} 1 - r_{dm} = M - M_1 = M_0$となる。
  • 項をまとめて式を整理する。
  • ベータ分布の正規化項の導出過程(1.2.3項)より、式を置き換える。
  • 式を整理する。


となる。ここで$M_0$を内容と関係のない($r_{dm} = 0$である)補助情報数、$M_1$を内容と関係のある($r_{dm} = 1$である)補助情報数とする。この$M_1$はトピック1における補助情報数でないことに注意。

 この周辺同時分布(5.2.1)を用いて、各単語のトピック、各補助情報のトピックのサンプリング確率を求める。

・単語のトピックのサンプリング式の導出

 ある単語のトピック$z_{dn}$が$k$となる確率は、この節で導入した関係性集合$\mathbf{R}$が$z_{dn}$に影響しないため、5.2節で求めた

$$ \begin{align} p(z_{dn} = k | \mathbf{W}, \mathbf{X}, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}, \alpha, \beta, \gamma, \eta) &\propto p(w_{dn} | \mathbf{W}_{\backslash dn}, \mathbf{Z}, \beta) p(\mathbf{y}_d | z_{dn} = k, \mathbf{z}_{d \backslash dn}) p(z_{dn} = k | \mathbf{Z}_{\backslash dn}, \alpha) \\ &\propto (N_{dk\backslash dn} + \alpha) \frac{ N_{kw_{dn} \backslash dn} + \beta }{ N_{k \backslash dn} + \beta V } \Bigl( \frac{N_{dk \backslash dn} + 1}{N_{dk \backslash dn}}\Bigr )^{M_{dk}} \tag{5.3} \end{align} $$

である。

・補助情報のトピックのサンプリング式の導出

 ある補助情報のトピック$y_{dm}$が$k$となる確率は、5.2節と同様にして

$$ \begin{aligned} p(y_{dm} = k | \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}, \alpha, \beta, \gamma, \eta) &= \frac{ p(\mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, \mathbf{R} | \alpha, \beta, \gamma, \eta) }{ p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R} | \alpha, \beta, \gamma, \eta) } \\ &\propto p(\mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, \mathbf{R} | \alpha, \beta, \gamma, \eta) \\ &= p(\mathbf{W} | \mathbf{Z}, \beta) p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, \mathbf{R}, \gamma) p(\mathbf{X}_{\backslash dm} | \mathbf{Y}_{\backslash dm}, \mathbf{R}, \gamma) \\ &\qquad * p(y_{dm} = k | \mathbf{Z}, \mathbf{Y}_{\backslash dm}) p(\mathbf{Y}_{\backslash dm} | \mathbf{Z}) p(\mathbf{Z} | \alpha) p(\mathbf{R} | \eta) \\ &\propto p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, \mathbf{R}, \gamma) p(y_{dm} = k | \mathbf{Z}, \mathbf{Y}_{\backslash dm}) \end{aligned} $$

で求められる。適宜$y_{dm}$に影響しない項を省いている。

 前の項は、式(5.3.2)を用いて5.1節と同様にして

$$ p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, \mathbf{R}, \gamma) = \frac{ M_{kx_{dm} \backslash dm} + \gamma }{ M_{k \backslash dm} + \gamma S } $$

となる。計算過程において、$y_{dm}$に与えられたトピック$k$以外の項は約分によって消えるため、どのトピック$k = 1, 2, \cdots, K$が割り当てられたとしても、$\mathbf{R}$($k = 0$に関する項)の影響は受けない。詳しくは4.5節を参照のこと。

 後の項は、5.2節で求めた

$$ p(y_{dm} = k | \mathbf{Z}, \mathbf{Y}_{\backslash dm}) = \frac{N_{dk}}{N_d} $$

である。

 それぞれ代入すると

$$ \begin{align} p(y_{dm} = k | \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}, \alpha, \beta, \gamma, \eta) &\propto \frac{N_{dk}}{N_d} \frac{ M_{kx_{dm} \backslash dm} + \gamma }{ M_{k \backslash dm} + \gamma S } \\ &\propto N_{dk} \frac{ M_{kx_{dm} \backslash dm} + \gamma }{ M_{k \backslash dm} + \gamma S } \end{align} $$

が得られる。

・関係性のトピックのサンプリング式の導出

 関係性$r_{dm}$が0となる(文書に与えられるトピックとは関係のない補助情報が生成される)確率は、周辺同時分布(5.3.1)にベイズの定理を用いて

$$ \begin{aligned} p(r_{dm} = 0 | \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, \alpha, \beta, \gamma, \eta) &= \frac{ p(\mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm} | \alpha, \beta, \gamma, \eta) }{ p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm} | \alpha, \beta, \gamma, \eta) } \\ &\propto p(\mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm} | \alpha, \beta, \gamma, \eta) \\ &= p(\mathbf{W} | \mathbf{Z}, \beta) p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm}, \gamma) p(\mathbf{X}_{\backslash dm} | \mathbf{Y}, \mathbf{R}_{\backslash dm}, \gamma) \\ &\qquad * p(\mathbf{Y} | \mathbf{Z}) p(\mathbf{Z} | \alpha) p(r_{dm} = 0 | \mathbf{R}_{\backslash dm}, \eta) p(\mathbf{R}_{\backslash dm} | \eta) \\ &\propto p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm}, \gamma) p(r_{dm} = 0 | \mathbf{R}_{\backslash dm}, \eta) \end{aligned} $$

で求められる。適宜$r_{dm}$に影響しない項を省いている。

 前の項は、式(5.3.2)を用いて式(4.14)と同様にして

$$ \begin{aligned} p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm}, \gamma) &= \frac{ p(x_{dm}, \mathbf{X}_{\backslash dm} | \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm}, \gamma) }{ p(\mathbf{X}_{\backslash dm} | \mathbf{Y}, r_{dm} = 0, \mathbf{R}_{\backslash dm}, \gamma) } \\ &= \frac{\Gamma(\gamma S)}{\Gamma(\gamma)^S} \frac{ \Gamma(M_{0x_{dm} \backslash dm} + 1 + \gamma) \prod_{s' \neq x_{dm}} \Gamma(M_{0s' \backslash dm} + \gamma) }{ \Gamma(M_{0 \backslash dm} + 1 + \gamma S) } \frac{\Gamma(\gamma)^S}{\Gamma(\gamma S)} \frac{ \Gamma(M_{0 \backslash dm} + \gamma S) }{ \prod_{s=1}^S \Gamma(M_{0s \backslash dm} + \gamma) } \\ &= \frac{ (M_{0x_{dm} \backslash dm} + \gamma) \Gamma(M_{0x_{dm} \backslash dm} + \gamma) \prod_{s' \neq x_{dm}} \Gamma(M_{0s' \backslash dm} + \gamma) }{ (M_{0 \backslash dm} + \gamma S) \Gamma(M_{0 \backslash dm} + \gamma S) } \frac{ \Gamma(M_{0 \backslash dm} + \gamma S) }{ \prod_{s=1}^S \Gamma(M_{0s \backslash dm} + \gamma) } \\ &= \frac{ M_{0x_{dm} \backslash dm} + \gamma }{ M_{0 \backslash dm} + \gamma S } \end{aligned} $$

となる。1行目の分母分子において、分母に含まれない$x_{dm} = s$の項を取り出して考えている。また計算過程において、内容に無関係なトピック$k = 0$以外のトピックについては約分によって消えている。

 後の項は、式(5.3.3)を用いて

$$ \begin{aligned} p(r_{dm} = 0 | \mathbf{R}_{\backslash dm}, \eta) &= \frac{ p(r_{dm} = 0, \mathbf{R}_{\backslash dm} | \eta) }{ p(\mathbf{R}_{\backslash dm} | \eta) } \\ &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \frac{ \Gamma(M_{1 \backslash dm} + \eta) \Gamma(M_{0 \backslash dm} + 1 + \eta) }{ \Gamma(M_{\backslash dm} + 1 + 2 \eta) } \frac{\Gamma(\eta)^2}{\Gamma(2 \eta)} \frac{ \Gamma(M_{\backslash dm} + 2 \eta) }{ \Gamma(M_{1 \backslash dm} + \eta) \Gamma(M_{0 \backslash dm} + \eta) } \\ &= \frac{ (M_{0 \backslash dm} + \eta) \Gamma(M_{0 \backslash dm} + \eta) }{ (M_{\backslash dm} + 2 \eta) \Gamma(M_{\backslash dm} + 2 \eta) } \frac{ \Gamma(M_{\backslash dm} + 2 \eta) }{ \Gamma(M_{0 \backslash dm} + \eta) } \\ &= \frac{ M_{0 \backslash dm} + \eta }{ M_{\backslash dm} + 2 \eta } \end{aligned} $$

となる。

 それぞれ代入すると

$$ \begin{aligned} p(r_{dm} = 0 | \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, \alpha, \beta, \gamma, \eta) &\propto \frac{ M_{0 \backslash dm} + \eta }{ M_{\backslash dm} + 2 \eta } \frac{ M_{0x_{dm} \backslash d} + \gamma }{ M_{0 \backslash dm} + \gamma S } \\ &\propto (M_{0 \backslash dm} + \eta) \frac{ M_{0x_{dm} \backslash d} + \gamma }{ M_{0 \backslash dm} + \gamma S } \end{aligned} $$

が得られる。

 同様に、関係性$r_{dm}$が1となる(文書に与えられるトピックと関係のある補助情報が生成される)確率は

$$ \begin{aligned} p(r_{dm} = 1 | \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, \alpha, \beta, \gamma, \eta) &= \frac{ p(\mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm} | \alpha, \beta, \gamma, \eta) }{ p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm} | \alpha, \beta, \gamma, \eta) } \\ &\propto p(\mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm} | \alpha, \beta, \gamma, \eta) \\ &= p(\mathbf{W} | \mathbf{Z}, \beta) p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \gamma) p(\mathbf{X}_{\backslash dm} | \mathbf{Y}, \mathbf{R}_{\backslash dm}, \gamma) \\ &\qquad * p(\mathbf{Y} | \mathbf{Z}) p(\mathbf{Z} | \alpha) p(r_{dm} = 1 | \mathbf{R}_{\backslash dm}, \eta) p(\mathbf{R}_{\backslash dm} | \eta) \\ &\propto p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \gamma) p(r_{dm} = 1 | \mathbf{R}_{\backslash dm}, \eta) \end{aligned} $$

となる。

 前の項は

$$ \begin{aligned} p(x_{dm} | \mathbf{X}_{\backslash dm}, \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \gamma) &= \frac{ p(x_{dm}, \mathbf{X}_{\backslash dm} | \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \gamma) }{ p(\mathbf{X}_{\backslash dm} | \mathbf{Y}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \gamma) } \\ &= \frac{\Gamma(\gamma S)^{K+1}}{\Gamma(\gamma)^{S(K+1)}} \frac{ \Gamma(M_{y_{dm}x_{dm} \backslash dm} + 1 + \gamma) \prod_{s' \neq x_{dm}} \Gamma(M_{y_{dm}s' \backslash dm} + \gamma) }{ \Gamma(M_{y_{dm} \backslash dm} + 1 + \gamma S) } \prod_{k' \neq y_{dm}} \frac{ \prod_{s=1}^S \Gamma(M_{k's} + \gamma) }{ \Gamma(M_{k'} + \gamma S) } \\ &\qquad * \frac{\Gamma(\gamma)^{S(K+1)}}{\Gamma(\gamma S)^{K+1}} \prod_{k=0}^K \frac{ \Gamma(M_k + \gamma S) }{ \prod_{s=1}^S \Gamma(M_{ks} + \gamma) } \\ &= \frac{ (M_{y_{dm}x_{dm} \backslash dm} + \gamma) \Gamma(M_{y_{dm}x_{dm} \backslash dm} + \gamma) \prod_{s' \neq x_{dm}} \Gamma(M_{ks' \backslash dm} + \gamma) }{ (M_{y_{dm} \backslash dm} + \gamma S) \Gamma(M_{y_{dm} \backslash dm} + \gamma S) } \prod_{k' \neq y_{dm}} \frac{ \prod_{s=1}^S \Gamma(M_{k's} + \gamma) }{ \Gamma(M_{k'} + \gamma S) } \\ &\qquad * \prod_{k=0}^K \frac{ \Gamma(M_k + \gamma S) }{ \prod_{s=1}^S \Gamma(M_{ks} + \gamma) } \\ &= \frac{ M_{y_{dm}x_{dm} \backslash dm} + \gamma }{ M_{y_{dm} \backslash dm} + \gamma S } \end{aligned} $$

となる。1行目の分母分子において、分母に含まれない$y_{dm} = k,\ x_{dm} = s$の項を取り出して考えている。

 後の項は

$$ \begin{aligned} p(r_{dm} = 1 | \mathbf{R}_{\backslash dm}, \eta) &= \frac{ p(r_{dm} = 1, \mathbf{R}_{\backslash dm} | \eta) }{ p(\mathbf{R}_{\backslash dm} | \eta) } \\ &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \frac{ \Gamma(M_{1 \backslash dm} + 1 + \eta) \Gamma(M_{0 \backslash dm} + \eta) }{ \Gamma(M_{\backslash dm} + 1 + 2 \eta) } \frac{\Gamma(\eta)^2}{\Gamma(2 \eta)} \frac{ \Gamma(M_{\backslash dm} + 2 \eta) }{ \Gamma(M_{1 \backslash dm} + \eta) \Gamma(M_{0 \backslash dm} + \eta) } \\ &= \frac{ (M_{1 \backslash dm} + \eta) \Gamma(M_{1 \backslash dm} + \eta) }{ (M_{\backslash dm} + 2 \eta) \Gamma(M_{\backslash dm} + 2 \eta) } \frac{ \Gamma(M_{\backslash dm} + 2 \eta) }{ \Gamma(M_{1 \backslash dm} + \eta) } \\ &= \frac{ M_{1 \backslash dm} + \eta }{ M_{\backslash dm} + 2 \eta } \end{aligned} $$

となる。

 それぞれ代入すると

$$ \begin{aligned} p(r_{dm} = 1 | \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, \alpha, \beta, \gamma, \eta) &\propto \frac{ M_{1 \backslash dm} + \eta }{ M_{\backslash dm} + 2 \eta } \frac{ M_{y_{dm}x_{dm} \backslash dm} + \gamma }{ M_{y_{dm} \backslash dm} + \gamma S } \\ &\propto (M_{1 \backslash dm} + \eta) \frac{ M_{y_{dm}x_{dm} \backslash dm} + \gamma }{ M_{y_{dm} \backslash dm} + \gamma S } \end{aligned} $$

が得られる。

・ハイパーパラメータ推定

 ハイパーパラメータの更新式は、周辺同時分布(5.3.1)に対して不動点反復法を用いて求める。
 ノイズあり対応トピックモデルの周辺同時分布において、トピック分布のパラメータ$\alpha$に関わる項$p(\mathbf{Z} | \alpha)$、単語分布のパラメータ$\beta$に関わる項$p(\mathbf{W} | \mathbf{Z}, \beta)$は、基本形のトピックモデル(4.5節)のものと同じ形状である。従って、ハイパーパラメータ$\alpha,\ \beta$の更新式も同じ式になる。

 補助情報分布のパラメータ$\gamma$については、$\gamma$に関する項$p(\mathbf{X} | \mathbf{Y}, \mathbf{R}, \gamma)$が結合トピックモデル(5.2節)での$p(\mathbf{X} | \mathbf{Y}, \gamma)$に$k = 0$の項を含めたものである。よって同様の手順で

$$ \gamma^{\mathrm{new}} = \gamma \frac{ \sum_{k=0}^K \sum_{s=1}^S \Psi(M_{ks} + \gamma) - (K + 1) S \Psi(\gamma) }{ S \sum_{k=0}^K \Psi(M_k + \gamma S) - (K + 1) S \Psi(\gamma S) } $$

となる。ここで$\Psi(\cdot)$がディガンマ関数である。

 関係性分布のパラメータ$\eta$については、$\eta$に関する項$p(\mathbf{R} | \eta)$を次のように変形すると

$$ \begin{align} p(\mathbf{R} | \eta) &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \frac{ \Gamma(M_1 + \eta) \Gamma(M_0 + \eta) }{ \Gamma(M + 2 \eta) } \tag{5.3.3}\\ &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2} \frac{ \prod_{r=0}^1 \Gamma(M_r + \eta) }{ \Gamma(M + 2 \eta) } \end{align} $$

他のハイパーパラメータに関する項と同じ構造であることが分かる。よって同様の手順で

$$ \begin{aligned} \eta^{\mathrm{new}} &= \eta \frac{ \sum_{r=0}^1 \Psi(M_r + \eta) - 2 \Psi(\eta) }{ 2 \Psi(M + 2 \eta) - 2 \Psi(2 \eta) } \\ &= \eta \frac{ \Psi(M_1 + \eta) + \Psi(M_0 + \eta) - 2 \Psi(\eta) }{ 2 \Psi(M + 2 \eta) - 2 \Psi(2 \eta) } \end{aligned} $$

となる。

参考書籍

  • 岩田具治(2015)『トピックモデル』(機械学習プロフェッショナルシリーズ)講談社

おわりに

 だいぶ慣れてきた気がします。これを変分ベイズで解くという遊び方を思いついてしましました。さてどうしましょう。

 2020年10月24日は、アンジュルムの上國料萌衣さんの21歳のお誕生日!おめでとうございます!

 この記事の投稿1時間前に投稿された最新の動画です!

【次節の内容】

www.anarchive-beta.com