在LDA模型原理篇我們總結了LDA主題模型的原理,這里我們就從應用的角度來使用scikit-learn來學習LDA主題模型。除了scikit-learn, 還有spark MLlib和gensim庫也有LDA主題模型的類庫,使用的原理基本類似,本文關注于scikit-learn中LDA主題模型的使用。
1. scikit-learn LDA主題模型概述
在scikit-learn中,LDA主題模型的類在sklearn.decomposition.LatentDirichletAllocation包中,其算法實現主要基于原理篇里講的變分推斷EM算法,而沒有使用基于Gibbs采樣的MCMC算法實現。
而具體到變分推斷EM算法,scikit-learn除了我們原理篇里講到的標準的變分推斷EM算法外,還實現了另一種在線變分推斷EM算法,它在原理篇里的變分推斷EM算法的基礎上,為了避免文檔內容太多太大而超過內存大小,而提供了分步訓練(partial_fit函數),即一次訓練一小批樣本文檔,逐步更新模型,最終得到所有文檔LDA模型的方法。這個改進算法我們沒有講,具體論文在這:“Online Learning for Latent Dirichlet Allocation” 。
下面我們來看看sklearn.decomposition.LatentDirichletAllocation類庫的主要參數。
2. scikit-learn LDA主題模型主要參數和方法
我們來看看LatentDirichletAllocation類的主要輸入參數:
1) n_topics: 即我們的隱含主題數
網友評論