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