PLSV

Probabilistic Latent Semantic
Visualization: Topic Model for
Visualizing Documents
Tomoharu Iwata, Takeshi Yamada ,Naonori Ueda
@NTT CS研 ,KDD 2008
11/6
Visualizationを
機械学習勉強会
長年やっている方
(それ以外もたくさん・・・)
江原 遥
Visuzalizationという分野がある
「自然言語処理は地味で学生に人気がない!
もっとVisualにすれば人気が出るはずだ!」
荒牧さん@NLP若手の会
この論文が、まさしくこれをやってくれています。
企業でありそうな話:
「言語の研究室にいたんだから、このアンケート、なんか
いい感じに処理しといてよ」と、製品アンケートのデー
タの山を渡される。
→ここで拗ねずに、真面目に定式化したのがこの論文
どういう論文?
• PLSAをVisualization用に拡張した論文。
Visualization:次元圧縮の中でも、特に2次元, 3
次元の目に見える空間上に、うまくデータを
表示すること。
「同じようなトピックの文書が近くになる様に、文
書を2,3次元にプロットする」のが、この論文
の目的。
今日の説明の構成
今日は、
LSA→PLSA→LDA→PLSV
という流れで説明していきます。分かっている
方は、フォローしていただけるとありがたいで
す。
パラメータ数による比較
モデル パラメータ数
効率的な解法
LSA
(KV+KN)
SVD (Lanczos法)
PLSA
KV+KN
EM
Nが入っているので
overfitしやすい
LDA
KV+K
変分ベイズ
問題のNを消した
PLSV
KV+(K+N)D
EM
Dが小さい時、Nを
抑えられる
K:
V:
N:
D:
topicの数
語彙数
文書数
2次元か3次元(Visuzalization用)
LSA (SVD, 特異値分解)
N : 文書 - 単語行列( N i , j  n(d i , w j ))
特異値分解
N  UV
という書き方が一般的ですが・・・
実は、こうバラして書いたほうが
ずっとわかりやすいと思う:
T
U ,V:直行行列
Σ:対角行列
K
N   k uk vk
T
k 1
 :トピック
k
k自体のスコア
u k : 文書のトピック
kに関するスコアのベク
トル
v:単語のトピック
k
kに関するスコアのベク
トル
スコア:重要度みたい
u i u j   ij , v i v j   ij
T
T
なもの
SVDのイメージ
K
N   k uk vk
一枚一枚が u k v k
T
T
k 1
ui u j   ij , v i v j   ij
T
N
(元の行列)
=
\
\
\
\
 kで重み付けして
して足し込む
T
特異値分解はバラした方がよくわかる
N ' u k  k u k
K
固有値分解: N '   k u k u k
T
k 1
N ': 実対称行列, k : 固有値, u k : 固有ベクトル
K
特異値分解: N    k u k v k
T
k 1
特異値分解が固有値分 解の拡張になっている
ことがよくわかる。
べき乗法
K
N   k uk vk
T
k 1
NN    
T l
K
k1 1
2l
k
ukuk
T
lをどんどん増やしてい けば、
最大固有値・固有ベク トルだけ残る。
最大だけではなくて、
途中までの大きさの固 有値・固有ベクトルも
工夫して求めているの が Lanczos 法。
SVDの求め方
Sparse Matrix:
• べき乗法
• →Lanczos法
LSIのライブラリはほとんどコレでやっている。
HITSアルゴリズムやる時にも使う
Dense Matrix:
dq-ds法など最近新しい専用のがあるらしい
NNの固有値分解
K
N   k uk vk
T
k 1

T 
T
NN     k u k v k    k u k v k 
 k 1
 k 1

K
 K
T 
T
    k u k v k    k v k u k 
 k 1
 k 1

K
K
T
T
K
K
    k1 k 2 u k1 v k1 v k 2 u k 2
T
T
k1 1 k 2  2
K
   k u k u k  NN T の固有値分解
k1 1
2
T
LSA->PLSA
N : 文書 - 単語行列
特異値分解
N  UV
T
U:直行行列
V : 直行行列
Σ:対角行列
LSA->PLSA(2)
LSAとPLSAだと解き方が全然違うのに、PLSAが
LSAの拡張ということになっているのは、次の
式による:
Pi , j  P(d i , w j )
直行行列でない
LSA->PLSA(2)
Aspect Modelの行列表記
ふつうは、行列表記すると分からなくなるの
で、みんなバラして(分解して)書いている。
(LSAの時は、みんなカッコつけてバラさな
いのに・・・)
 P(d1 | z k ) 


P   P( z k )

P( w1 | z k )  P( wM | z k ) 
k 1
 P(d | z ) 
N
k 

