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 UV という書き方が一般的ですが・・・ 実は、こうバラして書いたほうが ずっとわかりやすいと思う: 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 UV 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の予測値 ご清聴ありがとうございました
© Copyright 2024 ExpyDoc