論文篇:Latent Dirichlet Allocation(LDA)(二)
首次看本專欄文章的小伙建議先看一下介紹專欄結構的這篇文章:專欄文章分類及各類內容簡介。
由於LDA論文所涉及的內容比較多,所以把講解LDA論文的文章分成4篇子文章,以方便小夥伴們閱讀,下面是各個子文章的主要內容及文章鏈接:
(一)早期文本模型的簡介
(二)LDA的建模介紹
(三)用變分推理求解LDA模型的參數
(四)Gensim簡介、LDA編程實現、LDA主題提取效果圖展示
本篇文章承接上一篇文章「(一)早期文本模型的簡介」,來講解LDA文本模型是如何建立的。
LDA模型介紹
現在開始正式介紹LDA文本模型的各方面內容。為了方便參考,和講解矩陣分解論文的那篇文章一樣,先把之後要用到的所有數學符號、縮略語及其解釋統一整合到一個表裡,該表如下所示:
下面我們先總述一下LDA的建模過程(即模擬一篇文檔的生成過程,從文檔到主題再到詞語):
在論文中,作者做了幾個可能不是必須的假設:(1)文檔所擁有的主題的個數,以及每個主題下對應的詞的個數(顯然都是V)是固定不變的;(2)目前作者假設 矩陣裡面的參數值都是固定的,要被估計的;(3)「文檔的詞的個數服從Poisson分布」這一條件不是必須的而且對 和z並沒有什麼影響,此外也可以將Poisson分布換成別的分布。
有些讀者可能對多項分布和Dirichlet分布還不是很了解,這裡介紹一下。
Dirichlet是Beta分布在N維度上的擴展情形,是一個連續分布,其概率密度函數如下:
多項分布是二項分布在N維度上的擴展情形,是一個離散分布,與Dirichlet分布組成了共軛分布,其分布律如下:
這個文本生成過程對應著如下這個概率圖模型:
有了以上內容的介紹,我們就可以看看LDA具體的生成文本的概率公式了。有了 和 這兩個非常重要的超參數之後,我們就可以得出 、w、z的聯合分布的概率計算公式:
對於上面的這個公式,我們可以對 進行積分(因為 服從的是連續分布)並對z進行求和(因為z服從的是離散分布),這樣就可以得到一個文檔生成的概率公式:
最後,我們把訓練用的語料庫中所有的文檔的生成的概率公式都作為聯合分布的關係乘到一塊,便得到了生成整個語料庫的概率公式:
整個LDA文本模型生成文本的過程就如上述內容所示。論文的作者在這裡強調了一點:不要將LDA模型同Dirichlet-Multinomial聚類模型混淆。後者是一個二層的文本模型,先是從語料庫中選擇一個類(語料庫中的各個類服從Dirichlet分布,選擇類的過程服從Multinomial分布),然後再依據這個類生成某篇文檔的所有的詞。可以看出,在這些古典的聚類文本模型中,每篇文檔只能有一個主題,而擁有三層貝葉斯網路結構的LDA文本模型則使得每篇文檔可以有多個主題,更與實際情況相契合。
德菲涅定理與LDA的可交換性
這節我們探究LDA文本模型的一個很獨特的性質——可交換性。
我們先看一下可交換性的定義:一組有限的隨機變數{z1,z2,z3,z4,…,zN}是可交換的,如果它們的聯合分布的概率不會因為他們出現順序的不同而改變。設 是從1到N的置換函數,則下式成立:
一組無限個數的隨機變數是無限可交換的,如果它們任意一個有限子集合內的隨機變數是可交換的。
德菲涅定理則闡述道:一個無限可交換的隨機變數的聯合分布的式子可以展開為如下形式——先取一個隨機參數,它服從某個分布,之後這些隨機變數則以這個隨機參數為參數/條件,形成獨立同分布的形式,即將這個聯合分布展開為連乘的形式。
那麼德菲涅定理是如何應用到LDA中的呢?在LDA中,我們假設了單詞是通過其所屬的主題產生的,一篇文檔中的全部主題可以看作是無限可交換的,那麼根據德菲涅定理裡面闡述的無限可交換的隨機變數(即z)的聯合分散式子必然是下面這種形式:
上式中, 就是定理裡面的隨機參數,所有的隨機變數z是以其為條件進行獨立同分布的。
以上就是LDA模型的建模部分的講解,在下篇文章「(三)用變分推理求解LDA模型的參數」中,我們一起來看看如何用變分推理演算法來求解LDA模型中的參數。
推薦閱讀:
※自然語言處理工程師需要掌握機器學習到什麼程度?
※【博客存檔】Machine Learing With Spark Note 4: 構建回歸模型
※那些年我趕過的時髦技術趨勢
※李宏毅機器學習2016 第六講 深度學習