LDA算法里面Dirichlet分布的兩個參數alpha和beta怎樣確定?


本文參考自:https://www.zhihu.com/question/21692336/answer/19387415
 
方法一:  
  alpha 是 選擇為 50/ k, 其中k是你選擇的topic數,beta一般選為0.01吧,,這都是經驗值,貌似效果比較好,收斂比較快一點。。有一篇paper, lda-based document models for ad-hoc retrieval里面的實驗系數設置有提到一下啊

方法二:

  alpha屬於超參數,可以經驗貝葉斯估計,在Blei原作里面是用EM算法估計超參數的。E步就是固定超參數,對其中的變分參數gamma和phi進行推斷,然后在M步,利用E步得到的變分參數最大化邊緣似然函數,對alpha和beta進行估計。E步和M步迭代進行,最后可以收斂到一個定值。這就是變分EM方法,Blei原作里面也是這么做的。經過訓練以后,當給一個新的文檔,就可以使用訓練中得到的alpha和beta直接對新文檔進行變分,從而對其進行聚類。

在這里beta仍然是參數,完全貝葉斯方法還要在beta上加一個狄利克雷先驗,這時仍然可以用變分EM估計beta的先驗。

在上面的過程中,E步用到的是變分推斷,這一步可以用Gibbs推斷代替,這時可以得到參數theta和beta。然后再用M步最大化邊緣似然函數,得到超參數alpha和beta的先驗參數,在不同的文章里上面的符號表示的不太一樣,注意區分一下。LDA的Gibbs推斷詳細算法可以參考“parameter estimation for text analysis”






 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM