潛在狄利克雷分配(LDA)
潛在狄利克雷分配(LDA),作為基于貝葉斯學(xué)習(xí)的話題模型,是潛在語(yǔ)義分析、概率潛在語(yǔ)義分析的擴(kuò)展,于2002年由Blei等提出。LDA在文本數(shù)據(jù)挖掘、圖像處理、生物信息處理等領(lǐng)域被廣泛使用。
LDA模型是文本集合的生成概率模型。假設(shè)每個(gè)文本由話題的一個(gè)多項(xiàng)式分布表示,每個(gè)話題由單詞的一個(gè)多項(xiàng)式分布表示,特別假設(shè)文本的話題分布的先驗(yàn)分布是狄利克雷分布,話題的單詞分布的先驗(yàn)分布也是狄利克雷分布。先驗(yàn)分布的導(dǎo)入使LDA能夠更好地應(yīng)對(duì)話題模型學(xué)習(xí)的過(guò)擬合現(xiàn)象。
LDA的文本集合的生成過(guò)程如下:首先隨機(jī)生成一個(gè)文本話題分布,之后再該文本的每個(gè)位置,依據(jù)該文本的話題分布隨機(jī)生成一個(gè)話題,然后在該位置依據(jù)該話題的單詞分布隨機(jī)生成一個(gè)單詞,直至文本的最后一個(gè)位置,生成整個(gè)文本。重復(fù)以上的過(guò)程生成所有文本。
LDA模型是含隱變量的概率圖模型。模型中,每個(gè)話題的單詞分布,每個(gè)文本的話題分布,文本的每個(gè)位置的話題是隱變量;文本的每個(gè)文職的單詞是觀測(cè)變量。LDA模型的學(xué)習(xí)與推理無(wú)法直接求解,通常使用吉布斯抽樣和變分EM算法。前者是蒙特卡洛法,后者是近似計(jì)算。
一、狄利克雷分布
1.分布定義
多項(xiàng)分布是一種多元離散隨機(jī)變量的概率分布,是二項(xiàng)分布的擴(kuò)展。
假設(shè)重復(fù)進(jìn)行n次獨(dú)立隨機(jī)試驗(yàn),每次試驗(yàn)可能出現(xiàn)的結(jié)果有k種,第i中結(jié)果出現(xiàn)的概率為,第i種結(jié)果出現(xiàn)的次數(shù)為
。如果用隨機(jī)變量
,表示試驗(yàn)所有可能結(jié)果的次數(shù),其中
表示第i種結(jié)果出現(xiàn)的次數(shù),那么隨機(jī)變量
服從多項(xiàng)分布。
若元離散隨機(jī)變量的概率密度為
其中,,則稱隨機(jī)變量X服從參數(shù)為(n,p)的多項(xiàng)分布,記作
當(dāng)試驗(yàn)的次數(shù)n為1時(shí),多項(xiàng)分布變成類別分布。類別分布表示試驗(yàn)可能出現(xiàn)的k種結(jié)果的概率。顯然多先分布包含類別分布。
2.狄利克雷分布
狄利克雷分布是一種多元隨機(jī)變量的概率分布,是貝塔分布的擴(kuò)展。在貝爺斯學(xué)習(xí)中,狄利克雷分布作為多項(xiàng)分布的先驗(yàn)概率使用。
多元連續(xù)型隨機(jī)變量的概率密度函數(shù)為
其中,稱隨機(jī)變量
服從參數(shù)為
的狄利克雷分布,記作
式中
具有以下性質(zhì)
當(dāng)s是自然數(shù)時(shí),有
令
則狄利克雷分布的密度函數(shù)可以寫(xiě)成
是規(guī)范化因子,稱為多元貝塔函數(shù)(稱為擴(kuò)展的貝塔函數(shù))。由密度函數(shù)性質(zhì)
得
二.共軛先驗(yàn)
狄利克雷有一些重要性質(zhì):(1)狄利克雷分布屬于指數(shù)分布簇(2)狄利克雷分布是多項(xiàng)分布的共軛先驗(yàn)
貝葉斯學(xué)習(xí)中常使用共軛分布,如果后驗(yàn)分布與先驗(yàn)分布屬于同類,則先驗(yàn)分布與后驗(yàn)分布稱為共軛分布,先驗(yàn)分布稱為共軛先驗(yàn)。如果多項(xiàng)分布的先驗(yàn)分布是狄利克雷分布,作為先驗(yàn)分布的狄利克雷分布的參數(shù)又稱為超參數(shù),使用共軛先驗(yàn)分布的好處是便于從先驗(yàn)分布計(jì)算后驗(yàn)分布。
將樣本數(shù)據(jù)表示為D,目標(biāo)是計(jì)算樣本數(shù)據(jù)D給定條件下參數(shù)的后驗(yàn)概率
,對(duì)于給定樣本數(shù)據(jù)D,似然函數(shù)是
假設(shè)隨機(jī)變量服從狄利克雷分布
其中
為參數(shù),則
的先驗(yàn)分布為
根據(jù)貝爺斯規(guī)則,在給定樣本數(shù)據(jù)D和參數(shù)a的條件下,的后驗(yàn)概率分布是
狄利克雷的后驗(yàn)分布等于狄利克雷分布參數(shù)加上多項(xiàng)分布的觀測(cè)技術(shù)
三、潛在狄利克雷分配模型
1.基本想法
潛在狄利克雷分配(LDA)是文本集合的生成概率模型。模型假設(shè)話題由單詞的多項(xiàng)分布表示,文本由話題的多項(xiàng)分布表示,單詞分布和話題分布的先驗(yàn)分布都是狄利克雷分布。文本內(nèi)容的不同時(shí)由于話題分布不同。
LDA模型表示文本集合的自動(dòng)生成過(guò)程:首先,基于單詞分布的先驗(yàn)分布(狄利克雷分布)生成多個(gè)單詞分布,即決定多個(gè)話題內(nèi)容;之后基于話題分布的先驗(yàn)分布(狄利克雷分布)生成多個(gè)話題分布,針對(duì)每個(gè)話題,基于話題的單詞分布生成單詞,整體構(gòu)成一個(gè)單詞序列,即生成文本,重復(fù)這個(gè)過(guò)程生成所有文本。文本的單詞序列是觀測(cè)變量,文本的話題序列是隱變量,文本的話題分布和話題的單詞分布也是隱變量。
可以認(rèn)為L(zhǎng)DA是PLSA的擴(kuò)展,相同點(diǎn)都假設(shè)話題是單詞的多項(xiàng)分布,文本是華話題的多項(xiàng)分布。不同點(diǎn)LDA使用狄利克雷分布作為先驗(yàn),而PLSA不使用先驗(yàn)分布(或者說(shuō)假設(shè)先驗(yàn)分布為均勻分布),兩者對(duì)文本生成過(guò)程有不同假設(shè);學(xué)習(xí)過(guò)程LDA基于貝葉斯學(xué)習(xí),PLSA基于極大似然估計(jì)。LDA的優(yōu)點(diǎn)是,使用先驗(yàn)概率分布,可以防止學(xué)習(xí)過(guò)程中產(chǎn)生過(guò)擬合。
2.模型定義
(a)模型要素
使用三個(gè)集合:一是單詞集合,其中
是第v個(gè)單詞,
,V是單詞個(gè)數(shù)。二是文本集合
,其中
,其中
是文本
的第n個(gè)單詞,
,
是文本
中單詞個(gè)數(shù)。三是話題集合
,其中,
是第k個(gè)話題,
,K是話題的個(gè)數(shù)。
每一個(gè)話題是由一個(gè)單詞的條件概率分布
決定的,
。分布
服從多項(xiàng)分布(嚴(yán)格意義上類別分布),其參數(shù)為
。參數(shù)
是V維向量
服從狄利克雷分布(先驗(yàn)分布),其超參數(shù)為
。參數(shù)
,其中
表示
生成單詞
的概率。所有話題的參數(shù)向量構(gòu)成
矩陣,
,超參數(shù)
也是V維向量
每一個(gè)文本由一個(gè)話題的條件概率分布
決定,
,分布
服從多項(xiàng)分布(嚴(yán)格意義上的類別分布),其參數(shù)為
,參數(shù)
服從狄利克雷分布(先驗(yàn)分布),其超參數(shù)為a。參數(shù)
是K維向量
,其中
,其中
表示文本
生成話題
的概率。所有文本構(gòu)成參數(shù)構(gòu)成一個(gè)M*K矩陣
,超參數(shù)a也是一個(gè)K維向量
每一個(gè)文本中的每一個(gè)單詞
由該文本的話題分布
以及所有話題的單詞分布
決定
(b)概率圖模型
LDA本質(zhì)上是一個(gè)概率圖模型,圖為L(zhǎng)DA作為概率圖模型的板塊表示,圖中結(jié)點(diǎn)表示隨機(jī)變量,實(shí)心結(jié)點(diǎn)是觀測(cè)變量,空心結(jié)點(diǎn)是隱變量;有向邊表示概率依存關(guān)系;矩形(板塊)內(nèi)數(shù)字表示重復(fù)的次數(shù)。

