在LDA模型原理篇我們總結(jié)了LDA主題模型的原理,這里我們就從應(yīng)用的角度來使用scikit-learn來學(xué)習(xí)LDA主題模型。除了scikit-learn, 還有spark MLlib和gensim庫也有LDA主題模型的類庫,使用的原理基本類似,本文關(guān)注于scikit-learn中LDA主題模型的使用。
1. scikit-learn LDA主題模型概述
在scikit-learn中,LDA主題模型的類在sklearn.decomposition.LatentDirichletAllocation包中,其算法實(shí)現(xiàn)主要基于原理篇里講的變分推斷EM算法,而沒有使用基于Gibbs采樣的MCMC算法實(shí)現(xiàn)。
而具體到變分推斷EM算法,scikit-learn除了我們?cè)砥镏v到的標(biāo)準(zhǔn)的變分推斷EM算法外,還實(shí)現(xiàn)了另一種在線變分推斷EM算法,它在原理篇里的變分推斷EM算法的基礎(chǔ)上,為了避免文檔內(nèi)容太多太大而超過內(nèi)存大小,而提供了分步訓(xùn)練(partial_fit函數(shù)),即一次訓(xùn)練一小批樣本文檔,逐步更新模型,最終得到所有文檔LDA模型的方法。這個(gè)改進(jìn)算法我們沒有講,具體論文在這:“Online Learning for Latent Dirichlet Allocation” 。
下面我們來看看sklearn.decomposition.LatentDirichletAllocation類庫的主要參數(shù)。
2. scikit-learn LDA主題模型主要參數(shù)和方法
我們來看看LatentDirichletAllocation類的主要輸入?yún)?shù):
1) n_topics: 即我們的隱含主題數(shù)
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式