LDA 的運作方式 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

LDA 的運作方式

Amazon SageMaker LDA 是一種無監督的學習演算法,會嘗試將一組觀察結果描述為不同類別的混合體。這些類別本身就是特徵的概率分佈。LDA 是一種生成概率模型,這代表 LDA 會試著根據潛在變數,來提供輸出與輸入分佈的模型。這和判別模型相反,此種模型會試著學習輸入如何對應到輸出。

您可以將 LDA 用於各種任務,包括從根據購買的產品來將客戶歸類,到音樂的自動和聲分析等。不過,LDA 最常用於文字語料庫中的主題模型建立。觀察項稱為文件。特徵集稱為詞彙。特徵稱為字詞。還有,產生的類別稱為主題。

注意

詞形還原大幅地提高了演算法的效能和準確度。請考慮預先處理所有輸入文字資料。如需詳細資訊,請參閱詞幹提取和詞形還原

LDA 模型是由 2 種參數定義:

  • α - 對主題概率的先驗估計 (也就是在指定文件內每個主題出現的平均頻率)。

  • β - k 主題的集合,其中每個主題都會獲得文件語料庫中所使用詞彙的概率分佈,也稱為 “主題 - 字詞分佈”。

LDA 是一種「bag-of-words」模型,這意味著單詞的順序無關緊要。LDA 是一種生成模型,其中每個文檔都是 word-by-word 通過選擇主題混合物 θ 狄利克雷(α)來生成的。

針對文件中的每個字詞:

  • 選擇主題 z ∼ Multinomial(θ)

  • 選擇對應的主題字詞分佈 β_z。

  • 提取字詞 w ∼ Multinomial (β_z)。

訓練模型時,目標是找出 α 和 β 參數,以讓模型所產生文字語料庫的概率最大化。

在預估 LDA 模型時,最熱門的方法是使用 Gibbs 取樣或最大期望 (EM) 方法。Amazon SageMaker LDA 使用張量光譜分解。這可提供下列幾個優點:

  • 有關結果的理論性保證。標準的 EM 方法保證只收斂到局部最佳解 (這經常品質不良)。

  • 不易平行 (Embarrassingly parallelizable)。工作可以細分為在訓練和推論時輸入文件。EM 方法和 Gibbs 取樣法可以平行執行,但不容易。

  • 快速。雖然 EM 方法具有較低的迭代成本,但容易減緩收斂的速率。Gibbs 取樣法也會減緩收斂速率,並且需要大量的樣本。

在高層級,張量分解演算法遵循此程序:

  1. 目標是計算 V x V x V 張量的譜分解,這會摘要說明我們語料庫中文件的矩。V 是詞彙數量 (也就是所有文件中不同字詞的數量)。此張量的譜成分是 LDA 參數 α 和 β,這可將文件語料庫的整體可能性最大化。不過,由於詞彙的數量通常很多,因此這個 V x V x V 張量會大到無法儲存於記憶體中。

  2. 所以,會改用 V x V 矩量矩陣 (這是步驟 1 張量的二維類比),來找出 V x k 維度的白化矩陣。此矩陣可用來將 V x V 矩量矩陣轉換為 k x k 單位矩陣。k 是模型的主題數量。

  3. 也可使用同樣的白化矩陣來找出更小的 k x k x k 張量。在進行譜分解時,此張量的成分,和 V x V x V 張量的成分具有簡單的關聯性。

  4. 會使用交替最小二乘法來分解較小的 k x k x k 張量。這種方式可大幅改善記憶體的耗用和速度。藉由將譜分解中的這些輸出 “取消白化”,可找出 α 與 β 參數。

在找出 LDA 模型的參數之後,您就可以找到每個文件的主題混和。您可以使用隨機梯度下降法,來將可能性函式最大化,此函式是用來觀察對應於這些資料的指定主題混合。

藉由增加訓練中要尋找主題的數量,然後篩選掉品質不佳的主題,可提升主題的品質。實際上,這是在 SageMaker LDA 中自動完成的:計算出 25% 以上的主題,只返回具有最大關聯的狄利克雷先修的主題。若要進行更深入的主題篩選與分析,您可以增加主題的數量,然後修改產生的 LDA 模型,如下所示:

> import mxnet as mx > alpha, beta = mx.ndarray.load(‘model.tar.gz’) > # modify alpha and beta > mx.nd.save(‘new_model.tar.gz’, [new_alpha, new_beta]) > # upload to S3 and create new SageMaker model using the console

如需有關 LDA 演算法和 SageMaker 實作的詳細資訊,請參閱下列內容:

  • Animashree Anandkumar、Rong Ge、Daniel Hsu、Sham M Kakade 與 Matus Telgarsky。Tensor Decompositions for Learning Latent Variable Models,Journal of Machine Learning Research (機器學習研究雜誌),15:2773–2832,2014 年。

  • David M Blei、Andrew Y Ng 與 Michael I Jordan。隱含狄利克雷分布。《Journal of Machine Learning Research》(機器學習研究雜誌),3 (1 月):993–1022,2003 年。

  • Thomas L Griffiths 與 Mark Steyvers。尋找科學主題。美國國家科學院 (National Academy of Sciences) 院刊,101 (增刊 1):5228–5235,2004 年。

  • Tamara G Kolda 與 Brett W Bader。張量分解與應用程式。SIAM Review (SIAM 評論),51(3):455–500,2009 年。