LDA 主題模型

背景

我們生活中總是產生大量的文本,分析這些觀察到的語料庫是如何生成的就需要對文本進行建模。常見的文本建模方法包括:Unigram、PLSA、LDA 、詞向量模型(CBOW、Skip-gram)等。LDA模型是一種主題模型(topic model),屬於詞袋(不關心詞與詞之間的次序)模型。

模型描述

人類所產生的所有語料文本我們都可以看成是上帝拋骰子生成的。我們觀察到的只是上帝玩這個遊戲的結果——詞序列構成的語料,而上帝玩這個遊戲的過程對我們來說是個黑盒子。所以在統計文本建模中,我們希望猜測出上帝是如何玩這個遊戲的。具體一點,最核心的問題是:

  1. 上帝都有什麼樣的骰子?
  2. 上帝是如何拋這些骰子的?

第一個問題就對應着模型包含哪些參數,第二個問題就對應着遊戲的規則,上帝可以按照一定的規則拋骰子從而產生詞序列。

LDA算法:

這裏寫圖片描述

LDA過程圖示:
這裏寫圖片描述

LDA 概率圖模型:

這裏寫圖片描述

整個語料庫共包含 M 篇 文檔。其中第 m(m[1,M]) 篇文檔中的第 n(nNm) 個詞記爲 wm,n 。這個概率圖模型可以分解成兩個主要的過程:

  1. α⃗ θ⃗ mzm,n ,這個過程表示在生成第 m 篇文檔的時候,先從第一個罈子中抽取一個 doc-topic 骰子 θ⃗ m ,然後拋這個骰子生成了第 m 篇文檔中的第 n 個詞的 topic 編號 zm,n ;
  2. β⃗ φ⃗ kwm,n|k=zm,n ,目前上帝從第二個罈子中獨立抽取了 K 個 top-word 骰子,這個過程表示採用如下過程生成語料中第 m 篇文檔的第 n 個詞。在上帝手中的 K 個topic-word 骰子 φ⃗ k(k[1,K]) 中,挑選編號爲 k=zm,n (第1步得到的結果)的那個骰子進行投擲,然後生成 word wm,n

LDA 模型求解

LDA模型求解的目標主要包括以下兩個方面

  1. 估計模型中的隱含變量 φ⃗ 1,,φ⃗ K θ⃗ 1,,θ⃗ M
  2. 對於新來的一篇文檔 docnew ,計算這篇文檔的topic分佈 θ⃗ new

總體思路

隱含變量 Θ Φ 後驗概率分佈難以精確求解,可以通過採樣的方法來近似求解。從LDA概率圖模型可以發現:

  1. zm,n 服從 參數爲 θ⃗ m 的 multinomial 分佈,若能獲得 zm,n 的觀測值就很容易得到 θ⃗ m 的後驗概率分佈。
  2. zm,n 可以被觀測到,假定 zm,n=k ,則第 m 篇文檔的第 n 個詞 wm,n 服從參數爲 φ⃗ k 的multinomial分佈,就能很容易的估計 φ⃗ k 的後驗概率分佈。

但遺憾的是 z⃗  也是隱含變量,不能被直接觀測到。一種可行的方法是:我們首先計算 z⃗  的後驗概率分佈 p(z⃗ |w⃗ ) ,然後對該後驗概率分佈進行採樣。將得到的樣本作爲隱含變量 z⃗  的觀察值,這樣就可以對 Θ Φ 的後驗概率分佈進行估計。

計算 z⃗  的後驗概率分佈 p(z⃗ |w⃗ )

(1) 這裏首先介紹一個定理
若隨機變量 θ⃗ =(θ1,,θK) 服從參數爲 α⃗ =(α1,,αK) 的Dirichlet分佈。隨機變量 x 服從參數爲 θ⃗  的 multinomial 分佈(共 K 個類),重複進行 N 次試驗,得到 x⃗  。如下圖所示:

α⃗ Dirichletθ⃗ Multinomialx⃗ 

n⃗ =(n1,,nK) 表示 x⃗  中各個類別出現的次數,即 n⃗ Multi(θ⃗ ,N) ,有下式成立:
p(x⃗ |α⃗ )=Δ(α⃗ +n⃗ )Δ(α⃗ )     ()
證明如下:
p(x⃗ |α⃗ )=p(θ⃗ |α⃗ )p(x⃗ |θ⃗ ) dθ⃗ =Dir(θ⃗ |α⃗ )Multi(θ⃗ ,N) dθ⃗ =1Δ(α)k=1Kθαk1kk=1Kθnkk dθ⃗ =1Δ(α⃗ )k=1Kθαk+nk1k dθ⃗ =Δ(α⃗ +n⃗ )Δ(α⃗ )

(2)在LDA概率圖模型的第一個物理過程中, α⃗ θ⃗ mz⃗ m 表示生成第 m 篇文檔中所有詞對應的 topic。顯然 α⃗ θ⃗ m 對應於Dirichlet分佈, θ⃗ mz⃗ m 對應於 Multinomial 分佈,所以整個過程是一個 Dirichlet-Multinomial 共軛結構。

α⃗ Dirichletθ⃗ mMultinomialz⃗ m
根據定理 () 有:
p(z⃗ m|α⃗ )=Δ(α⃗ +n⃗ m)Δ(α⃗ )
其中 n⃗ m=(n(1)m,,n(K)m) n(k)m 表示在第 m 篇文檔中第 k 個topic 產生的詞的個數。

由於語料中 M 篇文檔的 topic 生成過程是相互獨立的,所以我們得到 M 個相互獨立的 Dirichlet-Multinomial 共軛結構。從而整個語料中 topic 生成的概率爲:

p(z⃗ |α⃗ )=m=1Mp(z⃗ m|α⃗ )=m=1MΔ(α⃗ +n⃗ m)Δ(α⃗ )

(3)在LDA概率圖模型的第二個物理過程中, β⃗ φ⃗ kw⃗ k 表示語料中由 topic k 生成詞的過程。其中 w⃗ k 表示語料中由 topic kβ⃗ φ⃗ kw⃗ k 表示語料中由 topic k 生成詞的過程。其中 w⃗ k 表示語料中由 topic kw⃗ k 表示語料中由 topic k 生成詞的過程。其中 w⃗ k 表示語料中由 topic k 生成的所有詞。顯然 β⃗  生成詞的過程。其中

相關文章
相關標籤/搜索