最近做文本匹配算法比賽遇到LDA抽取特征,故結合西瓜書,總結一下LDA
LDA用生成式模型的角度來看待文檔和主題。假設每篇文檔包含了多個主題,用θd表示文檔t每個話題所占比例,θd,k表示文檔t中包含主題d所占用的比例,繼而通過如下過程生成文檔d。
(1)根據參數為α的狄利克雷分布,隨機采樣一個話題分布θd;
(2)按照如下步驟生成文中的N個詞:
根據θd進行話指派,得到文檔d中詞n的話題
根據指派話題所對應的詞頻βk進行采樣隨機生成詞
采用盤式記法可以將模型表示成如下形式
α的狄利克雷分布采樣生成D個主題分布對應D篇文章,θd生成詞的主題,根據主題詞的頻率分布生成詞。於是LDA模型的概率分布可以寫成:
\( p(W,z,\beta,\theta|\alpha,\eta) = \prod_{d=1}^Dp(\theta_d|\alpha)\prod_{i=1}^Kp(\beta_k|\eta)(\prod_{n=1}^NP(w_{d,n}|z_{d,n},\beta_k)P(z_{d,n}|\theta_d)) \)
其實讀到這基本上沒有什么難點,接下來就是一個小難點。\(p(\theta_d|\alpha)\)和\(p(\beta_k|\eta)\)假設為以\(\alpha\)和\(\eta\)為參數的K維和N為狄利克雷分布。
\( p(\theta_d|\alpha)=\frac{\Gamma(\sum_k\alpha_k)}{\prod_k\Gamma(\alpha_k)}\prod_{k}\theta_{d,k}^{\alpha_k -1} \)
其中\(\Gamma\)為階乘在實數域的擴展,狄利克雷分布可以理解為二項分布擴展到多維實數域。選擇狄利克雷分布其實是為了好計算。
給定訓練文本每片文本的詞頻\( W=\{w_1,w_2,...,w_D\} \), LDA的參數\(\alpha\)和\(\eta\)可以通過極大似然法估計,
\( LL(\alpha,\eta) = \sum_{d=1}^{D}\ln p(w_d|\alpha,\eta) \)
但由於\(p(w_d|\alpha,\eta)\)計算難度較大,常用變分法和吉布斯采樣來近似求解。若\(\alpha\)和\(\eta\)已經確定,則可以通過文檔詞頻來推斷文檔包含的主題結構。下一章將介紹兩個硬貨,MCMC采樣和變分推斷。