LDA(Latent Dirichlet Allocation)相關論文閱讀小結

關於主題挖掘,LDA(Latent Dirichlet Allocation)已經得到了充分的應用。本文是我對自己讀過的相關文章的總結。
1. 《LDA數學八卦》http://pan.baidu.com/s/18KUBG
把標準LDA的由來講解得通俗易懂,細緻入微。真的是瞭解LDA的最佳入門讀物。
Gamma函數:Gamma函數
通過分部積分可以推導其具有遞歸性質 這裏寫圖片描述,因此Gamma函數可以當成是階乘在實數集上的拓展。具有性質:這裏寫圖片描述。這個性質很重要,在後來的LDA推理中會用到。
二項分佈:這裏寫圖片描述
泊松分佈:這裏寫圖片描述
Gamma分佈:這裏寫圖片描述,若做變換x=βt,得到如下分佈函數
這裏寫圖片描述其中α爲形狀參數,決定了分佈曲線的形狀,β爲速率參數,決定了曲線有多陡。
這裏寫圖片描述
注:泊松分佈是由二項式分佈求極限所得,Gamma分佈是泊松分佈在正實數集上的連續化版本。
Beta函數可由Gamma函數推理得到的。
Beta函數:這裏寫圖片描述,由這裏寫圖片描述,可以推理得到這裏寫圖片描述推理過程見維基百科-B函數
Beta分佈是指一組定義在(0,1)區間的連續概率分佈,有兩個參數α, β>0。其概率密度函數爲這裏寫圖片描述,利用Gamma函數可以把函數從證書集合延展到實數集合,因此上式可以表示爲:
這裏寫圖片描述
另α=k,β=n-k+1,得到一般意義上的Beta分佈:
這裏寫圖片描述
Beta分佈和二項分佈的關係:Beta-Binomial共軛,共軛就是指當數據符合二項分佈時,參數的先驗分佈和後驗分佈都能保持Beta分佈的形式。這在貝葉斯參數估計中很有用,先驗分佈+數據的知識=後驗分佈。
Dirichlet分佈(狄利克雷分佈)是Beta分佈在高緯度上的推廣。Dirichlet-Multinomial共軛,即數據符合多項式分佈時,參數的先驗分佈和後驗分佈都能保持狄利克雷分佈的形式。
MCMC(Markov Chain Monte Carlo)採樣算法,即Metropolis-Hastings算法利用馬爾可夫鏈的細緻平衡條件,取得聯合分佈的採樣,有了聯合分佈的採樣就可以得到邊緣分佈,進而可以推斷出貝葉斯中的後驗分佈。
Gibbs Sampling是針對Metropolis-Hastings算法在高維空間效率不高的情況,將其在二維空間的應用。即在Gibbs採樣中馬氏鏈的轉移只是輪換的沿着座標軸x軸和y軸做轉移,最終可以得到P(x,y)的樣本。也可以把Gibbs採樣擴展到n維。
LDA是在文章主題模型的基礎上加上了Dirichlet先驗分佈,將每篇文章表示爲由幾個主題組成,每個主題生成相應的單詞,組成文章詞語序列。
LDA Topic Model如下:
(1)上帝有兩個罈子,第一個裝的是doc-topic骰子,第二個裝的是topic-word骰子;
(2)上帝隨機從第二個罈子中獨立的抽出了K個骰子,編號爲1~K;
(3)每次生成一篇心得文檔前,上帝先從第一個罈子中隨機取一個doc-topic骰子,然後重複投擲這個骰子,爲每個詞生成一個topic編號z;重複如上過程處理每篇文檔,生成語料中每個詞的Topic編號,但是詞尚未生成。
(4)從頭到尾,對語料中的每篇文檔中的每個topic編號z,選擇K個topic-word骰子中編號爲z的那個,投擲這個骰子,於是生成對應的word;
Gibbs 採樣公式的物理意義就是在K個topic路徑中進行採樣。
LDA訓練,就是估計模型中的M個文檔主題分佈的參數和K個主題詞語分佈參數:
(1)隨機初始化:對語料中每篇文檔中的每個詞w,隨機的賦予一個topic編號z;
(2)重新掃描語料庫,對每個詞w,按照Gibbs Sampling公式從新採樣它的topic,在語料中更新;
(3)重複以上語料庫的重新採樣過程知道Gibbs Sampling收斂;
(4)統計語料庫的topic-word共現頻率矩陣,該矩陣就是LDA的模型;
LDA應用到新的文檔主題分析:
(1)隨機初始化,對當前文檔中的每個詞,隨機的賦予一個topic編號z;
(2)重新掃描當前文檔,按照Gibbs Sampling公式,其中topic-word分佈參數已經訓練好,對每個詞w重新採樣它的topic;
(3)重複以上過程直到Gibbs Sampling收斂;
(4)統計文檔中的topic分佈,該分佈就是doc-topic分佈。

疑問:Gibbs Sampling是如何做到重新採樣單詞w的主題topic的?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章