Probabilistic Latent Semantic Analysis
PLSA來自於一篇1999年UAI的一篇文章,他研究的是一下概率圖:
其中d表示document,z是隱變量,表示潛在的語義,w是表示詞word。從獨立性來看,這個圖跟下面的圖是等價的,都滿足
所以在那篇原始論文中[1],求解模型的時候,直接求解了(b)模型。求解方法就是標準的EM方法(更多可看我的另一篇博客《帶你理解EM算法》),其推導結果如下:
我們只要不停迭代更新這幾個分佈的參數直到收斂就可以了。
Latent Semantic Analysis
然而在傳統的LSA中,其實是沒有用到概率的,他們只看到D和W的,於是就組成一個二維矩陣,然後用SVD去分解他,如下圖所示
這時候,我們可以對word以及document進行降維。現在其實我們可以對SVD賦予一個概率上的含義,如果我們令,由word和document組成的概率分佈,並設,,, 於是,。所以,PLSA本質上可以看做是在用EM算法迭代地去求解一個SVD分解。
反過來說,矩陣分解可以看做是求解圖(b)那樣的生成模型,通過找到一種隱式表徵Z來構造出顯式的數據W,D,而這跟PCA和Factor Analyic,VAE等生成模型如出一轍,非常有意思。
參考資料
[1] Hofmann, Thomas. “Probabilistic latent semantic analysis.” Proceedings of the Fifteenth conference on Uncertainty in artificial intelligence. Morgan Kaufmann Publishers Inc., 1999.