はじめに
『トピックモデル』(MLPシリーズ)の勉強会資料のまとめです。各種モデルやアルゴリズムを「数式」と「プログラム」を用いて解説します。
本の補助として読んでください。
この記事では、結合トピックモデルで登場する数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
5.1 結合トピックモデルの生成モデルの導出
文書集合(単語情報)と依存関係のない(独立な)補助情報を扱う結合トピックモデル(joint topic model)の定義(仮定)を確認する。
トピックモデルの定義や共通する記号類については「4.1:トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、依存関係のある場合については「5.2:対応トピックモデル【『トピックモデル』の勉強ノート】 - からっぽのしょこ」を参照のこと。
生成過程の設定
まずは、結合トピックモデルの生成過程(generative process)を数式で確認する。アルゴリズムについては図5.2を参照のこと。
文書 の補助情報数を 、補助情報番号(インデックス)を とする。
補助情報の種類(ユニーク補助情報)数を 、種類番号を とする。
文書 に含まれる(出現した) 番目の補助情報を で表す。各補助情報 の値として種類番号 をとることで、その補助情報の種類を表す。
また、補助情報 が種類 であることを明示的に と書くこともある。
個の補助情報を集合 として扱い、文書 の補助情報集合と呼ぶ。
文書ごとに補助情報集合を持ち、 個の補助情報集合を集合 として扱い、補助情報集合と呼ぶ。
補助情報 が持つ(割り当てられた)トピックを で表す。各補助情報のトピック の値としてトピック番号 をとることで、その補助情報のトピックを表す。
また、補助情報のトピック が であることを明示的に と書くこともある。
文書 の 個の補助情報のトピックを集合 として扱い、文書 の補助情報トピック集合と呼ぶ。
文書ごとに補助情報トピック集合を持ち、 個の補助情報トピック集合を集合 として扱い、補助情報トピック集合と呼ぶ。
トピックは観測できないデータであるため潜在変数や潜在トピックとも呼ばれる。
各補助情報のトピック は、トピック分布のパラメータ をパラメータとするカテゴリ分布に従って独立に生成されると仮定する。
トピック の補助情報に対して種類(内容) が生成される(出現する)確率を で表す。
各種類に対応する 個の生成確率をまとめて、 次元ベクトル で表す。
の各要素は確率なので、それぞれ非負の値であり、総和(全ての種類に関する和)が1になる条件を満たす必要がある。
をトピック の補助情報分布のパラメータと呼び、カテゴリ分布のパラメータとして用いる。
トピックごとに補助情報分布(のパラメータ)を持ち、 個のパラメータを集合 として扱い、補助情報分布のパラメータ集合と呼ぶ。
また、補助情報分布のパラメータ ( の各要素)は、 をパラメータとするディリクレ分布に従って独立に生成されると仮定する。
ディリクレ分布の確率変数は、カテゴリ分布のパラメータの条件(非負の値で総和が1になる値)を満たす。
は 次元ベクトルであり、補助情報分布のハイパーパラメータ(超パラメータ)と呼ぶ。
はディリクレ分布のパラメータなので、各要素は非負の値の条件を満たす必要がある。
は に影響する。
各補助情報 の種類(内容)は、補助情報に割り当てられたトピックに応じた をパラメータとするカテゴリ分布に従って独立に生成されると仮定する。
文書集合 とも独立して生成される。
以上で、結合トピックモデルの生成過程(定義・仮定)を確認した。生成過程は、変数やパラメータ間の依存関係であり、生成モデルや推論アルゴリズムの導出でも用いる。
記号一覧
続いて、トピックモデル(4章)に加えて結合トピックモデル(5.1節)で用いる記号類を表にまとめる。
記号 | 意味 | 制約・関係性 |
---|---|---|
補助情報の種類数 | ||
補助情報の種類(ユニーク補助情報)インデックス | ||
文書 の補助情報数 | ||
全文書におけるトピック の補助情報数 | ||
文書 におけるトピック の補助情報数 | ||
トピック における種類 の補助情報数 | ||
文書 の補助情報インデックス | ||
補助情報集合 | ||
文書 の補助情報集合 | ||
文書 の 番目の補助情報 | ||
補助情報トピック集合 | ||
文書 の補助情報トピック集合 | ||
補助情報 のトピック | ||
補助情報分布のパラメータ集合 | ||
トピック の補助情報分布のパラメータ | ||
トピック における種類 の生成確率 | ||
補助情報分布のハイパーパラメータ | ||
に影響する値 |
ハイパーパラメータ が一様な(全て同じ)値の場合 はスカラ で表す。
補助情報トピック集合 に対して、 を単語トピック集合と呼ぶ。
以上の記号を用いて、結合トピックモデルやその推論アルゴリズムを定義する。
尤度関数の導出
次は、結合トピックモデルにおける尤度関数(likelihood function)を数式で確認する。
パラメータ が与えられた(条件とする)ときの観測データ の生成確率(結合分布)は、生成過程(依存関係)に従い次のように変形できる。
途中式の途中式(クリックで展開)
- 1: 文書ごとの積に分解する。
- 2: 観測変数 の項を分解する。
- 3: 単語・補助情報ごとの積に分解する。
- 4: 周辺化された潜在変数 を明示する。
- 5: 単語に関する変数 と補助情報に関する変数 の項をそれぞれ分割する。
さらに、具体的な式に置き換えて、式を整理する。
途中式の途中式(クリックで展開)
- 1: それぞれカテゴリ分布を仮定しているので、各変数がとる値(インデックス)のパラメータが生成確率に対応する。
- 2: 単語番号 を用いた式から、語彙番号 を用いた式に変換する。 個の単語に対応するパラメータ について、各単語に割り当てられた語彙番号 を用いてトピックごとにまとめると、 個の に置き換えられる。
- 2: 補助情報番号 を用いた式から、補助情報の種類番号 を用いた式に変換する。 個の補助情報に対応するパラメータ について、各補助情報に割り当てられた種類番号 を用いてトピックごとにまとめると、 個の に置き換えられる。
トピック分布・単語分布・補助情報分布のパラメータ(と語彙頻度・補助情報頻度)を用いた式が得られた。
生成モデルの導出
続いて、結合トピックモデルの生成モデル(generative model)を数式で確認する。
観測変数 、潜在変数 、パラメータ 、ハイパーパラメータ をそれぞれ確率変数とする結合分布(同時分布)は、生成過程(依存関係)に従い次のように変形できる。
途中式の途中式(クリックで展開)
- 1: 変数やパラメータごとの項に分割する。
観測変数、潜在変数、パラメータ、ハイパーパラメータごとに項を分割する。
さらに1つ目の項の、独立な観測変数の項を分割する。
2つ目の項の、独立な潜在変数の項を分割する。
3つ目の項の、独立なパラメータの項を分割する。
4つ目の項の、独立なハイパーパラメータの項を分割する。
確率変数と依存関係のない条件を適宜省いている。
- 2: 文書・トピックごとの積に分解する。
- 3: 単語・補助情報ごとの積に分解する。
この式自体が変数やパラメータ間の依存関係を表している。
グラフィカルモデル
最後は、結合トピックモデルの生成モデルをグラフィカルモデル表現(graphical model representation)で確認する。
結合トピックモデルの生成モデルは、次の式に分解できた。
この式をグラフィカルモデルにすると、次の図になる。
「 」が、各文書のトピック分布 に対応し、トピック分布(のパラメータ)に従って各補助情報のトピック が生成されることを示している。
「 」と「 」が、各トピックの補助情報分布 に対応し、補助情報分布(のパラメータ)に従って各補助情報(の種類) が生成されることを示している。
「 」が、補助情報分布のパラメータの事前分布 に対応し、事前分布(のパラメータ)に従って補助情報分布のパラメータ が生成されることを示している。
「 」が、 に対応し、 個の単語分布と補助情報分布のパラメータ が繰り返し生成されることを示している。
「 」が、 に対応し、 個のトピック と補助情報 が繰り返し生成されることを示している。
「 」が、 に対応し、 個のトピック集合 と単語集合 、補助情報集合 、またトピック分布のパラメータ が繰り返し生成されることを示している。
その他の関係(ノードとエッジ)についてはトピックモデル(4.1節)と同じである。
この記事では、結合トピックモデルで用いる記号や定義を確認した。次の記事では、生成モデルを実装して、各種アルゴリズムに用いる人工データを作成する。
参考書籍
おわりに
トピックモデルの基本形(1~4章)の復習が済んだので、ひっさしぶりに青トピ本を進めます。
とりあえず行間広すぎいい。あと3行、いやせめて同時周辺尤度の分解の1行だけでも欲しいいい。
とはいえ何とか解けたと思われます。この本で機械学習にこんにちはしてから1年半、本当に自分の成長に感動します。やればできるもんなんだな!
それと疑似コードもなくなってるんですけどおお。どうやって組めばいいのおお。
そろそろ元論文などにあたる頃合いなんだろなと思いつつも、詳細に載ってるわけでもないしなぁ、他にもやりたいことがあるしなぁという感じで次節へ!
レベルアップに伴って、明らかな(のと少し書くのが面倒な)途中式をほんのちょっとだけ省略してしまいました。このシリーズのコンセプトに反してしまったことをここに懺悔しておきます。でも全部読んでくれた人なら分かるはずですゆえ。
- 2024.09.20:加筆修正の際に「対応トピックモデルの崩壊型ギブスサンプリングの導出:一様なハイパーパラメータの場合」を記事から独立しました。
なので上に書いた愚痴は概ね次の記事に対する感想です。(なんでこんなに改行して書いてるんだろう?)
省略した途中式についても書き足しましたので安心して続きを読んでください。さらに多様なハイパラ版も別記事として書きましたのでそちらも読んでください。
【次節の内容】
- 数式読解編
ハイパーパラメータが一様な場合の結合トピックモデルに対する周辺化ギブズサンプリングを数式で確認します。
対応トピックモデルの生成モデルを数式で確認します。