Mais conteúdo relacionado Semelhante a トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本 (15) トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本3. 本⽇日の内容
• 3.7 評価⽅方法
– 3.7.1 Perplexity
– 3.7.2 アルゴリズム別 Perplexity の計算⽅方法
– 3.7.3 新規⽂文書における Perplexity
– 3.7.4 Coherence
• 3.8 各種学習アルゴリズムの⽐比較
• 3.9 モデル選択
3
5. Perplexity とは
• 辞書で引くと・・
– the feeling of being confused or worried by
something you cannot understand
(理理解できないものにより困惑する感覚)
5
http://www.ldoceonline.com/dictionary/perplexity
⇨ ⽇日本語で考えるのはやめよう
8. Perplexity とは
• 予測モデル M がある場合
①1/2 ②1/8 ③1/8 ④1/8 ⑤1/8
• 実際に出た⽬目が①だった ⇨ P(①|M) = 1/2
• ①が出る確率率率とその他が出る確率率率は等しい
• ①を選ぶかその他を選ぶか、選択肢が 2 つ
あったのと同じ
( = 2 つから 1 つを選ぶ困難さ)
8
9. Perplexity とは
• 予測モデル M がある場合
①1/2 ②1/8 ③1/8 ④1/8 ⑤1/8
• 実際に出た⽬目が②だった ⇨ P(②|M) = 1/8
• 正解するには他の選択肢の誘惑をすべて
振り切切る必要があった
• 誘惑度度:①4 ②1 ③1 ④1 ⑤1
• 選択肢が 8 つあったのと同じ困難さ
9
10. Perplexity とは
• Perplexity は、予測モデルに従って正解
を当てるためのある種の困難性である
• Perplexity が低いほど、困難性は⼩小さい
• Perplexity は、予測モデルにおける予測
確率率率の逆数である PPL = 1 / P(n | M)
• 選択肢が PPL 個あったのと同じ困難さ
10
12. 3.7.1 Perplexity
• トピックモデルの Perplexity
• モデル M のもとで単語 w が得られる確率率率
の逆数
• PPL[w|M] = 1 / p(w | M)
• テストデータ中の全ての単語に対してこ
れを計算し、幾何平均(相乗平均)を取る
12
14. Perplexity の計算
• LDA において、単語の出現確率率率 p(w|M)
は、各トピックにおいて w が出現する
確率率率の積分
• Φk,w : トピック k における単語 w の出現確率率率
• θd,k : ⽂文書 d におけるトピック k の出現確率率率
14
15. 3.7.2 Perplexity の計算⽅方法
• 学習アルゴリズムによっては、Φk や θd が
求まらない(ベイズなので分布している)
① ギブスサンプリング
② 周辺化ギブスサンプリング
③ 変分ベイズ
④ 周辺化変分ベイズ
• 各種アルゴリズムにおける Perplexity の
計算⽅方法を⽰示す
15
22. 3.7.3 新規⽂文書における Perplexity
• 新規⽂文書に対しても、学習⽤用とテスト⽤用
に分ける
22
w11, w12, w13, ...
wi1, wi2, wi3, …
d1
di
・・・
wj1, wj2, wj3, …dj wj_test1, …
・・・
学
習
⽤用
テスト⽤用
24. 本⽇日の内容
• 3.7 評価⽅方法
– 3.7.1 Perplexity
– 3.7.2 アルゴリズム別 Perplexity の計算⽅方法
– 3.7.3 新規⽂文書における Perplexity
– 3.7.4 Coherence
• 3.8 各種学習アルゴリズムの⽐比較
• 3.9 モデル選択
24
25. 3.8 各種アルゴリズムの⽐比較
学習アルゴリズム GS CGS VB CVB0
1反復復当りの計算
コスト
◯ ◉ ✖ ◯
学習に必要な反復復
回数
厳密には多い 厳密には多い 少ない 少ない
学習の収束判定 ✖ ✖ ◉ ◯
メモリコスト ◯ △ ◉ ✖
予測分布の計算コ
スト
✖ ✖ ◉ ◉
予測性能
(Perplexity)
◯ ◉ ✖ ◉
学習の並列列性 容易易に可 厳密には不不可 容易易に可 厳密には不不可
適⽤用可能性 ◉ △ ◯ △
25
26. 本⽇日の内容
• 3.7 評価⽅方法
– 3.7.1 Perplexity
– 3.7.2 アルゴリズム別 Perplexity の計算⽅方法
– 3.7.3 新規⽂文書における Perplexity
– 3.7.4 Coherence
• 3.8 各種学習アルゴリズムの⽐比較
• 3.9 モデル選択
26
27. 3.9 モデル選択
• LDA におけるトピック数の決定法
1. データを学習⽤用、テスト⽤用に分ける
2. 特定のトピック数を⽤用いて LDA を学習し、
テストデータで Perplexity を求める
3. LDA 学習時に必要な初期値を変えて学習を
繰り返し、Perplexity の平均を求める
4. トピック数で⽐比較し、最も良良いものを選ぶ
27
30. まとめ
• 主要な LDA ライブラリは Perplexity を
計算してくれるので安⼼心してください!
• gensim: log_perplexity()
• scikit-learn: perplexity()
• MLlib: logPerplexity()
30