2011年3月23日 星期三

Latent Dirichlet Allocation

Latent Dirichlet Allocation

David M. Blei
Andrew Y. Ng
Michael I. Jordan (這個人的名字頗出名)
Journal of Machine Learning Research 3 (2003) 993-1022
===============================================================

這篇說的LDA跟上一篇pLSA的應用面其實很相近
LDA是想要找出document裡面 term所對應到的 class
所以一個document裡面會包含各種class 的 term

可能是因為journal的關係,這篇在比較的方面寫得相當地詳細
跟最原本的tf-idf然後再跟pLSA作了比較,當然也列出了它們的一些性質及缺點

LSI 是因為 dimension reduction 而出現的觀念
pLSA 就是 improve LSI 的結果
但是pLSA也有下列兩個缺點:
a. corpus增加的時候變數也會等比例增加,會造成overfitting
b. training set 以外的就會沒辦法處理 (有點類似沒有background model)
所以這篇提出的LDA 算是pLSA的改進,用的方法當然也有不同
建model的條件就是不只對該doc的機率要高,對同類的doc也要高

LDA的主要觀念就是每個document可能會含有很多不同的latent class
而每種class的機率就是靠著每個term的機率來算
所以用的跟pLSA一樣是bayessian probability然後一樣用EM 來找出比較好的參數
然後LDA有個假設是說每個term或每個topic 彼此的次序是independent (exchangable)
這跟最原本的language model 可以說是完全不同

中間就說明了
uni-gram -> mixture of uni-gram -> pLSI -> LDA 這些model的演進

實驗的部分當然就做了上述四種方法的比較
不論在perplexity及Accuracy ,LDA 的表現都比其他三者要好

結論的部分提到說 LDA 一樣有 dimension reduction的效果
且比起pLSA 更多了modularity 和 extensibility
===============================================================

優點:
1. 這篇的比較相當完善,每個方法都有說明清楚
2. 數學推導結果
3. 對提出的假設(exchangable) 有說明原因

缺點:
1. 實驗在做accuracy 的時候就沒有用上述的其他方法作比較,而用word feature當baseline
2. 在training 數量很大的時候 跟word feature相比 improve 其實沒有說的這麼凸出

4 則留言:

  1. Hi 阿達,

    我明天要報這篇paper與兩篇後續作品。你的survey 在上個週末幫助我快速瞭解LDA, 相當感謝 :)

    回覆刪除
  2. 這上面的東西其實只是寫我的心得,很多detail的東西也可能跟我理解的有出入,如果對你有幫助的話我也很高興

    回覆刪除
  3. 不錯,讓我有個overall的了解

    請問你目前是專門研究LDA方向的嗎

    回覆刪除
  4. 不是耶
    這只是修課唸的某篇paper的心得

    回覆刪除