結(jié)點(diǎn)表示模型的超參數(shù),結(jié)點(diǎn)
表示話題的單詞分布的參數(shù),結(jié)點(diǎn)
表示文本的話題分布的參數(shù),結(jié)點(diǎn)
表示話題,結(jié)點(diǎn)
表示單詞。結(jié)點(diǎn)
指向結(jié)點(diǎn)
,重復(fù)K次,表示根據(jù)超參數(shù)
生成K個(gè)話題的單詞分布參數(shù)
;結(jié)點(diǎn)a指向結(jié)點(diǎn)
,重復(fù)M次,表示根據(jù)超參數(shù)a生成M個(gè)文本的話題分布參數(shù)
;結(jié)點(diǎn)
指向
,重復(fù)N詞,表示根據(jù)文本的話題分布
生成
個(gè)話題
;結(jié)點(diǎn)
指向結(jié)點(diǎn)
,同時(shí)K個(gè)結(jié)點(diǎn)
也指向結(jié)點(diǎn)
,表示根據(jù)話題
以及K個(gè)話題的單詞
生成單詞
。LDA是相同的隨機(jī)參數(shù)被重復(fù)多次使用的概率圖模型。
四、算法
潛在狄利克雷分配(LDA)的學(xué)習(xí)(參數(shù)估計(jì))是一個(gè)復(fù)雜的最優(yōu)化問(wèn)題,很難精確求解。常用近似求解的方法有吉布斯抽樣和變分推理
1.LDA的吉布斯抽樣算法
吉布斯抽樣的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,缺點(diǎn)是迭代次數(shù)可能較多。
(a)基本想法
LDA模型的學(xué)習(xí),給定文本(單詞序列)的集合,其中
是第m個(gè)文本集合的單詞序列,即
,超參數(shù)
已知。目標(biāo)是要推斷
- 話題序列集合的后驗(yàn)概率
- 參數(shù)
- 參數(shù)
要對(duì)聯(lián)合概率分布進(jìn)行估計(jì),其中w是觀測(cè)變量,而
是隱變量。
吉布斯抽樣,是一種常用的馬爾科夫鏈蒙特卡羅法。為了估計(jì)多元隨機(jī)變量x的聯(lián)合概率分布p(x),吉布斯抽樣法選擇x的一個(gè)分量,固定其他分量,按照其條件概率分布進(jìn)行隨機(jī)抽樣,一次循環(huán)對(duì)每一個(gè)分量執(zhí)行這個(gè)操作,得到聯(lián)合分布p(x)的一個(gè)隨機(jī)樣本,重復(fù)這個(gè)過(guò)程,在燃燒期后,得到聯(lián)合概率分布p(x)的樣本集合。
LDA模型采通常采取收縮的吉布斯抽樣方法,基本想法是,通過(guò)對(duì)隱變量積分,得到邊緣概率分布
(也是聯(lián)合分布),其中w是可觀測(cè)變量,z是不可觀測(cè)的。對(duì)后驗(yàn)概率分布
進(jìn)行吉布斯抽樣,得到分布
的樣本集合;再利用這個(gè)樣本集合對(duì)參數(shù)
和
進(jìn)行估計(jì),最終得到模型
所有的參數(shù)估計(jì)。
(b)算法的主要部分
(1)抽樣分布表達(dá)式
這里變量是已知的,分母相同,可以不預(yù)考慮。聯(lián)合概率分布
的表達(dá)式可以進(jìn)一步分解為
兩個(gè)因子可以分別處理
推導(dǎo)第一個(gè)因子的表達(dá)式
其中是k個(gè)話題生成單詞集合第v個(gè)單詞的概率,
是數(shù)據(jù)中第k個(gè)話題生成第v個(gè)單詞的次數(shù)。
其中
第二個(gè)因子的表達(dá)式也可以類似推導(dǎo)。首先
其中是第m個(gè)文本生成第k個(gè)話題的概率,
是數(shù)據(jù)根據(jù)第m個(gè)文本生成的第k個(gè)話題,于是
式中,可得
(2)算法的后處理
通過(guò)吉布斯抽樣得到的分布的樣本,可以得到變量z的分配值,也可以估計(jì)變量
。
- 參數(shù)
根據(jù)LDA表達(dá)式,后驗(yàn)概率滿足
這里是第m個(gè)文本話題的計(jì)數(shù)。
表示分布
對(duì)變量
的邊緣化因子。于是得到參數(shù)
的估計(jì)式
- 參數(shù)
后驗(yàn)概率滿足
這里是第k個(gè)話題單詞的計(jì)數(shù),
表示分布
對(duì)變量
的邊緣化因子,I是文本集合單詞序列w的單詞總數(shù),于是得到參數(shù)
2.LDA的變分EM算法
(a)變分推理
變分推理是貝葉斯學(xué)中常用的,含隱變量模型的學(xué)習(xí)和推理方法。變分推理和馬爾科夫蒙特卡洛(MCMC)屬于不同的技巧。MCMC通過(guò)隨機(jī)抽樣的方法近似統(tǒng)計(jì)模型的后驗(yàn)概率,變分推理則通過(guò)解析的方法計(jì)算模型的后驗(yàn)概率。
變分推理的基本想法如下,假設(shè)模型是聯(lián)合桂林分布,其中x是觀測(cè)變量,z是隱變量,包括參數(shù)。目標(biāo)是學(xué)習(xí)模型的后驗(yàn)概率分布p(z|x),用模型進(jìn)行概率推理。但這是一個(gè)復(fù)雜的分布,直接估計(jì)分布的參數(shù)很困難,所以考慮使用概率分布q(z)近似條件桂林分布p(z|x),用KL散度D(q(z))||p(z|x))計(jì)算兩者的相似度,q(z)稱為變分分布。如果能找到與p(z|x)在KL散度意義下的近似分布
,則可以用這個(gè)分布近似p(z|x)
KL散度可以寫(xiě)成以下形式
(b)變分EM算法
將變分EM算法應(yīng)用到LDA模型的學(xué)習(xí)上,首先定義具體的變分分布,推導(dǎo)證據(jù)下界的表達(dá)式,接著推導(dǎo)變分分布的參數(shù)和LDA模型的參數(shù)的估計(jì)形式,最后給出LDA模型的變分EM算法
(1).變分下界的定義
文本的單詞序列,對(duì)應(yīng)的話題序列
,以及話題分布
,和隨機(jī)變量
的聯(lián)合概率分布是
定義基于平均場(chǎng)的變分分布
其中是可觀測(cè)變量,
是隱變量,
是參數(shù)
定義基于平均場(chǎng)的變分分布
其中是狄利克雷分布參數(shù),
是多項(xiàng)分布參數(shù),變量
的各個(gè)分量都是條件獨(dú)立的,目標(biāo)是求KL散度意義下最相近的變分分布
以及近似LDA模型的后驗(yàn)概率分布

變分分布的板塊表示,LDA模型中隱變量
由此可得到一個(gè)文本的證據(jù)下界
所有文本的證據(jù)下界為
為了求證據(jù)下界的最大化,首先寫(xiě)出證據(jù)下界的表達(dá)式。為此展開(kāi)證據(jù)下界表達(dá)式
根據(jù)變分參數(shù),模型參數(shù)
繼續(xù)展開(kāi),并將展開(kāi)式的每一項(xiàng)寫(xiě)成一行
式是對(duì)數(shù)伽馬函數(shù),即
第一項(xiàng)推導(dǎo),求,是關(guān)于分布
的數(shù)學(xué)期望
其中
所以
故得
式中分別表示第k個(gè)話題的狄利克雷分布參數(shù)
第二項(xiàng)推導(dǎo),求是關(guān)于分布
的數(shù)學(xué)期望
式中表示文檔第n個(gè)位置的單詞由第k個(gè)話題產(chǎn)生的概率,
表示第k個(gè)話題的狄利克雷分布參數(shù)。
第三項(xiàng)推導(dǎo),求是關(guān)于分布
的數(shù)學(xué)期望
式中表示文檔第n個(gè)位置的單詞由第k個(gè)話題產(chǎn)生的概率,
表示在第n個(gè)位置的單詞是單詞集合的第v個(gè)單詞時(shí)取1,否則取0,
表示第k個(gè)話題生成單詞集合第v個(gè)單詞的概率
第四項(xiàng)推導(dǎo),求,是關(guān)于分布
的數(shù)學(xué)期望。由于
,可以得到
式中表示第k個(gè)話題的狄利克雷分布參數(shù)
第五項(xiàng)公式推導(dǎo),求,是關(guān)于分布
的數(shù)學(xué)期望
式中表示文檔第n個(gè)位置的單詞由第k個(gè)話題產(chǎn)生的概率,
表示第k個(gè)話題的狄利克雷分布參數(shù)
(2)變分參數(shù)的估計(jì)
首先通過(guò)證據(jù)下界最優(yōu)化參數(shù),
表示第n個(gè)位置是由第k個(gè)話題生成的概率,
,包含
的約束條件最優(yōu)化問(wèn)題拉格朗日函數(shù)為
這里第在第n個(gè)位置由第k個(gè)話題生成第v個(gè)單詞的概率
對(duì)求偏導(dǎo)數(shù)得
令偏導(dǎo)數(shù)為零,得到參數(shù)的估計(jì)值
接著通過(guò)證據(jù)最優(yōu)化估計(jì)參數(shù),
是第k個(gè)話題的狄利克雷分布參數(shù)
對(duì)求偏導(dǎo)數(shù)得
令偏導(dǎo)數(shù)為零,解得到參數(shù)的估計(jì)值為
由此得到坐標(biāo)上升法算法估計(jì)變分參數(shù)的方法