在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: 即我們的隱含主題數

網友評論