はじめに
『トピックモデル』(MLPシリーズ)の勉強会資料のまとめです。各種モデルやアルゴリズムを「数式」と「プログラム」を用いて解説します。
本の補助として読んでください。
この記事では、結合トピックモデルで登場する数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
5.1 結合トピックモデルの生成モデルの導出
結合トピックモデル(JTM・joint topic model)の定義(仮定)を確認する。結合トピックモデルでは、文書集合(単語情報)と依存関係のない補助情報を扱う。
トピックモデル(LDA・latent Dirichlet allocation)の定義や共通する記号類については「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:加筆修正の際に「結合トピックモデルの崩壊型ギブスサンプリングの導出:一様なハイパーパラメータの場合」を記事から独立しました。
なので上に書いた愚痴は概ね次の記事に対する感想です。(なんでこんなに改行して書いてるんだろう?)
省略した途中式についても書き足しましたので安心して続きを読んでください。さらに多様なハイパラ版も別記事として書きましたのでそちらも読んでください。
【次節の内容】
- 数式読解編
結合トピックモデルに対する周辺化ギブズサンプリングを数式で確認します。
対応トピックモデルの生成モデルを数式で確認します。