Advertisement

トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本

Data Scientist, HOXO-M
Jan. 28, 2016
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

Advertisement

トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本

  1. 『トピックモデルによる統計的潜在意味解析』読書会 3.7  評価⽅方法 〜~ 3.9 モデル選択 @hoxo_m 2016/01/28 1
  2. ⾃自⼰己紹介 •     hoxo_m •  所属:匿匿名知的集団ホクソエム
  3. 本⽇日の内容 •  3.7  評価⽅方法 – 3.7.1 Perplexity – 3.7.2  アルゴリズム別 Perplexity の計算⽅方法 – 3.7.3 新規⽂文書における Perplexity – 3.7.4 Coherence •  3.8 各種学習アルゴリズムの⽐比較 •  3.9 モデル選択 3
  4. 3.7  評価⽅方法 •  トピックモデルの評価指標として Perplexity  と  Coherence  の 2 つが広く 使われている。 •  Perplexity:予測性能 •  Coherence:トピックの品質 •  拡張モデルに対しては⽬目的に応じた評価 指標が使われる 4
  5. Perplexity とは •  辞書で引くと・・ – the feeling of being confused or worried by something you cannot understand (理理解できないものにより困惑する感覚) 5 http://www.ldoceonline.com/dictionary/perplexity ⇨  ⽇日本語で考えるのはやめよう
  6. Perplexity とは •  ①〜~⑤の⽬目が出るスロットマシン •  予測モデル M を作成 •  次に出たスロットの⽬目  n •  P(n | M) が⾼高いほど良良い予測モデル •  予測モデルに従って正解を当てるための 困難さ  = Perplexity 6
  7. Perplexity とは •  予測モデルがない場合 ①1/5  ②1/5  ③1/5  ④1/5  ⑤1/5 •  それぞれの⽬目が出る確率率率は等しい •  P(n) = 1/5 •  選択肢は  5  つ( = 1/P(n) ) •  5 つの中から 1 つを選ぶという困難さ 7
  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
  11. Perplexity  とは •  予測モデルに反して②ばかり出ると、 Perplexity  は予測なしより悪くなる •  予測モデルに従って  ①①①①②③④⑤  と 出た場合 •  Perplexity  の平均値は 5 (予測なしと同じ) (2+2+2+2+8+8+8+8)/8 = 5 •  この場合、幾何平均(相乗平均)を取るべき (2*2*2*2*8*8*8*8)^(1/8) = 4 11
  12. 3.7.1 Perplexity •  トピックモデルの Perplexity •  モデル  M のもとで単語 w が得られる確率率率 の逆数 •  PPL[w|M] = 1 / p(w | M) •  テストデータ中の全ての単語に対してこ れを計算し、幾何平均(相乗平均)を取る 12
  13. 13 ⇦ 相乗平均 ⇦  対数尤度度
  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
  16. ① ギブスサンプリング •  求まるのは  Φk および  θd のサンプル •  サンプル全体の平均確率率率を出す •  S  :  サンプリング数 16
  17. ②  周辺化ギブスサンプリング •  求まるのは単語に割り当てられたトピック  z  の サンプル •  ただし、nk,w および  nd,k も同時にサンプリング されるので、これを使えば近似的に  Φk および   θd が求まる 17 ※事前分布の情報を⼊入れよう!
  18. ③ 変分ベイズ •  求まるのは  p(Φ,  θ)  の近似事後分布   q(Φ)q(θ) 18
  19. ④ 周辺化変分ベイズ •  求まるのは  p(z)  の近似事後分布 q(z) •  同じ戦略略を取ると・・・ 19
  20. ④ 周辺化変分ベイズ •  この式は解析的には求まらない・・・ ⇨ q(z)  からサンプリングして近似計算? •  細かいことは気にせず、変分ベイズとき の式をそのまま使う! 20
  21. 学習データとテストデータの分割 •  モデルは学習データで学習し、Perplexity   はテストデータで計算する •  ⽂文書に対するトピックの出現率率率  θd を学習 するために、ひとつひとつの⽂文書を学習 データとテストデータに分割する 21 w11, w12, w13, ... wi1, wi2, wi3, … d1 di ・・・ w1_test1, … wi_test1, …
  22. 3.7.3 新規⽂文書における Perplexity •  新規⽂文書に対しても、学習⽤用とテスト⽤用 に分ける 22 w11, w12, w13, ... wi1, wi2, wi3, … d1 di ・・・ wj1, wj2, wj3, …dj wj_test1, … ・・・ 学 習 ⽤用 テスト⽤用
  23. 3.7.4 Coherence •  Coherence:  抽出されたトピックの品質 •  意味の近い単語が集まっているトピック をより多く抽出できる⼿手法が良良いモデル •  詳しくは LT で! 23
  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
  28. 3.9  モデル選択 •  変分ベイズ法の場合、変分下限がモデル 選択の基準になる 1.  特定のトピック数に対して  LDA  を学習し、 変分下限の値を求める 2.  初期値を変えて学習を繰り返し、変分下限の 値の平均を求める 3.  トピック数で⽐比較し、最も良良いものを選ぶ •  変分下限は学習データのみから求められ るため、テストデータは必要無い 28
  29. 3.9  モデル選択 •  Perplexity の値は結構ばらつくので平均 値を求めているのかなぁと思いました。 •  参照: LDA のパープレキシティを使うとき 29
  30. まとめ •  主要な  LDA  ライブラリは Perplexity を 計算してくれるので安⼼心してください! •  gensim: log_perplexity() •  scikit-learn: perplexity() •  MLlib: logPerplexity() 30
Advertisement