はじめに
『トピックモデル』(MLPシリーズ)の勉強会資料のまとめです。各種モデルやアルゴリズムを「数式」と「プログラム」を用いて解説します。
本の補助として読んでください。
この記事では、対応トピックモデルに対する崩壊型ギブスサンプリングの数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
- はじめに
- 5.2 対応トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合
- 参考書籍
- おわりに
5.2 対応トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合
対応トピックモデル(Corr-LDA・correspondence topic model)に対する不動点反復法(固定点反復法・fixed point iteration)を用いた崩壊型ギブスサンプリング(周辺化ギブスサンプリング・collapsed Gibbs sampling)におけるパラメータの計算式を導出する。この記事では、ハイパーパラメータが多様な値の場合を扱う。
トピックモデル(LDA・latent Dirichlet allocation)の定義や記号については「4.1:トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、対応トピックモデルの定義や記号については「5.2:対応トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、ハイパーパラメータが一様な値の場合については「5.2:対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
パラメータの周辺化の導出
まずは、サンプリング式や更新式の導出に用いる各変数の周辺分布の式を導出する。
結合周辺分布の設定
パラメータ を周辺化(積分消去)したときの観測変数
と潜在変数
の結合分布(同時分布)を求める。
対応トピックモデルの生成過程(依存関係)に従って、 の結合周辺分布を分割する。
対応トピックモデルの依存関係については「対応トピックモデルの生成モデルの導出」を参照のこと。
に関する周辺分布または条件付き分布から得られることが分かった。
単語トピック集合の周辺分布
の結合周辺分布の式(1)の1つ目の項は、トピック分布のパラメータ
の事前分布を用いた単語トピック集合
の周辺分布である。
この式は、トピックモデル(4.5節)と同じ式なので、次の式になる。
詳しくは「4.5:トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
の周辺分布の式が得られた。
補助情報トピック集合の条件付き分布
の結合周辺分布の式(1)の2つ目の項は、単語トピック集合
が与えられたときの補助情報トピック集合
の条件付き分布である。
この式は、一様なハイパーパラメータの場合の対応トピックモデル(5.2節)と同じ式なので、次の式になる。
詳しくは「対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
の条件付き分布の式が得られた。
文書集合の周辺分布
の結合周辺分布の式(1)の3つ目の項は、単語分布のパラメータ
の事前分布を用いた文書集合
の周辺分布である。
この式は、トピックモデル(4.5節)と同じ式なので、次の式になる。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
の周辺分布の式が得られた。
補助情報集合の周辺分布
の結合周辺分布の式(1)の4つ目の項は、補助情報分布のパラメータ
の事前分布を用いた補助情報集合
の周辺分布である。
この式は、結合トピックモデル(5.1節)と同じ式なので、次の式になる。
詳しくは「5.1:結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
の周辺分布の式が得られた。
結合周辺分布
の結合周辺分布の式(1)に、
の周辺分布の式(4.10')と
の条件付き分布の式(2)、
の周辺分布の式(4.11')、
の周辺分布の式(3')を代入する。
の結合周辺分布の式が得られた。
以上で、各変数の周辺分布の式と、結合周辺分布の式が得られた。
スポンサードリンク
サンプリング式の導出
次は、各変数の周辺分布を用いて、各潜在変数のサンプリング確率(条件付き分布)を導出する。
文書 の
番目の単語
を除いた文書集合を
、単語トピック集合を
とする。全ての文書集合は
、全ての単語トピック集合は
で表せる。
文書 の
番目の補助情報
を除いた補助情報集合を
、補助情報トピック集合を
とする。全ての補助情報集合は
、全ての補助情報トピック集合は
で表せる。
同様に、 を除く単語数を
、
を除く補助情報数を
で表す。
単語トピックの条件付き分布の設定
全単語の文書集合 と単語
以外のトピック集合
、補助情報集合
と補助情報トピック集合
が与えられた(条件とする)ときの単語
のトピック
の条件付き分布を求める。
途中式の途中式(クリックで展開)
- 1: 条件付き確率より、目的の変数
以外の変数
を条件に移した式を立てる。
- 2:
と無関係な項を省く。
- 3: 変数ごとの項に分割する。
単語 に関する変数
と単語
以外に関する変数
、補助情報に関する変数
の項を分割する。
さらに1つ目の項の、観測変数 と潜在変数
の項を分割する。
2つ目の項の、観測変数 と潜在変数
の項を分割する。
3つ目の項の、観測変数 と潜在変数
の項を分割する。
さらに後の項を、 に関する項と
以外に関する項に分割する。
- 4:
と無関係な項を省く。
に影響しない項を省いて比例関係のみに注目すると、
に関する事後周辺分布から得られることが分かった。
単語トピックの事後周辺分布
の条件付き分布の式(4)の1つ目の項は、単語
以外のトピック集合
が与えられたときの単語
のトピック
の周辺分布である。
この式は、トピックモデル(4.5節)と同じ式なので、 の周辺分布の式(4.10)を用いて、次の式になる。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
(に割り当てられるトピック
)の事後周辺分布の式が得られた。
単語の事後周辺分布
の条件付き分布の式(4)の2つ目の項は、単語
以外の文書集合
と全単語のトピック集合
が与えられたときの単語
の周辺分布である。
この式は、トピックモデル(4.5節)と同じ式なので、 の周辺分布の式(4.11)を用いて、次の式になる。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
の事後周辺分布の式が得られた。
補助情報トピック集合の事後分布
の条件付き分布の式(4)の3つ目の項は、単語トピック集合
が与えられたときの文書
の補助情報トピック集合
の条件付き分布である。
この式は、一様なハイパーパラメータの場合の対応トピックモデル(5.2節)と同じ式なので、 の条件付き分布の式(2)の文書
に関する項を用いて、次の式になる。
詳しくは「対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
の事後分布の式が得られた。
単語トピックの条件付き分布
の条件付き分布の式(4)に、
の事後周辺分布の式(4.13)と
の事後周辺分布の式(4.14)、
の事後分布の式(5)を代入する。
に影響しない項を省いた。他のトピックについても同様に計算でき、全てのトピックに関する和で割ると正規化できる。
の条件付き分布の式が得られた。
補助情報トピックの条件付き分布の設定
単語集合 と単語トピック集合
、全ての補助情報集合
と補助情報
以外のトピック集合
が与えられた(条件とする)ときの補助情報
のトピック
の条件付き分布を求める。
途中式の途中式(クリックで展開)
- 1: 条件付き確率より、目的の変数
以外の変数
を条件に移した式を立てる。
- 2:
と無関係な項を省く。
- 3: 変数ごとの項に分割する。
単語に関する変数 、補助情報
に関する変数
と補助情報
以外に関する変数
の項を分割する。
さらに1つ目の項の、観測変数 と潜在変数
の項を分割する。
2つ目の項の、観測変数 と潜在変数
の項を分割する。
3つ目の項の、観測変数 と潜在変数
の項を分割する。
- 4:
と無関係な項を省く。
に影響しない項を省いて比例関係のみに注目すると、
に関する事後周辺分布から得られることが分かった。
補助情報トピックの事後分布
の条件付き分布の式(6)の前の項は、補助情報
以外のトピック集合
が与えられたときの補助情報
のトピック
の条件付き分布である。
この式は、一様なハイパーパラメータの場合の対応トピックモデル(5.2節)と同じ式なので、 の条件付き分布の式(2)を用いて、次の式になる。
詳しくは「対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
(に割り当てられるトピック
)の事後分布の式が得られた。
補助情報の事後周辺分布
の条件付き分布の式(6)の後の項は、補助情報
以外の補助情報集合
と全補助情報のトピック集合
が与えられたときの補助情報
の周辺分布である。
この式は、結合トピックモデル(5.1節)と同じ式なので、 の周辺分布の式(3)を用いて、次の式になる。
詳しくは「結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
の事後周辺分布の式が得られた。
補助情報トピックの条件付き分布
の条件付き分布の式(6)に、
の事後分布の式(7)と
の事後周辺分布の式(8)を代入する。
に影響しない項を省いた。他のトピックについても同様に計算でき、全てのトピックに関する和で割ると正規化できる。
の条件付き分布の式が得られた。
以上で、各潜在変数のトピックのサンプリング式が得られた。
スポンサードリンク
ハイパーパラメータの更新式の導出
続いて、サンプリングしたトピック集合を用いて、全変数の結合周辺分布を最大化するハイパーパラメータを推定する。しかし、解析的に求められない。そこで、不動点反復法により結合周辺分布の下限を繰り返し更新することで最大化を行うための各分布のハイパーパラメータの更新式を導出する。
周辺結合分布の下限の設定
の周辺分布の式(4.10')を
と変形し、また の周辺分布の式(4.11')を
と変形し、 の周辺分布の式(3')を
と変形して、 の結合周辺分布の式(1)を置き換え下限
とおく。
また、次のようにおいた。
途中式の途中式(クリックで展開)
- 1: 対数ガンマとディガンマ関数の不等式を用いて、項を置き換える。
に対して、
、
のとき、次の関係が成り立つ。
また、 に対して、
のとき、次の関係が成り立つ。
現在の値(中心) を
、更新後の値(変数)
を
と対応させて下限の式に変形する。
現在の値を 、更新後の値を
とする(
の添字の
は識別用で計算上の意味はない)。周辺尤度に関して
の周りでテイラー展開(近似)して下限として用いる。
下限への変形については「対数ガンマ関数とディガンマ関数の不等式の導出【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
の結合周辺分布の下限
の対数をとり対数下限
とおく。
の結合周辺分布の対数下限の式が得られた。
トピック分布のハイパーパラメータ
の結合周辺分布の対数下限
から
に関する項を取り出し(無関係な項を定数
にまとめ)関数
とおく。
この式は、トピックモデル(4.5節)と同じ式なので、関数 を
に関して微分して解くと、次の式になる。
回目の更新において、
を更新前の値(
回目の更新値)
、
を更新後の値(
回目の更新値)
とする。また、初期値は
とする。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
の更新式が得られた。
単語分布のハイパーパラメータ
の結合周辺分布の対数下限
から
に関する項を取り出し関数
とおく。
この式は、トピックモデル(4.5節)と同じ式なので、関数 を
に関して微分して解くと、次の式になる。
回目の更新において、
を更新前の値(
回目の更新値)
、
を更新後の値(
回目の更新値)
とする。また、初期値は
とする。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
の更新式が得られた。
補助情報分布のハイパーパラメータ
の結合周辺分布の対数下限
から
に関する項を取り出し関数
とおく。
この式は、結合トピックモデル(5.1節)と同じ式なので、関数 を
に関して微分して解くと、次の式になる。
回目の更新において、
を更新前の値(
回目の更新値)
、
を更新後の値(
回目の更新値)
とする。また、初期値は
とする。
詳しくは「結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
の更新式が得られた。
以上で、各分布のハイパーパラメータの更新式が得られた。
スポンサードリンク
事後予測分布の導出
最後は、各変数の周辺分布を用いて、未知(新規)の各変数の事後予測分布を導出する。
既存の文書 において新たに生成される(
番目の)単語(の語彙)を
、トピックを
、新たに生成される(
番目の)補助情報(の種類)を
、トピックを
で表す。
トピックの事後予測分布の設定
単語トピック集合 が与えられたときの文書
の未知の単語
のトピック
の予測分布を求める。
の事後分布を用いた
の周辺分布である。
トピックの事後予測分布
この式は、トピックモデル(4.5節)と同じ式なので、 の周辺分布の式(2)を用いて、次の式になる。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
(に割り当てられるトピック
)の事後予測分布の式が得られた。この式を
とおく。
トピック分布のパラメータ
他のトピックについても同様に求められるので、 の事後予測分布のパラメータは、次の
次元ベクトルになる。
サンプリングデータ から推定したトピック分布のパラメータ
の推定値と言える。
単語の事後予測分布の設定
文書集合 と単語トピック集合
、未知の単語のトピック
が与えられたときの未知の単語(の語彙)
の予測分布を求める。
の事後分布を用いた単語
の周辺分布である。
単語の事後予測分布の設定
この式は、トピックモデル(4.5節)と同じ式なので、 の周辺分布の式(4.11)を用いて、次の式になる。
詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
(に割り当てられる語彙
)の事後予測分布の式が得られた。この式を
とおく。
単語分布のパラメータ
他の語彙についても同様に求められるので、 の事後予測分布のパラメータは、次の
次元ベクトルになる。
観測・サンプリングデータ から推定した単語分布のパラメータ
の推定値と言える。
補助情報の事後予測分布の設定
補助情報集合 と補助情報トピック集合
、未知の補助情報のトピック
が与えられたときの未知の補助情報(の種類)
の予測分布を求める。
の事後分布を用いた補助情報
の周辺分布である。
補助情報の事後予測分布
この式は、結合トピックモデル(5.1節)と同じ式なので、 の周辺分布の式(3)を用いて、次の式になる。
詳しくは「結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
(に割り当てられる種類
)の事後予測分布の式が得られた。この式を
とおく。
補助情報分布のパラメータ
他の種類についても同様に求められるので、 の事後予測分布のパラメータは、次の
次元ベクトルになる。
観測・サンプリングデータ から推定した補助情報分布のパラメータ
の推定値と言える。
以上で、各変数の事後予測分布の式と、各分布のパラメータの推定値の計算式が得られた。
この節では、対応トピックモデルを扱った。次の節では、ノイズあり対応トピックモデルを扱う。
参考書籍
おわりに
3つの記事からのコピペでほとんどの内容が済んでしまった。ベイズ推論はレゴブロックを組み合わせるように構成できるというような説明を読んだ遠い記憶があるのですが、それを実感した気がします。
結合トピックモデルよりも一段階モデルが複雑になったと思うんですが、更新式がシンプルになるのがあいかわらず直感に反していて興味深いです。
この記事が投稿される頃には、ばっしょーことばってん少女隊のライブに初参加して楽しんでいるはずです♪
私にとって初めてのスタンディングのライブハウスだとか色々不安はありますが、瀬田さくらさんのラストツアーを目一杯楽しんできまーす。
2024.10.08.追記:ただでさえ楽しいライブを過去一の位置で観られてで最高の体験を全身で浴びてきました!ドにわかだけど参加して本当に良かったです。ここにハマっても大丈夫という半年ほど前の直感は正しかった。(記事が間に合わず冒頭だけ投稿して後ほど完成させたのを白状しておきます。)
- 2025.05.22:加筆修正しました。
5章までのギブスサンプリング数式編の記事の加筆修正が済んだので、全体の構成を統一するために再度調整しました。
【次節の内容】
- 数式読解編
ノイズあり対応トピックモデルの生成モデルを数式で確認します。