再看LDA主題模型
之前學習文字挖掘時已經寫過一篇關於主題模型的部落格《文字建模之Unigram Model,PLSA與LDA》,前幾天小組討論主題模型時,又重新理解了一遍LDA,有了更深刻的認識,特記錄一下。
1、Unigram Model
Unigram model是最簡單的文字模型,其直接將文字的生成過程看作是從一個詞彙表中重複取詞的過程。因此只要知道每個詞的產生概率,就能計算出一篇文件的產生概率。假設一篇文件由個詞組成,如下圖所示:
這個詞必定來自於一個詞彙表,其中是詞彙表大小,是詞彙表中某一個詞,上圖中紅、黃、藍、綠代表文件中該詞所對應的詞彙表中詞。文件中每個詞的產生相互獨立(不考慮詞產生過程中的相互影響),因此在知道詞彙表中每個詞的產生概率,和詞彙表中每個詞的出現次數,同時,的發生概率滿足多項分佈:
一篇文件相當於詞彙表中各詞次取值實驗中的一種,因此一篇文件的產生概率可以寫成:
語料中篇文件的生成過程相互獨立,所以語料的產生概率為:
此處,表示詞彙表中詞在第篇文件中的出現次數,表示在整個語料庫中的出現次數。現在,只剩下最後一個問題,怎麼通過觀測到的語料去估計詞彙表中每個詞的產生概率,按照頻率學派和貝葉斯學派的觀點,存在兩種計算方法。
頻率學派
頻率學派認為,詞彙表中每個詞的產生概率雖然未知,但是其取值是固定的,是取值空間中的一個定值。 可以採用最大似然估計,於是引數的估計值是
其圖模型是
圖中方框表示重複此過程,灰色圓圈的w表示可觀測變數,N表示一篇文件中包含N個單詞,M表示生成M篇文件。
貝葉斯學派
貝葉斯學派認為,詞彙表中每個詞的產生概率不僅未知,且其取值也未定,取值空間中的每種情況都有可能取到,也就是說,分佈也是從一個概率分佈中取出來的,我們稱這個概率分佈為的先驗分佈。 因為每一個分佈都有可能產生我們的語料,我們不知道語料究竟是由哪一個產生。假設被選中的概率為,那麼此時語料的產生概率為:
上面的推導中,我們已經知道符合多項分佈,是的一種情況,因此也可以近似認為符合多項分佈,所以先驗分佈的一個較比好的選擇是多項分佈的共軛先驗分佈,即Dirichlet分佈。此時,語料的產生概率為: