1. 程式人生 > >LDA模型改進

LDA模型改進

這裡只是說明模型的概率圖,具體實現演算法以後研究。文章綜述參考Probabilistic topic models (DaviD m. Blei)

LDA模型

文獻參考LDA數學八卦、parameter estimation for text analysis。
思路:類似聚類,認為有一個隱藏的主題作為詞標籤,對詞可分類;此外認為文件中詞可交換、文件可交換、主題個數固定且不改變。文件每個詞的主題題標生成以及每個主題下詞的生成都是服從多項分佈,其多項分佈概率服從dirichlet分佈,注意這裡dirichlet分佈各自取決於兩個超引數α,η,這些引數也是事先給定的。
概率圖:
這裡寫圖片描述
概率公式:
我們想做的無非是推斷引數θ

β,那麼只有求出這個概率圖的隨機量的聯合概率,然後積分求期望,至於是不是能得到解析解,那是變分法或者取樣所要解決的事情了。
首先生成一個詞,對於文件d,生成一個主題分佈θ,對其中一個詞W,由這個主題分佈得到一個主題標記Z,然後根據這個主題標記選取相應的詞分佈β,在詞分佈和主題標記的情況下生成一個詞。
p(Wd,n,Zd,n,βk,θd)=p(Wd,nZd,n,βk)p(Zd,nθd)p(βk;η)p(θd;α)
這裡分佈依次是類別分佈,類別分佈,dirchlet分佈,dirchlet分佈。
現在生成這個語料,即先取好k個主題-詞分佈,這是獨立的;然後對每個文件D,取一個文件-主題分佈,這也是獨立;對N個詞,各生成詞標記,最後生成詞,這也是獨立的。
所以最後的生成概率是:
這裡寫圖片描述

CTM

這裡也可以參考TOPIC MODELS(m.blei,2009)。
現實存在這樣一個問題,即健康這個主題應該會和基因主題相關,然後LDA模型沒法捕獲這樣的相關性。因為LDA中dirchlet分佈取樣得到的向量之間近似獨立(近似因為他們和必須為1)。容易想到的是用協方差來描述這種關係,可以放寬詞袋模型。
概率圖:
這裡寫圖片描述
概率公式:
這裡和LDA的概率一致,唯一的區別是,η這個量現在取於高斯分佈。但是高斯分佈樣本是連續的而且正負無窮,因此需要正則化,這裡採用logit-gauss分佈,即將η指數化並對映到單純性上,簡單說就是規範化。(為什麼取指數,好像是和自然引數有關,可去wiki上搜索指數分佈-自然引數)
這裡寫圖片描述


(idea:這裡一個只是描述了固定相關性,是否存在可變的相關性呢;這裡也只是描述兩兩相關性)

DTM

這裡參考TOPIC MODELS(m.blei,2009)和Dynamic Topic Models
前面CTM只是建模描述主題間本身存在固定關係,然而還有一個事實是,同一個主題的詞分佈有可能是改進的。比如今年家電主題詞中可能電視比例大一些,明年電腦比例大一些。也就是說把\beta建立為可變的,可以放寬文件可交換的假設。
假定給定上一次的詞分佈情況下,當前主題詞分佈服從高斯分佈,可以體現一種發展性。然後同樣採用logit-gauss分佈方式,規範化這個主題詞分佈。
概率圖:
這裡寫圖片描述
生成過程:
這裡寫圖片描述
(idea:我感覺其實就是將每年的主題詞分佈用前一年的主題詞分佈平滑而已,如果我直接採用每年的dirchlet分佈,然後直接用前年的結果平滑應該有差不多的效果;很明顯可以考察的問題是文件主題分佈的超引數是否也是時間可變的呢;這裡只是用高斯轉移來描述這種變化,是否可以採用更加複雜的自迴歸模型呢;這裡假定了每年的主題都是固定的,如果有些主題消失或者有新的主題出現呢)

BTM

參考Topic Modeling: Beyond Bag-of-Words
這裡是考慮這樣一個問題,詞的生成可能依賴於前一個詞,而不是僅僅依賴於對應主題的詞分佈。反過來,詞的順序可能會影響主題的確定。有點類似於根據上下文來理解內在含義。
先說下這篇論文,他先介紹了兩個分佈:層級dirichlet語言模型和LDA,然後想把這兩種方法結合起來,提出BTM模型。
概率圖:
這裡寫圖片描述
生成過程:
這裡公式仍然類似LDA公式,所需要注意的是:
1、詞分佈的先驗:文中有兩種假設。一個是β外接,即認為所有的詞分佈共享同一種統計資訊,一種是β內建,表明同一個詞分佈下,所有的前一個詞不同情況下的當前詞分佈共享同一資訊,其實文中最後提到一點,就是把β連同ϕ一起內建到文件d中,這個假設更加寬泛,當然計算量更大。
2、超引數是推斷出來的,而不是自己設定的
(從結果上看,這種方法可以自動提取出停用詞,感覺比較奇怪)

PAM

參考Pachinko Allocation:DAG-Structured Mixture Models of Topic Correlations和Mixtures of Hierarchical Topics with Pachinko
Allocation
這篇文章同樣是model主題間的關係,就是為了建模LDA的θ部分。他還和很多模型進行了比較。
對於HDP(層級dirichlet過程,是懂非懂囧)首先要定義一個層級結構,每一個層級都和一個DP相關,就是說DP中的基礎分佈H是取樣於上一層的DP。但是要事先定層級。
對於CTM,只是兩兩關係建模,而且協方差矩陣計算困難。
PAM其實就是用樹形結構的全概率有向圖來建模主題間的關係。這裡以4層PAM為例。
概率圖:
這裡寫圖片描述
解釋:
這裡Zwi代表第w個詞對應的第i層主題,第一層主題就是root,大家都是一樣,我認為這裡好像沒必要這個作為隨機量吧。第二層是超級主題,每個超級主題下有S1個子主題,每個子主題概率決定第三層子主題的的生成。