變量:
$w$表示詞,$z$表示主題,$\mathbf{w}=(w_1,w_2,\cdots,w_N)$表示文檔,語料庫$D = (\mathbf{w}_1,\cdots,\mathbf{w}_M)$,$V$表示所有單詞的個數(固定值),$N$表示一個文檔中的詞數(隨機變量),$M$是語料庫中的文檔數(固定值),$k$是主題的個數(預先給定,固定值)。
在說明LDA模型之前,先介紹幾個簡單一些的模型。
1.Unigram model:
文檔$\mathbf{w}=(w_1,w_2,\cdots,w_N)$,用$p({{w}_{n}})$表示詞${{w}_{n}}$的先驗概率,生成文檔$\mathbf{w}$的概率:$p(\mathbf{w})=\prod\limits_{n=1}^{N}{p({{w}_{n}})}$。
圖模型為:
2.Mixture of unigrams model:
一篇文檔只由一個主題生成。該模型的生成過程是:給某個文檔先選擇一個主題$z$,再根據該主題生成文檔,該文檔中的所有詞都來自一個主題。假設主題有${{z}_{1}},...,{{z}_{k}},$生成文檔$\mathbf{w}$的概率為:
$p(\mathbf{w})=p({{z}_{1}})\prod\limits_{n=1}^{N}{p({{w}_{n}}|{{z}_{1}})}+\cdots +p({{z}_{k}})\prod\limits_{n=1}^{N}{p({{w}_{n}}|{{z}_{k}})}=\sum\limits_{z}{p(z)\prod\limits_{n=1}^{N}{p({{w}_{n}}|z)}}.$
圖模型為:
LDA模型:
下面說明LDA模型生成一個文檔的過程:
1首先要選擇一個主題概率分布$\theta$,$\theta =({{\theta }_{1}},...,{{\theta }_{k}}),{{\theta }_{i}}$代表第i個主題被選擇的概率,即$p(z=i|\theta )={{\theta }_{i}}$,且$\sum\limits_{i=1}^{k}{{{\theta }_{i}}}=1$,$\theta \thicksim Dir(\alpha )$,$p(\theta |\alpha )=\frac{\Gamma (\sum\limits_{i=1}^{k}{{{\alpha }_{i}}})}{\prod\limits_{i=1}^{k}{\Gamma ({{\alpha }_{i}})}}\theta _{1}^{{{\alpha }_{1}}-1}\cdots \theta _{k}^{{{\alpha }_{k}}-1}.$
2在選好一個主題概率分布$\theta $后,再選擇一個主題${{z}_{n}}$,再根據${{z}_{n}}$和$\beta $選擇一個詞${{w}_{n}}$。$\beta ={{({{\beta }_{ij}})}_{k\times V}},{{\beta }_{ij}}=p({{w}^{j}}=1|{{z}^{i}}=1)$表示主題$i$生成詞$j$的概率,$\sum_{j=1}^V \beta_{ij}=1$。
用2中的步驟生成N個詞,文檔$\mathbf{w}$就生成了。
圖模型:
由LDA的圖模型我們可以清楚得看出變量間的依賴關系。
整個圖的聯合概率(單個文檔)為:$p(\theta, \mathbf{z},,\mathbf{w}|\alpha,\beta)=p(\theta|\alpha)\prod_{n=1}^Np(z_n|\theta)p(w_n|z_n,\beta)$,
生成文檔的概率為$p(\mathbf{w}|\alpha,\beta)=\int p(\theta|\alpha)\prod_{n=1}^N\sum_{z_n}p(z_n|\theta)p(w_n|z_n,\beta)d\theta$,文本語料庫由$M$篇文檔組成,$D = (\mathbf{w}_1,\cdots,\mathbf{w}_M)$,故生成文本語料庫的概率為
$p(D|\alpha,\beta)=\prod_{d=1}^M \int p(\theta_d|\alpha)\prod_{n=1}^{N_d} $$\sum_{z_{d_n}}p(z_{d_n}|\theta_d) p(w_{d_n}|z_{d_n},\beta)d\theta_d.$
下面敘述訓練過程:
首先設定目標函數
\[\ell(\alpha,\beta)=\log p(D|\alpha,\beta)=\log \prod_{d=1}^M p(\mathbf{w}_d|\alpha,\beta)=\sum_{d=1}^M\log p(\mathbf{w}_d|\alpha,\beta).\]
我們參數訓練的目標是求使$\ell(\alpha,\beta)$最大的參數$\alpha^\ast,\beta^\ast$。我們把$p(\mathbf{w}|\alpha,\beta)$展開得$p(\mathbf{w}|\alpha,\beta)=\frac{\Gamma(\sum_i \alpha_i)}{\prod_i \Gamma(\alpha_i)}\int(\prod_{i=1}^k \theta_i^{\alpha_i-1})(\prod_{n=1}^N\sum_{i=1}^k\prod_{j=1}^V(\theta_i\beta_{ij})^{w_n^j})d\theta$,由於$\theta$和$\beta$的耦合,對$\ell(\alpha,\beta)$用極大似然估計難以計算。下面我們用變分EM算法來計算最優參數$\alpha,\beta$。
E步驟:我們用$L(\gamma,\phi;\alpha,\beta)$來近似估計$\log p(\mathbf{w}|\alpha,\beta)$,給定一對參數值$(\alpha,\beta)$,針對每一文檔,求得變分參數$\{\gamma_d^\ast,\phi_d^\ast:d\in D\}$,使得$L(\gamma,\phi;\alpha,\beta)$達到最大。
M步驟:求使$\mathscr{L}=\sum_d L(\gamma_d^\ast,\phi_d^\ast;\alpha,\beta)$達到最大的$\alpha,\beta$。
重復E、M步驟直到收斂,得到最優參數$\alpha^\ast,\beta^\ast$。
E步驟的計算方法:
這里用的是變分推理方法(variational inference),文檔的似然函數
上式右部記為$L(\gamma,\phi;\alpha,\beta)$。當$\frac{ p(\theta,\mathbf{z},\mathbf{w}|\alpha,\beta)}{ q(\theta,\mathbf{z})}$為常數時,上式取等號,即分布$q$取$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta)$時。
$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta)=\frac{ p(\theta,\mathbf{z},\mathbf{w}|\alpha,\beta)}{ p(\mathbf{w}|\alpha,\beta)}$,由於$p(\mathbf{w}|\alpha,\beta)$中$\theta$和$\beta$的耦合,$p(\mathbf{w}|\alpha,\beta)$難以計算,因此$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta)$也難以計算。我們用分布$q(\theta,\mathbf{z}|\gamma,\phi)$來近似分布$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta)$,在$L(\gamma,\phi;\alpha,\beta)$中分布$q$取$q(\theta,\mathbf{z}|\gamma,\phi)$,我們得$\log p(\mathbf{w}|\alpha,\beta)= L(\gamma,\phi;\alpha,\beta)+D(q(\theta,\mathbf{z}|\gamma,\phi)|| p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta)).$上式說明計算分布$q(\theta,\mathbf{z}|\gamma,\phi)$與分布$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta))$間的KL距離的最小值等價於計算下界函數$L(\gamma,\phi;\alpha,\beta)$的最大值。
用來近似后驗概率分布$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta))$的分布$q(\theta,\mathbf{z}|\gamma,\phi)$的圖模型:
$\gamma$為狄利克萊分布的參數,$\phi=(\phi_{ni})_{n \times i},n=1,\cdots,N,i=1,\cdots,k$,$\phi_{ni}$表示第$n$個詞由主題$i$生成的概率,$\sum_{i=1}^k \phi_{ni}=1$。
下面我們求使$L(\gamma,\phi;\alpha,\beta)$達到極大的參數$\gamma^\ast,\phi^\ast$。
將$L(\gamma,\phi;\alpha,\beta)$中的$p$和$q$分解,得
把參數$(\alpha,\beta)$和$(\gamma,\phi)$代入$L(\gamma,\phi;\alpha,\beta)$,再利用公式$E_q[\log(\theta_i)|\gamma]=\Psi(\gamma_i)-\Psi(\sum_{j=1}^k \gamma_j)$($\Psi$是$\log\Gamma$的一階導數,可通過泰勒近似來計算),我們可得到
然后用拉格朗日乘子法(即變量的拉格朗日函數對變量求偏導等於零,求出變量對應的等式)來計算可得
$\phi_{ni} \propto \beta_{iv} \text{exp}(\Psi(\gamma_i)-\Psi(\sum_{j=1}^k \gamma_j)),$
$\gamma_i=\alpha_i+\sum_{n=1}^N \phi_{ni}.$
由$\sum_{i=1}^k \phi_{ni}=1$歸一化求得$\phi_{ni}$。由於解$\phi_{ni}$和$\gamma_i$相互影響,可用迭代法來求解,算法如下:
最終可以得到收斂的參數$\gamma^\ast,\phi^\ast$。這里的參數$\gamma^\ast,\phi^\ast$是在給定一個固定的文檔$\mathbf{w}$下產生的,因此$\gamma^\ast,\phi^\ast$也可記為$\gamma^\ast(\mathbf{w}),\phi^\ast(\mathbf{w})$,變分分布$q(\theta,\mathbf{z}|\gamma^\ast(\mathbf{w}),\phi^\ast(\mathbf{w}))$是后驗分布$p(\theta,\mathbf{z}|\mathbf{w},\alpha,\beta)$的近似。文本語料庫$D = (\mathbf{w}_1,\cdots,\mathbf{w}_M)$,用上述方法求得變分參數$\{\gamma^\ast_d,\phi^\ast_d:d \in D\}$。
M步驟的計算方法:
將$\{\gamma^\ast_d,\phi^\ast_d:d \in D\}$代入$\sum_d L(\gamma_d,\phi_d;\alpha,\beta)$得$\mathscr{L}=\sum_d L(\gamma_d^\ast,\phi_d^\ast;\alpha,\beta)$,我們用拉格朗日乘子法求$\beta$,拉格朗日函數為$l=\mathscr{L}+\sum_{i=1}^k \lambda_i(\sum_{j=1}^V \beta_{ij}-1)$,求得$\beta_{ij} \propto \sum_{d=1}^M \sum_{n=1}^{N_d} \phi_{dni} w_{dn}^j$,由$\sum_{j=1}^V \beta_{ij}=1$歸一化求得$\beta_{ij}$。
下面求$\alpha$。我們對拉格朗日函數$l$對$\alpha_i$求偏導,得$\frac{\partial l}{\partial {\alpha_i}}=M(\Psi(\sum_{j=1}^k \alpha_j)-\Psi(\alpha_i))+\sum_{d=1}^M(\Psi(\gamma_{di})-\Psi(\sum_{j=1}^k \gamma_{dj}))$。由這個偏導等式可知$\alpha_i$值和$\alpha_j$值($i \neq j$)之間相互影響,故我們得用迭代法來求解最優$\alpha$值。我們用牛頓-拉弗遜算法來求解。將上面的偏導數再對$\alpha_j$求偏導,得$\frac{\partial l}{\partial {\alpha_i} \partial{\alpha_j}}=M(\Psi^{\prime}(\sum_{j=1}^k \alpha_j)-\delta(i,j) \Psi^{\prime}(\alpha_i))$。牛頓-拉弗遜算法的迭代公式為$\alpha_{\text{new}}=\alpha_{\text{old}}-H(\alpha_{\text{old}})^{-1}g(\alpha_{\text{old}})$,$H(\alpha)$即$\frac{\partial l}{\partial {\alpha_i} \partial{\alpha_j}}$,$g(\alpha)$即$\frac{\partial l}{\partial {\alpha}}$,迭代到收斂時即得最優$\alpha$值。
測試新文檔主題分布:
設新文檔為$\mathbf{w}$,用變分推理算法計算出新文檔的$\gamma^\ast,\phi^\ast$,由於$\phi_{ni}$表示文檔中第$n$個詞由主題$i$生成的概率,故$\sum_{n=1}^N \phi_{ni}$為對文檔中由主題$i$生成的詞數估計,$\frac{1}{N}\sum_{n=1}^N \phi_{ni}$為主題$i$在文檔主題組成中的比重。
上述說法與推導有錯的話請大家批評指正。