LDA Gibbs Sampling

來源:互聯網
上載者:User

標籤:

注意:$\alpha$和$\beta$已知,常用為(和LDA EM演算法不同)

1.   為什麼可用

LDA模型求解的目標為得到$\phi$和$\theta$

假設現在已知每個單詞對應的主題$z$,則可以求得$\theta$的後驗分布,求期望得到$E(\theta)$作為每份文檔的主題

$E(\theta_{mk})=\frac{n_m^k+\alpha_k}{n_m+\alpha_k}$

同樣,可以求得$\phi$的後驗分布,求期望$E(\phi)$作為每個主題下產生對應單詞的機率

$E(\phi_{kt})=\frac{n_k^t+\beta_t}{n_k+\beta_t}$

現在問題轉換為,如何擷取$z$

2.   公式推導

Gibbs Sampling固定住除了$z_i$以外的其他$z$,記為$\vec {z_{\neg i}}$,使用以下機率分布產生新的$z_i$:

$p(z_i|\vec {z_{\neg i}},\vec w)\quad=\ \frac{p(\vec z,\vec w)}{p(\vec {z_{\neg i}},\vec {w_{\neg i}}|w_i)p(w_i)}$         $(1)$

由於每個單詞之間的產生相互獨立,所以$p(\vec {z_{\neg i}},\vec {w_{\neg i}}|w_i)=p(\vec {z_{\neg i}},\vec {w_{\neg i}})$

又$\alpha$的每個分量都想等,$\beta$的每個分量都相等,所以對於兩個單詞有$p(w_i)=p(w_j)$

$(1)\ \propto \frac{p(\vec z,\vec w)}{p(\vec {z_{\neg i}},\vec {w_{\neg i}})}$

 

$p(\vec z,\vec w,\phi,\theta|\alpha,\beta)=\prod_{k=1}^K p(\phi_k|\beta)\prod_{m=1}^M p(\theta_m|\alpha)\prod_{n=1}^{N_m}p(z_{mn}|\theta_m)p(w_{mn}|z_{mn},\phi)\\ \quad\quad=(\prod_{k=1}^K p(\phi_k|\beta)\prod_{m=1}^M \prod_{n=1}^{N_m} p(w_{mn}|z_{mn},\phi))^{[1]}\\ \quad\quad\quad *(\prod_{m=1}^M p(\theta_m|\alpha) \prod_{n=1}^{N_m}  p(z_{mn}|\theta_m))^{[2]}$

上式中[1]是和$\phi$有關的部分,[2]是和$\theta$有關的部分,對$\phi$,$\theta$積分可得到$p(\vec z,\vec w|\alpha,\beta)$

$[1]=\prod_{k=1}^K \frac{\bigtriangleup \beta+n_k^{(t)}}{\bigtriangleup \beta} \int p(\phi_k|\beta+n_k^{(t)})d\phi_k =\prod_{k=1}^K \frac{\bigtriangleup \beta+n_k^{(t)}}{\bigtriangleup \beta}$,$n_k^{(t)}$為所有單詞中,主題為k,單詞是t的個數

$[2]=\prod_{m=1}^M \frac{\bigtriangleup \alpha+n_m^{(k)}}{\bigtriangleup \ alpha} \int p(\theta_m|\alpha+n_m^{(k)})d\theta_m=\prod_{m=1}^M \frac{\bigtriangleup \alpha+n_m^{(k)}}{\bigtriangleup \ alpha}$,$n_m^{(k)}$是文檔m中,主題為k的個數

結合公式(1):

$p(z_i=k|\vec {z_{\neg i}},\vec w) \propto\quad \frac{\prod_{k=1}^K \bigtriangleup \beta+n_k^{(t)}}{\prod_{k=1}^K \bigtriangleup \beta+n_{k\neg i}^{(t)}}\frac{\prod_{m=1}^M \bigtriangleup \beta+n_k^{(t)}}{\prod_{m=1}^M \bigtriangleup \beta+n_{k\neg i}^{(t)}} \propto \frac{n_{k\neg i}^{(t)}+\beta_t}{\sum_{t=1}^{V} n_{k\neg i}^{(t)}+\beta_t} \frac{n_{m\neg i}^{(k)}+\alpha_k}{\sum_{k=1}^{K} n_{m\neg i}^{(k)}+\alpha_k}$

3.   演算法流程

i.   初始化z

ii.  更新z

iii. 得到$\phi$,$\theta$

LDA Gibbs Sampling

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.