K
K
N    k u k v k と比較。
T
k 1
さらに、もっとバラす
K
と、よく見る形に:
P(d i , w j )   P( z k ) P(d i | zk ) P(w j | z k )
k 1
PLSAのイメージ
 P(d1 | zk ) 


P   P( zk )

P( w1 | zk )  P( wM | zk ) 
k 1
 P(d | z ) 
N
k 

 P(d1 | zk ) 


一枚一枚が

P( w1 | zk )  P( wM | zk ) 
 P(d | z ) 
N
k 

K
ui u j   ij , v i v j   ij
T
P
(元の行列)
=
\
\
\
\
P( zk )で重み付けして
して足し込む
T
PLSAはGraphical Modelで、
二通りにかける
(a)と(b)は、モデル的に等価。
K
つまり、(b)でパラメータを推定した P(d i , w j )   P( zk ) P(d i | zk ) P(w j | zk )
k 1
ら、ベイズの定理でひっくり返すだ
K
けで、(a)のパラメータが求まる。
  P( zk , d i ) P(w j | zk )
k 1
ただし、解く時は、(b)に対してEMK
algorithmを使って解く。
  P(d i ) P( zk | d i ) P(w j | zk )
k 1
bleiの元論文では
(a)の形でPLSAが書いてある
Hoffmann ‘99
blei 04
PLSAの解き方:EM
P(潜在変数|データ)が計算できる
ことが、EMの要。
PLSIからLDAにしたい動機:
パラメータ数
PLSI: KV+KN個のパラメータ:文書数Nに線形
LDA: KV+K個のパラメータ:
PLSA->LDA
θm: topic proportion。文書中のtopicの比率。K(topic数)次元ベクトル
PLSI:文書数だけtopic proportionを作成→パラメタKN個, overfit
LDA:overfit対策でDirichlet分布からサンプルしてα1…αKのK個に
K次元x1
K次元x文書数
LDAだとEMが動かない
赤枠:EMが動かない
intractable due to the coupling between θ and
β1:K in the summation over latent topics
EMは動かない。普通は、MCMC, 変分ベイズ….
PLSV
PLSV
目的:D=2,3次元のユークリッド空間に、ドキュメントを、
「なるべくトピックの近いドキュメントが近くになるように」
プロットすること
例:D=2の2次元空間
(-3.1, 3)
トピックの座標
文書の座標
トピックはK個>>D次元に注意
PLSV
K
PLSA -> PLSV
θm: topic proportion。文書中のtopicの比率。K次元ベクトル。
PLSA:文書数だけtopic proportionを作成→パラメタKN個, overfit
PLSV:文書数だけD次元座標を作成。topicもD次元座標で表現。
D次元空間のtopic-文書の距離でtopic proportion決定。DN+DK個
KN >> DN+DKが、この論文のキモ
D次元x文書数
K
K次元x文書数
D次元xK
注:論文中ではKが
Z(large Z)に相当
LDAとも比べてみる
θm: topic proportion。文書中のtopicの比率。K(topic数)次元ベクトル
LDA:overfit対策でDirichlet分布からサンプルしてα1…αKのK個に
PLSV:文書数だけD次元座標を作成。topicもD次元座標で表現。
D次元空間のtopic-文書の距離でtopic proportion決定。DN+DK個
D次元x文書数
K
K次元x1
D次元xK
注:論文中ではKが
Z(large Z)に相当
topicやwordがmultinomialで出てくる
のは普通
K
Dirichlet分布が出てくるけど、Bayes
じゃないから、EMで解ける
PLSVの解き方
posteriorをEMでMAP推定
事後対数尤度:
E-step
単にMult.
M-step
Q関数を
最大化したい
θに関しては
exactに出る:
xとφに関して
は、gradient
求めて準
ニュートン法
θとxn,φzを交互に最大化?
Parametric Embedding (PE)
筆者が過去に提案した、一般の文書生成モデルをVisualize
する方法。PLSAをPEで表示するよりもPLSVの方が、良い
Visuzalizationが可能だ、ということを言いたいので導入。
←与える文書生成モデルでのtopic proportion。入力。
PLSAなら、P(z|d) = P(d,z)/(Σk P(d|z)P(z))
与えた文書生成モデルとtopic
proportionが似ている座標の
取り方をKL最小化で見つける
gradient-basedで
最適化:
(たぶんBFGS?):
評価
データセット3つ:NIPS, 20News, EachMovie
NIPS: 593 documents, 14036 vocabulary
13research areas
20News data: 20 newsgroups
20,000 articles, 6754 vocabulary
20 discussion group
EachMovie: Collaborative filteringの標準的なbenchmark data
movies→documents, users→wordsと読み変え
764 movies, 7180 users, 10genres
k-NN Accuracy
Visualization空間でk-nearest neighborして
Visuzalizationの精度を求める
:k-NNを使った時のx_nのlabelの予測値
ご清聴ありがとうございました