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

Mais conteúdo relacionado

Mais procurados

グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 

Mais procurados (20)

3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
EMアルゴリズム
EMアルゴリズムEMアルゴリズム
EMアルゴリズム
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
 

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

[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
Ryutaro Yamauchi
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
 
論文の書き方・読み方
論文の書き方・読み方論文の書き方・読み方
論文の書き方・読み方
Satoshi Miura
 

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

Detecting Research Topics via the Correlation between Graphs and Texts
 Detecting Research Topics via the Correlation between Graphs and Texts Detecting Research Topics via the Correlation between Graphs and Texts
Detecting Research Topics via the Correlation between Graphs and Texts
 
一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門
 
Topic Model Survey (wsdm2012)
Topic Model Survey (wsdm2012)Topic Model Survey (wsdm2012)
Topic Model Survey (wsdm2012)
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
 
あなたの心にBridgeSampling
あなたの心にBridgeSamplingあなたの心にBridgeSampling
あなたの心にBridgeSampling
 
質問応答システム入門
質問応答システム入門質問応答システム入門
質問応答システム入門
 
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
DeepCas
DeepCasDeepCas
DeepCas
 
[DL輪読会]Training RNNs as Fast as CNNs
[DL輪読会]Training RNNs as Fast as CNNs[DL輪読会]Training RNNs as Fast as CNNs
[DL輪読会]Training RNNs as Fast as CNNs
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
 
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
 
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
 
論文の書き方・読み方
論文の書き方・読み方論文の書き方・読み方
論文の書き方・読み方
 
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
 

Mais de hoxo_m

データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)
hoxo_m
 
カップルが一緒にお風呂に入る割合をベイズ推定してみた
カップルが一緒にお風呂に入る割合をベイズ推定してみたカップルが一緒にお風呂に入る割合をベイズ推定してみた
カップルが一緒にお風呂に入る割合をベイズ推定してみた
hoxo_m
 
Stan で欠測データの相関係数を推定してみた
Stan で欠測データの相関係数を推定してみたStan で欠測データの相関係数を推定してみた
Stan で欠測データの相関係数を推定してみた
hoxo_m
 
チェビシェフの不等式
チェビシェフの不等式チェビシェフの不等式
チェビシェフの不等式
hoxo_m
 
swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習
hoxo_m
 
RPubs とその Bot たち
RPubs とその Bot たちRPubs とその Bot たち
RPubs とその Bot たち
hoxo_m
 

Mais de hoxo_m (20)

Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門
 
Prophet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツールProphet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツール
 
Prophet入門【R編】Facebookの時系列予測ツール
Prophet入門【R編】Facebookの時系列予測ツールProphet入門【R編】Facebookの時系列予測ツール
Prophet入門【R編】Facebookの時系列予測ツール
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
学習係数
学習係数学習係数
学習係数
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツール
 
AJAXサイトの情報をWebスクレイピング
AJAXサイトの情報をWebスクレイピングAJAXサイトの情報をWebスクレイピング
AJAXサイトの情報をWebスクレイピング
 
高速なガンマ分布の最尤推定法について
高速なガンマ分布の最尤推定法について高速なガンマ分布の最尤推定法について
高速なガンマ分布の最尤推定法について
 
経験過程
経験過程経験過程
経験過程
 
確率論基礎
確率論基礎確率論基礎
確率論基礎
 
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るなシンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
 
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門
 
データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)
 
カップルが一緒にお風呂に入る割合をベイズ推定してみた
カップルが一緒にお風呂に入る割合をベイズ推定してみたカップルが一緒にお風呂に入る割合をベイズ推定してみた
カップルが一緒にお風呂に入る割合をベイズ推定してみた
 
Stan で欠測データの相関係数を推定してみた
Stan で欠測データの相関係数を推定してみたStan で欠測データの相関係数を推定してみた
Stan で欠測データの相関係数を推定してみた
 
チェビシェフの不等式
チェビシェフの不等式チェビシェフの不等式
チェビシェフの不等式
 
swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習
 
RPubs とその Bot たち
RPubs とその Bot たちRPubs とその Bot たち
RPubs とその Bot たち
 

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