[本文鏈接:http://www.cnblogs.com/breezedeus/archive/2013/01/20/2868930.html,轉載請注明出處。]
LDA是個generative model,它首先從Dirichlet分布Dir(β)中抽取每個topic對應的參數,然后語料集D中第j篇文檔
的產生方式如下:
1. 選擇文檔長度: N ~ Poission(ξ) ;
2. 選擇文檔參數: θ ~ Dir(α) ;
LDA的圖表示如下,其中z、θ和Φ為隱藏變量,α和β為超參數。
利用上面LDA的產生假設,可以得到x、z、θ和Φ的聯合分布為:
為了最大化,常用的方法就是基於Variational Bayes(簡稱VB,也叫Variational EM)的mean field近似方法,這也是LDA最初提出時作者使用的求解方法[1]。這種方法在Graphical models用的很多,不熟悉的同學可以參考我在學校時寫的一個介紹pdf。記z、θ和Φ的后驗分布的mean fields近似為:
其中為Multinomial分布,而
都是Dirichlet分布。容易驗證下面的不等式成立:
VB通過最小化variational free energy 來獲得
中對應的參數估計:
上面最后面那個式子里有一個很重要的地方需要說明下。我們之前的產生模型里,在一個文檔里,不同位置的相同詞(i為第幾個詞的下標)是可能有不同的后驗分布的,但從上面最后的公式中可以看出式子右邊與i有關的只有,也即只與第i個位置的具體詞是什么有關。所以在使用VB求解時,我們只需要考慮與具體詞相關的
,這樣在一個文檔中多次重復的詞只需要算一遍就行了。 詳細的推導可見[1]。
之后,又有很多工作提出了一些其他求解方法[2, 3, 4]。例如[2]中作者提出的Collapsed Gibbs Sampling (CGS) 算法中,首先把隱變量θ和Φ積掉,然后得到如下x和z的聯合分布:
其中的¬ij表示在對應計算中刪除和
帶來的影響。通過這個條件概率式子,再利用Gibbs Sampling方法進行迭代抽樣,最終我們可以得到需要的參數估計值。 詳細的推導可見[2, 9]。
Gibbs Sampling的問題是收斂比較慢,而且很難判斷何時已達到收斂。[3]中作者建議使用VB代替[2]中的Gibbs Sampling進行求解(所以稱為Collapsed VB,簡稱CVB),也即最小化:
對應的參數估計為:
精確計算上式中的期望項計算量比較大。因為,所以可以把它看成是多個Bernoulli分布的和,進而用Gaussian分布就可以很好地近似它。其Gaussian近似的均值和方差分別為:
另一方面,對log(α+x)利用Taylor展開到第二項作為它的近似:
融合這兩個近似,得到如下近似:
[5]中作者建議在CVB中對log(α+x)進行近似時只使用一階近似,也即:
從而推導出下面的參數公式:
這個方法被稱為CVB0。
在獲得了后,CVB和CVB0使用與VB中相同的表達式獲得隱藏變量θ和Φ對應的后驗分布。所以,測試集的概率可以使用下式計算得到:
注意,上面第一個式子就是根據LDA的模型產生方式獲得的,只是對應的分布換成了后驗分布。詳細的推導可見[3]。
[5]中作者對以上各種算法做了比較詳細的比較,他們發現在超參數α和β選取得比較合適時,這些算法的效果差別並不大。較之其他算法,CVB0需要的內存量和計算量都占優,所以[5]中作者最終推薦實際應用中使用CVB0。最近幾年又有些工作進一步探討了不同情況下(如在線學習)如何高效地學習LDA,感興趣的同學可見[6, 7]。
我們上面的討論都一直未提及超參數的學習方法,只是簡單假設它們是選定不變的。[5]中作者也實驗了兩種超參數調整的方法:
1. 使用[8]中建議的固定點迭代方法更新超參數,具體可見[5, 7, 8];
2. 利用測試集,使用網格搜索的方式找出最優的超參數取值。
另外,[1]中作者也建議使用Newton-Raphson方法來學習超參數的取值。
[References]
[1] Blei, D., Ng, A., and Jordan,M. (2003). Latent Dirichlet allocation. Journal of Machine Learning Research, 3:993–1022.
[2] T. L. Griffiths and M. Steyvers. Finding scientific topics. In PNAS, 2004.
[3] YeeWhye Teh, David Newman, and MaxWelling. A collapsed variational Bayesian inference algorithm for latent Dirichlet allocation. In Advances in Neural Information Processing Systems 19, 2007.
[4] Thomas Minka and John Laffert. Expectation-Propagation for the Generative Aspect Model, 2002.
[5] A. Asuncion, M. Welling, P. Smyth, and Y. W. Teh. On smoothing and inference for topic models. In Proceedings of the International Conference on Uncertainty in Artificial Intelligence, 2009.
[6] Matthew D. Hoffman, David M. Blei and Francis Bac. Online Learning for Latent Dirichlet Allocation, 2010.
[7] Issei Sato, Kenichi Kurihara and Hiroshi Nakagawa. Deterministic Single-Pass Algorithm for LDA, 2010.
[8] Thomas P. Minka. Estimating a dirichlet distribution. Technical report, Microsoft, 2000.
[9] Gregor Heinrich. Parameter estimation for text analysis. Technical report, 2005.