lda (latent dirichlet allocaon)part_ii).pdflda (latent dirichlet allocaon)...
TRANSCRIPT
LDA(LatentDirichletAlloca0on)潜在ディリクレ配分法の原論文を読む(下)
福永 力
16/12/07
2016
年度
ゼミ
資料
1
LDAモデル(前回 終スライド)
16/12/07 2016年度ゼミ資料 2
ディリクレ事前分布
トピック比率
単語分布
α、β:コーパスで固定 θd:文書ごと可変 zdn,wdn:単語ごと可変
近似推論法(Varia0onalInference)
• (近似)推論⇒観測データwがあたえられたとき、潜在変数θ、zの事後分布 を求める(前スライドeq.(2)より)
• しかしLDAではトピック比率と単語分布の結合式 により、正規化部分(上式右辺の分母)の積分が不可能、つまり直接事後確率を求めることができない.何らかの近似化が必要となる.
• そこで下左図のθβ線を排し、新たにγ、φを変分パラメータとして導入し、右図のような(近似)確率分布関数を考える:
16/12/07 2016年度ゼミ資料 3
p(θ, z |w,α,β)
θiβij
近似推論によるγ、φの決定(1)
• 前ページのθβ経路を除いたグラフ(前ページ下右図)による事後確率分布の変形はα、βの替わりにγ(i=1,..,k)、φ(j=1,..,N)を用いて
• 真の確率分布pと仮定した分布qの差異を求めるにはKullback-LeiblerDivergence法(Bishop§1.6参照)より、以下のDを 小にするγ*、φ*を求めれば良い:
• この(γ*,φ*)はlog-likelihoodの 大値にもっとも近い下限値を得るにすぎないことに注意.
16/12/07 2016年度ゼミ資料 4
近似推論によるγ、φの決定(2)
• その結果φ(多項分布更新;mul0norminalupdate)、γ(Dirichletupdate)は以下のような反復式となる、また多項分布更新に表れる期待値は式(8)のように評価できる:
• なお である.これは の微分でdigamma関数
とも呼ばれる• 式(6)、(7)は前スライド式(5)をγ、φ=f(γ、φ)と置き、不動点反
復近似解法により求められる
16/12/07 2016年度ゼミ資料 5
Ψ(z) = ddzlnΓ(z) = Γ'(z)
Γ(z) lnΓ(z)
近似推論によるγ、φの決定(3)
• 反復回によるγ、φの計算アルゴリズム
• 適当な初期値をγ、φに設定し、1つの文書につき単語数N、導入するトピックス数kの場合、O(Nk)の繰り返し計算が必要で、収束するまでにO(N)程度の反復が必要で計算数はN2kと見積もられる
16/12/07 2016年度ゼミ資料 6
• 近似推論を使わずに1つのcorpus全体でα、βを決定するにはなるlog-likelihoodを 大にするα、βを見い出せばよいのだがそれはできないのでpの簡易式qで上式の 大値の下限に肉薄にすると期待されるγ*、φ*を見積もったのだった.
• 続いてこの下限値が 大になるようなモデルパラメータα、βを求める、つまり
• 変分EMアルゴリズムを適用して、(γ、φ)から(α、β)を見積もる1. (E-step):各文書について 適な{γ*d、φ*d,d∈D}の値を決定する2. (M-step):それらからlog-likelihoodの 低値を 大化するα、βを求める 3. 上記の2ステップをlog-likelihoodが収束するまで繰り返す⇒α、β
例えば:
LDAパラメータα、βの見積り(変分EMアルゴリズム)
16/12/07 2016年度ゼミ資料 7
• TRECAPcorpus(1,6000文書):AP通信の記事に対して100topicsのLDAモデルを適用• 各zについてtopp(w|z)なる単語を書き出してみた(上図)• zごとになんらかの意味グループ
(トピックス)が形成されているよう(Namingは勝手につけた).
• 下図は訓練に使われなかった文書についてγ、φを求め、γi(post)-αi(prior)を計算.これはi番目のトピックの事後確率の変化を示す.変化が大きいほどこの文書での特定のトピックへの単語の集中がわかる(式7)
• φnからそのp(zn|w)も推定できる.この分布はktopicsのうちどこかにピークを持てばwがどのトピックに影響されているかわかる.左下図はqn(zni=1)>0.9の4つについて色分けしたものである.トピックスと単語の対応、色は上図と対応している
LDA実行例(1) トピックス抽出
16/12/07 2016年度ゼミ資料 8
LDA実行例 文書モデリング-Perplexity(混乱度)
• 訓練データで得られたモデルパラメータをもとに以下の量をCorpusごとに計算する.ここでp(wd)=p(w1w2…wn).:
• これは、以前言語モデルで見た以下のPerplexityに対応し、幾何平均の逆数を意味する:
• つまり確率が高いとperplexityは低くなりモデルとテストデータの相性がよい(マッチしている)とみなせる.
• 2つのCorpus(1つはC.Elegans;nematode関連の科学アブストラクト(5,225文書、28,414ユニーク単語)とTRECAP(同16,333、23075)でPPを計算した.90%:Training、10%:Test
16/12/07 2016年度ゼミ資料 9
文書モデリング(続):実際のPerplexity計算
• 4つのモデルの正当性をPPを使って検証v モデル:
• Unigram• MixedUnigram• pLSI• LDA
v 使ったCorpus:• 上、C.Elegans(Scien0fic)• 下:AP(NewsAr0cle)
16/12/07 2016年度ゼミ資料 10
LDA
LDA
文書分類
• 文書を2つ(Binary)のクラスに分類– LDAの事後確率に表れたDirichletパラメータγ*(w)を使う.膨大な素性(Features)
数の減少– Reuters-21578corpus、文書:8000、単語:15,818– 比較はγ*をもと(LDA)に、あるいは素性をそのまま
(word)にしてそれらを多次元空間でSVMを使ってで分離
16/12/07 2016年度ゼミ資料 11