通俗理解LDA主題模型
0 前言
印象中,最開始聽說“LDA”這個(gè)名詞,是緣于rickjin在2013年3月寫的一個(gè)LDA科普系列,叫LDA數(shù)學(xué)八卦,我當(dāng)時(shí)一直想看來著,記得還打印過一次,但不知是由于這篇文檔的前序鋪墊太長(如今才意識(shí)到這些“鋪墊”都是深刻理解LDA 的基礎(chǔ),但假設(shè)沒有人幫助剛開始學(xué)習(xí)的人提綱挈領(lǐng)、把握主次、理清思路,則非常easy陷入LDA的細(xì)枝末節(jié)之中),還是由于當(dāng)中的數(shù)學(xué)推導(dǎo)細(xì)節(jié)太多,導(dǎo)致一直沒有完整看完過。
2013年12月,在我組織的Machine Learning讀書會(huì)第8期上,@夏粉_百度 講機(jī)器學(xué)習(xí)中排序?qū)W習(xí)的理論和算法研究。@沈醉2011 則講主題模型的理解。又一次碰到了主題模型,當(dāng)時(shí)貌似僅僅記得沈博講了一個(gè)汪峰寫歌詞的樣例。依舊沒有理解LDA究竟是怎樣一個(gè)東西(但理解了LDA之后。再看沈博主題模型的PPT會(huì)非常贊)。
直到昨日下午。機(jī)器學(xué)習(xí)班 第12次課上,鄒講完LDA之后,才真正明確LDA原來是那么一個(gè)東東!上完課后,趁熱打鐵,再次看LDA數(shù)學(xué)八卦,發(fā)現(xiàn)曾經(jīng)看不下去的文檔再看時(shí)居然一路都比較順暢。一口氣看完大部。看完大部后,思路清晰了。知道理解LDA。能夠分為下述5個(gè)步驟:
- 一個(gè)函數(shù):gamma函數(shù)
- 四個(gè)分布:二項(xiàng)分布、多項(xiàng)分布、beta分布、Dirichlet分布
- 一個(gè)概念和一個(gè)理念:共軛先驗(yàn)和貝葉斯框架
- 兩個(gè)模型:pLSA、LDA(在本文第4 部分闡述)
- 一個(gè)採樣:Gibbs採樣
本文便依照上述5個(gè)步驟來闡述,希望讀者看完本文后,能對(duì)LDA有個(gè)盡量清晰完整的了解。同一時(shí)候,本文基于鄒講LDA的PPT、rickjin的LDA數(shù)學(xué)八卦及其它參考資料寫就,能夠定義為一篇學(xué)習(xí)筆記或課程筆記,當(dāng)然,興許不斷增加了非常多自己的理解。
若有不論什么問題,歡迎隨時(shí)于本文評(píng)論下指出,thanks。
1 gamma函數(shù)
1.0 總體把握LDA
關(guān)于LDA有兩種含義,一種是線性判別分析(Linear Discriminant Analysis),一種是概率主題模型:隱含狄利克雷分布(Latent Dirichlet Allocation,簡稱LDA),本文講后者。
另外,我先簡單說下LDA的總體思想。不然我怕你看了半天。鋪了太長的前奏。卻依舊因沒見到LDA的影子而顯得“心浮氣躁”,導(dǎo)致不想再繼續(xù)看下去。所以,先給你吃一顆定心丸。明確總體框架后,咱們?cè)僖徊讲匠榻z剝繭。展開來論述。
依照wiki上的介紹,LDA由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出。是一種主題模型,它能夠將文檔集 中每篇文檔的主題以概率分布的形式給出。從而通過分析一些文檔抽取出它們的主題(分布)出來后,便能夠依據(jù)主題(分布)進(jìn)行主題聚類或文本分類。同一時(shí)候,它是一種典型的詞袋模型,即一篇文檔是由一組詞構(gòu)成,詞與詞之間沒有先后順序的關(guān)系。
此外,一篇文檔能夠包括多個(gè)主題,文檔中每一個(gè)詞都由當(dāng)中的一個(gè)主題生成。
人類是怎么生成文檔的呢?LDA的這三位作者在原始論文中給了一個(gè)簡單的樣例。比方假設(shè)事先給定了這幾個(gè)主題:Arts、Budgets、Children、Education,然后通過學(xué)習(xí)訓(xùn)練。獲取每一個(gè)主題Topic相應(yīng)的詞語。例如以下圖所看到的:
然后以一定的概率選取上述某個(gè)主題,再以一定的概率選取那個(gè)主題下的某個(gè)單詞,不斷的反復(fù)這兩步,終于生成例如以下圖所看到的的一篇文章(當(dāng)中不同顏色的詞語分別相應(yīng)上圖中不同主題下的詞):
- 從狄利克雷分布
中取樣生成文檔 i 的主題分布
- 從主題的多項(xiàng)式分布
中取樣生成文檔i第 j 個(gè)詞的主題
- 從狄利克雷分布
中取樣生成主題
相應(yīng)的詞語分布
- 從詞語的多項(xiàng)式分布
中採樣終于生成詞語
當(dāng)中,相似Beta分布是二項(xiàng)式分布的共軛先驗(yàn)概率分布。而狄利克雷分布(Dirichlet分布)是多項(xiàng)式分布的共軛先驗(yàn)概率分布。
此外。LDA的圖模型結(jié)構(gòu)例如以下圖所看到的(相似貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)):
恩,不錯(cuò),短短6句話總體概括了整個(gè)LDA的主體思想!但也就是上面短短6句話,卻接連不斷或反復(fù)出現(xiàn)了二項(xiàng)分布、多項(xiàng)式分布、beta分布、狄利克雷分布(Dirichlet分布)、共軛先驗(yàn)概率分布、取樣,那么請(qǐng)問,這些都是啥呢?
這里先簡單解釋下二項(xiàng)分布、多項(xiàng)分布、beta分布、Dirichlet 分布這4個(gè)分布。
- 二項(xiàng)分布(Binomial distribution)。
二項(xiàng)分布是從伯努利分布推進(jìn)的。
伯努利分布,又稱兩點(diǎn)分布或0-1分布,是一個(gè)離散型的隨機(jī)分布。當(dāng)中的隨機(jī)變量僅僅有兩類取值,非正即負(fù){+,-}。而二項(xiàng)分布即反復(fù)n次的伯努利試驗(yàn),記為 。簡言之,僅僅做一次實(shí)驗(yàn),是伯努利分布。反復(fù)做了n次。是二項(xiàng)分布。二項(xiàng)分布的概率密度函數(shù)為:
- 多項(xiàng)分布,是二項(xiàng)分布擴(kuò)展到多維的情況。
當(dāng)中
- Beta分布,二項(xiàng)分布的共軛先驗(yàn)分布。
。
。
- Dirichlet分布,是beta分布在高維度上的推廣。
OK。接下來,咱們就依照本文開頭所說的思路:“一個(gè)函數(shù):gamma函數(shù),四個(gè)分布:二項(xiàng)分布、多項(xiàng)分布、beta分布、Dirichlet分布,外加一個(gè)概念和一個(gè)理念:共軛先驗(yàn)和貝葉斯框架,兩個(gè)模型:pLSA、LDA(文檔-主題,主題-詞語),一個(gè)採樣:Gibbs採樣”一步步詳細(xì)闡述,爭取給讀者一個(gè)盡量清晰完整的LDA。
(當(dāng)然,假設(shè)你不想深究背后的細(xì)節(jié)原理,僅僅想總體把握LDA的主體思想,可直接跳到本文第4 部分。看完第4部分后。若還是想深究背后的細(xì)節(jié)原理,可再回到此處開始看)
1.1 gamma函數(shù)
咱們先來考慮一個(gè)問題(此問題1包括下文的問題2-問題4皆取材自LDA數(shù)學(xué)八卦):
- 問題1 隨機(jī)變量
- 把這n 個(gè)隨機(jī)變量排序后得到順序統(tǒng)計(jì)量
- 然后請(qǐng)問
的分布是什么。
為解決問題,能夠嘗試計(jì)算落在區(qū)間[x,x+Δx]的概率。即求下述式子的值:
首先。把 [0,1] 區(qū)間分成三段 [0,x),[x,x+Δx],(x+Δx,1],然后考慮下簡單的情形:即假設(shè)n 個(gè)數(shù)中僅僅有1個(gè)落在了區(qū)間 [x,x+Δx]內(nèi),由于這個(gè)區(qū)間內(nèi)的數(shù)X(k)是第k大的,所以[0,x)中應(yīng)該有 k?1 個(gè)數(shù),(x+Δx,1] 這個(gè)區(qū)間中應(yīng)該有n?k 個(gè)數(shù)。
例如以下圖所看到的:
于是乎有:
至此,本節(jié)開頭提出的問題得到解決。然細(xì)致觀察的概率密度函數(shù)。發(fā)現(xiàn)式子的終于結(jié)果有階乘。聯(lián)想到階乘在實(shí)數(shù)上的推廣
函數(shù):
兩者結(jié)合是否會(huì)產(chǎn)生奇異的效果呢?考慮到具有例如以下性質(zhì):
故將代入到
的概率密度函數(shù)
中,可得:
然后取,
,轉(zhuǎn)換
得到:
假設(shè)熟悉beta分布的朋友,可能會(huì)驚呼:哇,居然推出了beta分布。
2 beta分布
2.1 beta分布
2.2 Beta-Binomial 共軛
” 假設(shè)。咱們要在這個(gè)問題的基礎(chǔ)上增加一些觀測數(shù)據(jù),變成問題2:
,相應(yīng)的順序統(tǒng)計(jì)量是
。須要推測
。
,
中有
個(gè)比p小,
個(gè)比
大;
- 那么,請(qǐng)問
的分布是什么。
- 為了推測
,在獲得一定的觀測數(shù)據(jù)前,我們對(duì)
的認(rèn)知是:
,此稱為
的先驗(yàn)分布;
- 然后為了獲得這個(gè)結(jié)果“
中有
個(gè)比p小,
個(gè)比
大”。針對(duì)
是做了
次貝努利實(shí)驗(yàn)。所以
服從二項(xiàng)分布
;
- 在給定了來自數(shù)據(jù)提供的
的知識(shí)后,
的后驗(yàn)分布變?yōu)?img src="http://img-blog.csdn.net/20141117184810158" alt="">。
- 先驗(yàn)分布
+ 樣本信息
后驗(yàn)分布
針對(duì)于這樣的觀測到的數(shù)據(jù)符合二項(xiàng)分布,參數(shù)的先驗(yàn)分布和后驗(yàn)分布都是Beta分布的情況,就是Beta-Binomial共軛。換言之,Beta分布是二項(xiàng)式分布的共軛先驗(yàn)概率分布。
二項(xiàng)分布和Beta分布是共軛分布意味著,假設(shè)我們?yōu)槎?xiàng)分布的參數(shù)p選取的先驗(yàn)分布是Beta分布,那么以p為參數(shù)的二項(xiàng)分布用貝葉斯預(yù)計(jì)得到的后驗(yàn)分布仍然服從Beta分布。
2.3 共軛先驗(yàn)分布
- 可否依據(jù)新觀測數(shù)據(jù)X。更新參數(shù)θ?
- 依據(jù)新觀測數(shù)據(jù)能夠在多大程度上改變參數(shù)θ,即
- 當(dāng)又一次預(yù)計(jì)θ的時(shí)候,給出新參數(shù)值θ的新概率分布。即P(θ|x)。
所以。假設(shè)我們選取P(x|θ)的共軛先驗(yàn)作為P(θ)的分布。那么P(x|θ)乘以P(θ)。然后歸一化的結(jié)果P(θ|x)跟和P(θ)的形式一樣。
換句話說,先驗(yàn)分布是P(θ)。后驗(yàn)分布是P(θ|x),先驗(yàn)分布跟后驗(yàn)分布同屬于一個(gè)分布族。故稱該分布族是θ的共軛先驗(yàn)分布(族)。
投擲一個(gè)非均勻硬幣,能夠使用參數(shù)為θ的伯努利模型,θ為硬幣為正面的概率,那么結(jié)果x的分布形式為:
且這兩個(gè)參數(shù)決定了θ參數(shù),其Beta分布形式為
2.4 從beta分布推廣到Dirichlet 分布
從而求得
最后的這個(gè)結(jié)果意味著對(duì)于Beta 分布的隨機(jī)變量。其均值(期望)能夠用來預(yù)計(jì)。
此外。狄利克雷Dirichlet 分布也有相似的結(jié)論,即假設(shè)。相同能夠證明有下述結(jié)論成立:
那什么是Dirichlet 分布呢?簡單的理解Dirichlet 分布就是一組連續(xù)多變量概率分布。是多變量普遍化的beta分布。為了紀(jì)念德國數(shù)學(xué)家約翰·彼得·古斯塔夫·勒熱納·狄利克雷(Peter Gustav Lejeune Dirichlet)而命名。狄利克雷分布常作為貝葉斯統(tǒng)計(jì)的先驗(yàn)概率。
3 Dirichlet 分布
3.1 Dirichlet 分布
依據(jù)wikipedia上的介紹。維度K ≥ 2(x1,x2…xK-1維。共K個(gè))的狄利克雷分布在參數(shù)α1, ..., αK > 0上、基于歐幾里得空間RK-1里的勒貝格測度有個(gè)概率密度函數(shù),定義為:
當(dāng)中,相當(dāng)于是多項(xiàng)beta函數(shù)
且
此外,x1+x2+…+xK-1+xK=1,x1,x2…xK-1>0,且在(K-1)維的單純形上,其它區(qū)域的概率密度為0。
當(dāng)然,也能夠例如以下定義Dirichlet 分布
當(dāng)中的稱為Dirichlet 分布的歸一化系數(shù):
3.2 Dirichlet-Multinomial 共軛
以下。在2.2節(jié)問題2的基礎(chǔ)上繼續(xù)深入。引出問題3。
,
- 排序后相應(yīng)的順序統(tǒng)計(jì)量
,
- 問
的聯(lián)合分布是什么?
從而有:
繼而得到于是我們得到的聯(lián)合分布為:
觀察上述式子的終于結(jié)果,能夠看出上面這個(gè)分布事實(shí)上就是3維形式的 Dirichlet 分布
令,于是分布密度能夠?qū)憺?/p>
這個(gè)就是一般形式的3維 Dirichlet 分布,即便延拓到非負(fù)實(shí)數(shù)集合,以上概率分布也是良定義的。
將Dirichlet分布的概率密度函數(shù)取對(duì)數(shù),繪制對(duì)稱Dirichlet分布的圖像例如以下圖所看到的(截取自wikipedia上):
上圖中。取K=3。也就是有兩個(gè)獨(dú)立參數(shù)x1,x2,分別相應(yīng)圖中的兩個(gè)坐標(biāo)軸。第三個(gè)參數(shù)始終滿足x3=1-x1-x2且α1=α2=α3=α,圖中反映的是參數(shù)α從α=(0.3, 0.3, 0.3)變化到(2.0, 2.0, 2.0)時(shí)的概率對(duì)數(shù)值的變化情況。
為了論證Dirichlet分布是多項(xiàng)式分布的共軛先驗(yàn)概率分布,以下咱們繼續(xù)在上述問題3的基礎(chǔ)上再進(jìn)一步,提出問題4。
- 問題4
,排序后相應(yīng)的順序統(tǒng)計(jì)量
- 令
,
,
(此處的p3非變量,僅僅是為了表達(dá)方便)。如今要推測
。
。Yi中落到
,
。
三個(gè)區(qū)間的個(gè)數(shù)分別為 m1,m2,m3,m=m1+m2+m3。
- 問后驗(yàn)分布
的分布是什么。
為了方便討論,記,及
。依據(jù)已知條件“
,Yi中落到
,
,
三個(gè)區(qū)間的個(gè)數(shù)分別為 m1,m2”,可得
、
各自是這m+n個(gè)數(shù)中第
大、第
大的數(shù)。于是。后驗(yàn)分布
應(yīng)該為
,即一般化的形式表示為:
。
相同的,依照貝葉斯推理的邏輯,可將上述過程整理例如以下:
- 我們要推測參數(shù)
,其先驗(yàn)分布為
;
- 數(shù)據(jù)Yi落到三個(gè)區(qū)間
。
,
的個(gè)數(shù)分別為
,所以
服從多項(xiàng)分布
- 在給定了來自數(shù)據(jù)提供的知識(shí)
后,
的后驗(yàn)分布變?yōu)?img src="http://img-blog.csdn.net/20141118220620315" alt="">
上述貝葉斯分析過程的直觀表述為:
令,可把
從整數(shù)集合延拓到實(shí)數(shù)集合,從而得到更一般的表達(dá)式例如以下:
換言之,至此已經(jīng)證明了Dirichlet分布的確就是多項(xiàng)式分布的共軛先驗(yàn)概率分布。
4 主題模型LDA
在開始以下的旅程之前,先來總結(jié)下我們眼下所得到的最基本的幾個(gè)收獲:
- 通過上文的第2.2節(jié),我們知道beta分布是二項(xiàng)式分布的共軛先驗(yàn)概率分布:
- “對(duì)于非負(fù)實(shí)數(shù)
和
,我們有例如以下關(guān)系
當(dāng)中
相應(yīng)的是二項(xiàng)分布
的計(jì)數(shù)。針對(duì)于這樣的觀測到的數(shù)據(jù)符合二項(xiàng)分布,參數(shù)的先驗(yàn)分布和后驗(yàn)分布都是Beta分布的情況。就是Beta-Binomial 共軛。”
- 通過上文的3.2節(jié),我們知道狄利克雷分布(Dirichlet分布)是多項(xiàng)式分布的共軛先驗(yàn)概率分布:
- “ 把
從整數(shù)集合延拓到實(shí)數(shù)集合。從而得到更一般的表達(dá)式例如以下:
針對(duì)于這樣的觀測到的數(shù)據(jù)符合多項(xiàng)分布。參數(shù)的先驗(yàn)分布和后驗(yàn)分布都是Dirichlet 分布的情況,就是 Dirichlet-Multinomial 共軛。 ”
-
以及貝葉斯派思考問題的固定模式:
- 先驗(yàn)分布
+ 樣本信息
后驗(yàn)分布
上述思考模式意味著,新觀察到的樣本信息將修正人們?cè)?jīng)對(duì)事物的認(rèn)知。換言之,在得到新的樣本信息之前,人們對(duì)的認(rèn)知是先驗(yàn)分布
,在得到新的樣本信息
后。人們對(duì)
的認(rèn)知為
。
- 先驗(yàn)分布
- 順便提下頻率派與貝葉斯派各自不同的思考方式:
- 頻率派把須要判斷的參數(shù)θ看做是固定的未知常數(shù)。即概率
盡管是未知的,但最起碼是確定的一個(gè)值,同一時(shí)候,樣本X 是隨機(jī)的,所以頻率派重點(diǎn)研究樣本空間,大部分的概率計(jì)算都是針對(duì)樣本X 的分布;
- 而貝葉斯派的觀點(diǎn)則截然相反,他們覺得待預(yù)計(jì)的參數(shù)
是隨機(jī)變量,服從一定的分布。而樣本X 是固定的,由于樣本是固定的。所以他們重點(diǎn)研究的是參數(shù)
的分布。
- 頻率派把須要判斷的參數(shù)θ看做是固定的未知常數(shù)。即概率
OK,在殺到終極boss——LDA模型之前,再循序漸進(jìn)理解基礎(chǔ)模型:Unigram model、mixture of unigrams model,以及跟LDA最為接近的pLSA模型。
為了方便描寫敘述,首先定義一些變量:
表示詞,
表示全部單詞的個(gè)數(shù)(固定值)
表示主題,
是主題的個(gè)數(shù)(預(yù)先給定。固定值)
表示語料庫,當(dāng)中的
是語料庫中的文檔數(shù)(固定值)
表示文檔,當(dāng)中的
表示一個(gè)文檔中的詞數(shù)(隨機(jī)變量)
4.1 各個(gè)基礎(chǔ)模型
4.1.1 Unigram model
對(duì)于文檔。用
表示詞
的先驗(yàn)概率。生成文檔
的概率為:
其圖模型為(圖中被涂色的w表示可觀測變量,N表示一篇文檔中總共N個(gè)單詞,M表示M篇文檔):
或?yàn)椋?/span>
unigram model假設(shè)文本中的詞服從Multinomial分布。而我們已經(jīng)知道Multinomial分布的先驗(yàn)分布為Dirichlet分布。
上圖中的表示在文本中觀察到的第n個(gè)詞。n∈[1,N]表示該文本中一共同擁有N個(gè)單詞。
加上方框表示反復(fù),即一共同擁有N個(gè)這樣的隨機(jī)變量。
當(dāng)中,p和α是隱含未知變量:
- p是詞服從的Multinomial分布的參數(shù)
- α是Dirichlet分布(即Multinomial分布的先驗(yàn)分布)的參數(shù)。
一般α由經(jīng)驗(yàn)事先給定,p由觀察到的文本中出現(xiàn)的詞學(xué)習(xí)得到,表示文本中出現(xiàn)每一個(gè)詞的概率。
4.1.2 Mixture of unigrams model
假設(shè)主題有。生成文檔
的概率為:
4.2 PLSA模型
4.2.1 pLSA模型下生成文檔
那么在pLSA中,文檔是怎樣被生成的呢?
- 1. 假設(shè)你每寫一篇文檔會(huì)制作一顆K面的“文檔-主題”骰子(扔此骰子能得到K個(gè)主題中的隨意一個(gè)),和K個(gè)V面的“主題-詞項(xiàng)” 骰子(每一個(gè)骰子相應(yīng)一個(gè)主題,K個(gè)骰子相應(yīng)之前的K個(gè)主題。且骰子的每一面相應(yīng)要選擇的詞項(xiàng),V個(gè)面相應(yīng)著V個(gè)可選的詞)。
- 比方可令K=3。即制作1個(gè)含有3個(gè)主題的“文檔-主題”骰子,這3個(gè)主題能夠是:教育、經(jīng)濟(jì)、交通。然后令V = 3,制作3個(gè)有著3面的“主題-詞項(xiàng)”骰子,當(dāng)中,教育主題骰子的3個(gè)面上的詞能夠是:大學(xué)、老師、課程。經(jīng)濟(jì)主題骰子的3個(gè)面上的詞能夠是:市場、企業(yè)、金融,交通主題骰子的3個(gè)面上的詞能夠是:高鐵、汽車、飛機(jī)。
- 2. 每寫一個(gè)詞。先扔該“文檔-主題”骰子選擇主題,得到主題的結(jié)果后,使用和主題結(jié)果相應(yīng)的那顆“主題-詞項(xiàng)”骰子,扔該骰子選擇要寫的詞。
- 先扔“文檔-主題”的骰子,假設(shè)(以一定的概率)得到的主題是教育,所以下一步便是扔教育主題篩子,(以一定的概率)得到教育主題篩子相應(yīng)的某個(gè)詞:大學(xué)。
- 上面這個(gè)投骰子產(chǎn)生詞的過程簡化下便是:“先以一定的概率選取主題。再以一定的概率選取詞”。事實(shí)上,一開始可供選擇的主題有3個(gè):教育、經(jīng)濟(jì)、交通。那為何偏偏選取教育這個(gè)主題呢?事實(shí)上是隨機(jī)選取的,僅僅是這個(gè)隨機(jī)遵循一定的概率分布。比方可能選取教育主題的概率是0.5,選取經(jīng)濟(jì)主題的概率是0.3。選取交通主題的概率是0.2,那么這3個(gè)主題的概率分布便是{教育:0.5。經(jīng)濟(jì):0.3。交通:0.2}。我們把各個(gè)主題z在文檔d中出現(xiàn)的概率分布稱之為主題分布,且是一個(gè)多項(xiàng)分布。
- 相同的,從主題分布中隨機(jī)抽取出教育主題后,依舊面對(duì)著3個(gè)詞:大學(xué)、老師、課程。這3個(gè)詞都可能被選中,但它們被選中的概率也是不一樣的。比方大學(xué)這個(gè)詞被選中的概率是0.5,老師這個(gè)詞被選中的概率是0.3,課程被選中的概率是0.2,那么這3個(gè)詞的概率分布便是{大學(xué):0.5,老師:0.3。課程:0.2},我們把各個(gè)詞語w在主題z下出現(xiàn)的概率分布稱之為詞分布,這個(gè)詞分布也是一個(gè)多項(xiàng)分布。
- 所以,選主題和選詞都是兩個(gè)隨機(jī)的過程。先從主題分布{教育:0.5,經(jīng)濟(jì):0.3,交通:0.2}中抽取出主題:教育,然后從該主題相應(yīng)的詞分布{大學(xué):0.5,老師:0.3。課程:0.2}中抽取出詞:大學(xué)。
- 3. 最后,你不停的反復(fù)扔“文檔-主題”骰子和”主題-詞項(xiàng)“骰子。反復(fù)N次(產(chǎn)生N個(gè)詞),完畢一篇文檔,反復(fù)這產(chǎn)生一篇文檔的方法M次。則完畢M篇文檔。
同一時(shí)候定義:
表示海量文檔中某篇文檔被選中的概率。
表示詞
在給定文檔
中出現(xiàn)的概率。
- 怎么計(jì)算得到呢?針對(duì)海量文檔,對(duì)全部文檔進(jìn)行分詞后,得到一個(gè)詞匯列表。這樣每篇文檔就是一個(gè)詞語的集合。
對(duì)于每一個(gè)詞語,用它在文檔中出現(xiàn)的次數(shù)除以文檔中詞語總的數(shù)目便是它在文檔中出現(xiàn)的概率
。
表示詳細(xì)某個(gè)主題
在給定文檔
下出現(xiàn)的概率。
表示詳細(xì)某個(gè)詞
在給定主題
下出現(xiàn)的概率,與主題關(guān)系越密切的詞,其條件概率
越大。
- 依照概率
選擇一篇文檔
- 選定文檔
后,從主題分布中依照概率
選擇一個(gè)隱含的主題類別
- 選定
后,從詞分布中依照概率
選擇一個(gè)詞
4.2.1 依據(jù)文檔反推其主題分布
即文檔d和單詞w是可被觀察到的,但主題z卻是隱藏的。
由于可事先計(jì)算求出,而
和
未知,所以
就是我們要預(yù)計(jì)的參數(shù)(值),通俗點(diǎn)說。就是要最大化這個(gè)θ。
用什么方法進(jìn)行預(yù)計(jì)呢,經(jīng)常使用的參數(shù)預(yù)計(jì)方法有極大似然預(yù)計(jì)MLE、最大后驗(yàn)證預(yù)計(jì)MAP、貝葉斯預(yù)計(jì)等等。由于該待預(yù)計(jì)的參數(shù)中含有隱變量z,所以我們能夠考慮EM算法。
4.2.1.1 EM算法的簡介
EM算法。全稱為Expectation-maximization algorithm,為期望最大算法,其基本思想是:首先隨機(jī)選取一個(gè)值去初始化待預(yù)計(jì)的值,然后不斷迭代尋找更優(yōu)的
使得其似然函數(shù)likelihood
比原來的
要大。
換言之,假定如今得到了。想求
,使得
EM的關(guān)鍵便是要找到的一個(gè)下界
(注:
。當(dāng)中。X表示已經(jīng)觀察到的隨機(jī)變量)。然后不斷最大化這個(gè)下界。通過不斷求解下界
的極大化,從而逼近要求解的似然函數(shù)
。
所以EM算法的一般步驟為:
- 1. 隨機(jī)選取或者依據(jù)先驗(yàn)知識(shí)初始化
;
- 2. 不斷迭代下述兩步
- ①給出當(dāng)前的參數(shù)預(yù)計(jì)
,計(jì)算似然函數(shù)
的下界
- ②又一次預(yù)計(jì)參數(shù)θ。即求
,使得
- 3. 上述第二步后,假設(shè)
收斂(即
收斂)則退出算法,否則繼續(xù)回到第二步。
上述過程好比在二維平面上。有兩條不相交的曲線,一條曲線在上(簡稱上曲線)。一條曲線在下(簡稱下曲線
),下曲線為上曲線的下界。如今對(duì)上曲線未知。僅僅已知下曲線,為了求解上曲線的最高點(diǎn),我們?cè)囍粩嘣龃笙虑€。使得下曲線不斷逼近上曲線,下曲線在某一個(gè)點(diǎn)達(dá)到局部最大值并與上曲線在這點(diǎn)的值相等,記錄下這個(gè)值,然后繼續(xù)增大下曲線,尋找下曲線上與上曲線上相等的值,迭代到
收斂(即
收斂)停止,從而利用當(dāng)前下曲線上的局部最大值當(dāng)作上曲線的全局最大值(換言之,EM算法不保證一定能找到全局最優(yōu)值)。
例如以下圖所看到的:
以下是詳細(xì)介紹。
假定有訓(xùn)練集。包括m個(gè)獨(dú)立樣本,希望從中找到該組數(shù)據(jù)的模型p(x,z)的參數(shù)。
然后通過極大似然預(yù)計(jì)建立目標(biāo)函數(shù)--對(duì)數(shù)似然函數(shù):
這里,z是隱隨機(jī)變量,直接找到參數(shù)的預(yù)計(jì)是非常困難的。
我們的策略是建立的下界。而且求該下界的最大值;反復(fù)這個(gè)過程,直到收斂到局部最大值。
令Qi是z的某一個(gè)分布。Qi≥0,且結(jié)合Jensen不等式,有:
為了尋找盡量緊的下界。我們能夠讓使上述等號(hào)成立,而若要讓等號(hào)成立的條件則是:
換言之。有以下式子成立:。且由于有:
所以可得:
終于得到EM算法的總體框架例如以下:
OK,EM算法還會(huì)在本博客后面的博文中詳細(xì)闡述。
接下來,回到pLSA參數(shù)的預(yù)計(jì)問題上。
4.2.1.2 EM算法預(yù)計(jì)pLSA的兩未知參數(shù)
首先嘗試從矩陣的角度來描寫敘述待預(yù)計(jì)的兩個(gè)未知變量和
。
- 假定用
表示詞表
在主題
上的一個(gè)多項(xiàng)分布,則
能夠表示成一個(gè)向量,每一個(gè)元素
表示詞項(xiàng)
出如今主題
中的概率,即
- 用
表示全部主題
在文檔
上的一個(gè)多項(xiàng)分布,則
能夠表示成一個(gè)向量,每一個(gè)元素
表示主題
出如今文檔
中的概率,即
這樣,巧妙的把和
轉(zhuǎn)換成了兩個(gè)矩陣。
換言之,終于我們要求解的參數(shù)是這兩個(gè)矩陣:
由于詞和詞之間是相互獨(dú)立的,所以整篇文檔N個(gè)詞的分布為:
再由于文檔和文檔之間也是相互獨(dú)立的,所以整個(gè)語料庫中詞的分布為(整個(gè)語料庫M篇文檔,每篇文檔N個(gè)詞):
當(dāng)中。表示詞項(xiàng)
在文檔
中的詞頻。
表示文檔di中詞的總數(shù)。顯然有
。
從而得到整個(gè)語料庫的詞分布的對(duì)數(shù)似然函數(shù)(下述公式中有個(gè)小錯(cuò)誤,正確的應(yīng)該是:N為M。M為N):
如今,我們須要最大化上述這個(gè)對(duì)數(shù)似然函數(shù)來求解參數(shù)和
。對(duì)于這樣的含有隱變量的最大似然預(yù)計(jì),能夠使用EM算法。EM算法,分為兩個(gè)步驟:先E-step,后M-step。
- E-step:假定參數(shù)已知,計(jì)算此時(shí)隱變量的后驗(yàn)概率。
利用貝葉斯法則,能夠得到:
- M-step:帶入隱變量的后驗(yàn)概率,最大化樣本分布的對(duì)數(shù)似然函數(shù),求解相應(yīng)的參數(shù)。
觀察之前得到的對(duì)數(shù)似然函數(shù)的結(jié)果。由于文檔長度
能夠單獨(dú)計(jì)算。所以去掉它不影響最大化似然函數(shù)。
此外,依據(jù)E-step的計(jì)算結(jié)果,把 代入
,于是我們僅僅要最大化以下這個(gè)函數(shù)
就可以(下述公式中有個(gè)小錯(cuò)誤,正確的應(yīng)該是:N為M,M為N):
這是一個(gè)多元函數(shù)求極值問題,而且已知有例如以下約束條件(下述公式中有個(gè)小錯(cuò)誤,正確的應(yīng)該是:M為N):
熟悉凸優(yōu)化的朋友應(yīng)該知道。一般處理這樣的帶有約束條件的極值問題,經(jīng)常使用的方法便是拉格朗日乘數(shù)法,即通過引入拉格朗日乘子將約束條件和多元(目標(biāo))函數(shù)融合到一起,轉(zhuǎn)化為無約束條件的極值問題。
這里我們引入兩個(gè)拉格朗日乘子和
,從而寫出拉格朗日函數(shù)(下述公式中有個(gè)小錯(cuò)誤,正確的應(yīng)該是:N為M。M為N):
由于我們要求解的參數(shù)是和
,所以分別對(duì)
和
求偏導(dǎo)。然后令偏導(dǎo)結(jié)果等于0,得到(下述公式中有個(gè)小錯(cuò)誤。正確的應(yīng)該是:N為M,M為N):
消去拉格朗日乘子,終于可預(yù)計(jì)出參數(shù)和
(下述公式中有個(gè)小錯(cuò)誤,正確的應(yīng)該是:N為M,M為N):
綜上。在pLSA中:
- 由于
和
未知,所以我們用EM算法去預(yù)計(jì)
這個(gè)參數(shù)的值。
- 而后,用
表示詞項(xiàng)
出如今主題
中的概率。即
,用表示主題
出如今文檔
中的概率,即
。從而把轉(zhuǎn)換成了“主題-詞項(xiàng)”矩陣Φ(主題生成詞),把
轉(zhuǎn)換成了“文檔-主題”矩陣Θ(文檔生成主題)。
- 終于求解出
、
。
4.3 LDA模型
事實(shí)上,理解了pLSA模型,也就差點(diǎn)兒相同快理解了LDA模型。由于LDA就是在pLSA的基礎(chǔ)上加層貝葉斯框架,即LDA就是pLSA的貝葉斯版本號(hào)(正由于LDA被貝葉斯化了,所以才須要考慮歷史先驗(yàn)知識(shí),才加的兩個(gè)先驗(yàn)參數(shù))。
4.3.1 pLSA跟LDA的對(duì)照:生成文檔與參數(shù)預(yù)計(jì)
在pLSA模型中,我們依照例如以下的步驟得到“文檔-詞項(xiàng)”的生成模型:
- 依照概率
選擇一篇文檔
- 選定文檔
后。確定文章的主題分布
- 從主題分布中依照概率
選擇一個(gè)隱含的主題類別
- 選定
后,確定主題下的詞分布
- 從詞分布中依照概率
選擇一個(gè)詞
”
以下。咱們對(duì)照下本文開頭所述的LDA模型中一篇文檔生成的方式是怎樣的:
- 依照先驗(yàn)概率
選擇一篇文檔
- 從狄利克雷分布(即Dirichlet分布)
中取樣生成文檔
的主題分布
,換言之,主題分布
由超參數(shù)為
的Dirichlet分布生成
- 從主題的多項(xiàng)式分布
中取樣生成文檔
第 j 個(gè)詞的主題
- 從狄利克雷分布(即Dirichlet分布)
中取樣生成主題
相應(yīng)的詞語分布
。換言之,詞語分布
由參數(shù)為
的Dirichlet分布生成
- 從詞語的多項(xiàng)式分布
中採樣終于生成詞語
”
從上面兩個(gè)過程能夠看出,LDA在PLSA的基礎(chǔ)上,為主題分布和詞分布分別加了兩個(gè)Dirichlet先驗(yàn)。
繼續(xù)拿之前解說PLSA的樣例進(jìn)行詳細(xì)說明。
如前所述。在PLSA中,選主題和選詞都是兩個(gè)隨機(jī)的過程,先從主題分布{教育:0.5,經(jīng)濟(jì):0.3。交通:0.2}中抽取出主題:教育,然后從該主題相應(yīng)的詞分布{大學(xué):0.5,老師:0.3,課程:0.2}中抽取出詞:大學(xué)。
- PLSA中,主題分布和詞分布是唯一確定的。能明確的指出主題分布可能就是{教育:0.5。經(jīng)濟(jì):0.3。交通:0.2}。詞分布可能就是{大學(xué):0.5,老師:0.3,課程:0.2}。
- 但在LDA中,主題分布和詞分布不再唯一確定不變。即無法確切給出。
比如主題分布可能是{教育:0.5,經(jīng)濟(jì):0.3,交通:0.2}。也可能是{教育:0.6。經(jīng)濟(jì):0.2,交通:0.2},究竟是哪個(gè)我們不再確定(即不知道)。由于它是隨機(jī)的可變化的。但再怎么變化。也依舊服從一定的分布,即主題分布跟詞分布由Dirichlet先驗(yàn)隨機(jī)確定。
- pLSA中,主題分布和詞分布確定后。以一定的概率(
、
)分別選取詳細(xì)的主題和詞項(xiàng),生成好文檔。
而后依據(jù)生成好的文檔反推其主題分布、詞分布時(shí),終于用EM算法(極大似然預(yù)計(jì)思想)求解出了兩個(gè)未知但固定的參數(shù)的值:
(由
轉(zhuǎn)換而來)和
(由
轉(zhuǎn)換而來)。
- 文檔d產(chǎn)生主題z的概率。主題z產(chǎn)生單詞w的概率都是兩個(gè)固定的值。
- 舉個(gè)文檔d產(chǎn)生主題z的樣例。給定一篇文檔d,主題分布是一定的,比方{ P(zi|d), i = 1,2,3 }可能就是{0.4,0.5,0.1},表示z1、z2、z3。這3個(gè)主題被文檔d選中的概率都是個(gè)固定的值:P(z1|d) = 0.4、P(z2|d) = 0.5、P(z3|d) = 0.1,例如以下圖所看到的(圖截取自沈博PPT上):
- 但在貝葉斯框架下的LDA中,我們不再覺得主題分布(各個(gè)主題在文檔中出現(xiàn)的概率分布)和詞分布(各個(gè)詞語在某個(gè)主題下出現(xiàn)的概率分布)是唯一確定的(而是隨機(jī)變量),而是有非常多種可能。但一篇文檔總得相應(yīng)一個(gè)主題分布和一個(gè)詞分布吧。怎么辦呢?LDA為它們弄了兩個(gè)Dirichlet先驗(yàn)參數(shù),這個(gè)Dirichlet先驗(yàn)為某篇文檔隨機(jī)抽取出某個(gè)主題分布和詞分布。
- 文檔d產(chǎn)生主題z(準(zhǔn)確的說。事實(shí)上是Dirichlet先驗(yàn)為文檔d生成主題分布Θ,然后依據(jù)主題分布Θ產(chǎn)生主題z)的概率,主題z產(chǎn)生單詞w的概率都不再是某兩個(gè)確定的值。而是隨機(jī)變量。
- 還是再次舉下文檔d詳細(xì)產(chǎn)生主題z的樣例。給定一篇文檔d,如今有多個(gè)主題z1、z2、z3,它們的主題分布{ P(zi|d), i = 1,2,3 }可能是{0.4,0.5,0.1},也可能是{0.2,0.2,0.6},即這些主題被d選中的概率都不再覺得是確定的值,可能是P(z1|d) = 0.4、P(z2|d) = 0.5、P(z3|d) = 0.1,也有可能是P(z1|d) = 0.2、P(z2|d) = 0.2、P(z3|d) = 0.6等等。而主題分布究竟是哪個(gè)取值集合我們不確定(為什么?這就是貝葉斯派的核心思想。把未知參數(shù)當(dāng)作是隨機(jī)變量,不再覺得是某一個(gè)確定的值)。但其先驗(yàn)分布是dirichlet 分布,所以能夠從無窮多個(gè)主題分布中依照dirichlet 先驗(yàn)隨機(jī)抽取出某個(gè)主題分布出來。例如以下圖所看到的(圖截取自沈博PPT上):
好比,我去一朋友家:
- 依照頻率派的思想,我預(yù)計(jì)他在家的概率是1/2。不在家的概率也是1/2,是個(gè)定值。
- 而依照貝葉斯派的思想。他在家不在家的概率不再覺得是個(gè)定值1/2,而是隨機(jī)變量。比方依照我們的經(jīng)驗(yàn)(比方當(dāng)天周末),推測他在家的概率是0.6,但這個(gè)0.6不是說就是全然確定的。也有可能是0.7。
如此。貝葉斯派沒法確切給出參數(shù)的確定值(0.3,0.4,0.6,0.7,0.8,0.9都有可能),但至少明確在哪個(gè)范圍或哪些取值(0.6,0.7。0.8,0.9)更有可能,哪個(gè)范圍或哪些取值(0.3,0.4) 不太可能。
進(jìn)一步。貝葉斯預(yù)計(jì)中,參數(shù)的多個(gè)預(yù)計(jì)值服從一定的先驗(yàn)分布,而后依據(jù)實(shí)踐獲得的數(shù)據(jù)(比如周末不斷跑他家)。不斷修正之前的參數(shù)預(yù)計(jì)。從先驗(yàn)分布慢慢過渡到后驗(yàn)分布。
假設(shè)是在機(jī)器學(xué)習(xí)班上face-to-face,更好解釋和溝通。
4.3.2 LDA生成文檔過程的進(jìn)一步理解
為了說清晰這個(gè)問題,咱們得回想下dirichlet分布。事實(shí)上。假設(shè)我們?nèi)?個(gè)事件的話,能夠建立一個(gè)三維坐標(biāo)系。相似xyz三維坐標(biāo)系,這里。我們把3個(gè)坐標(biāo)軸弄為p1、p2、p3,例如以下圖所看到的:
在這個(gè)三維坐標(biāo)軸所劃分的空間里,每一個(gè)坐標(biāo)點(diǎn)(p1,p2,p3)就相應(yīng)著一個(gè)主題分布。且某一個(gè)點(diǎn)(p1,p2,p3)的大小表示3個(gè)主題z1、z2、z3出現(xiàn)的概率大小(由于各個(gè)主題出現(xiàn)的概率和為1。所以p1+p2+p3 = 1,且p1、p2、p3這3個(gè)點(diǎn)最大取值為1)。比方(p1,p2,p3) = (0.4,0.5,0.1)便相應(yīng)著主題分布{ P(zi), i =1,2,3 } = {0.4,0.5,0.1}。
能夠想象到,空間里有非常多這樣的點(diǎn)(p1,p2,p3)。意味著有非常多的主題分布可供選擇,那dirichlet分布怎樣選擇主題分布呢?把上面的斜三角形放倒。映射究竟面的平面上,便得到例如以下所看到的的一些彩圖(3個(gè)彩圖中,每一個(gè)點(diǎn)相應(yīng)一個(gè)主題分布,高度代表某個(gè)主題分布被dirichlet分布選中的概率。且選不同的。dirichlet 分布會(huì)偏向不同的主題分布):
4.3.3 pLSA跟LDA的概率圖對(duì)照
- 假定語料庫中共同擁有M篇文章,每篇文章下的Topic的主題分布是一個(gè)從參數(shù)為
的Dirichlet先驗(yàn)分布中採樣得到的Multinomial分布。每一個(gè)Topic下的詞分布是一個(gè)從參數(shù)為
的Dirichlet先驗(yàn)分布中採樣得到的Multinomial分布。
- 對(duì)于某篇文章中的第n個(gè)詞,首先從該文章中出現(xiàn)的每一個(gè)主題的Multinomial分布(主題分布)中選擇或採樣一個(gè)主題,然后再在這個(gè)主題相應(yīng)的詞的Multinomial分布(詞分布)中選擇或採樣一個(gè)詞。不斷反復(fù)這個(gè)隨機(jī)生成過程,直到M篇文章全部生成完畢。
- 當(dāng)中。
→θ→z 表示生成文檔中的全部詞相應(yīng)的主題,顯然
→θ 相應(yīng)的是Dirichlet 分布,θ→z 相應(yīng)的是 Multinomial 分布。所以總體是一個(gè) Dirichlet-Multinomial 共軛結(jié)構(gòu)。例如以下圖所看到的:
- 相似的,
→φ→w,easy看出, 此時(shí)β→φ相應(yīng)的是 Dirichlet 分布, φ→w 相應(yīng)的是 Multinomial 分布, 所以總體也是一個(gè)Dirichlet-Multinomial 共軛結(jié)構(gòu),例如以下圖所看到的:
4.3.4 pLSA跟LDA參數(shù)預(yù)計(jì)方法的對(duì)照
- 在pLSA中,我們使用EM算法去預(yù)計(jì)“主題-詞項(xiàng)”矩陣Φ(由
轉(zhuǎn)換得到)和“文檔-主題”矩陣Θ(由
轉(zhuǎn)換得到)這兩個(gè)參數(shù),而且這兩參數(shù)都是個(gè)固定的值。僅僅是未知,使用的思想事實(shí)上就是極大似然預(yù)計(jì)MLE。
- 而在LDA中,預(yù)計(jì)Φ、Θ這兩未知參數(shù)能夠用變分(Variational inference)-EM算法,也能夠用gibbs採樣,前者的思想是最大后驗(yàn)預(yù)計(jì)MAP(MAP與MLE相似,都把未知參數(shù)當(dāng)作固定的值),后者的思想是貝葉斯預(yù)計(jì)。貝葉斯預(yù)計(jì)是對(duì)MAP的擴(kuò)展,但它與MAP有著本質(zhì)的不同。即貝葉斯預(yù)計(jì)把待預(yù)計(jì)的參數(shù)看作是服從某種先驗(yàn)分布的隨機(jī)變量。
- 關(guān)于貝葉斯預(yù)計(jì)再舉個(gè)樣例。假設(shè)中國的大學(xué)僅僅有兩種:理工科和文科,這兩種學(xué)校數(shù)量的比例是1:1。當(dāng)中,理工科男女比例7:1,文科男女比例1:7。某天你被外星人隨機(jī)扔到一個(gè)校園,問你該學(xué)校可能的男女比例是多少?然后,你實(shí)際到該校園里逛了一圈,看到的5個(gè)人全是男的。這時(shí)候再次問你這個(gè)校園的男女比例是多少?
- 由于剛開始時(shí),有先驗(yàn)知識(shí),所以該學(xué)校的男女比例要么是7:1。要么是1:7,即P(比例為7:1) = 1/2,P(比例為1:7) = 1/2。
- 然后看到5個(gè)男生后又一次預(yù)計(jì)男女比例。事實(shí)上就是求P(比例7:1|5個(gè)男生)= ?,P(比例1:7|5個(gè)男生) = ?
- 用貝葉斯公式
,可得:P(比例7:1|5個(gè)男生) = P(比例7:1)*P(5個(gè)男生|比例7:1) / P(5個(gè)男生),P(5個(gè)男生)是5個(gè)男生的先驗(yàn)概率。與學(xué)校無關(guān),所以是個(gè)常數(shù);相似的,P(比例1:7|5個(gè)男生) = P((比例1:7)*P(5個(gè)男生|比例1:7)/P(5個(gè)男生)。
- 最后將上述兩個(gè)等式比一下。可得:P(比例7:1|5個(gè)男生)/P(比例1:7|5個(gè)男生) = {P((比例7:1)*P(5個(gè)男生|比例7:1)} / { P(比例1:7)*P(5個(gè)男生|比例1:7)}。
4.3.5 LDA參數(shù)預(yù)計(jì):Gibbs採樣
理清了LDA中的物理過程,以下咱們來看下怎樣學(xué)習(xí)預(yù)計(jì)。
相似于pLSA。LDA的原始論文中是用的變分-EM算法預(yù)計(jì)未知參數(shù),后來發(fā)現(xiàn)還有一種預(yù)計(jì)LDA未知參數(shù)的方法更好,這樣的方法就是:Gibbs Sampling,有時(shí)叫Gibbs採樣或Gibbs抽樣。都一個(gè)意思。Gibbs抽樣是馬爾可夫鏈蒙特卡爾理論(MCMC)中用來獲取一系列近似等于指定多維概率分布(比方2個(gè)或者多個(gè)隨機(jī)變量的聯(lián)合概率分布)觀察樣本的算法。
OK,給定一個(gè)文檔集合。w是能夠觀察到的已知變量,和
是依據(jù)經(jīng)驗(yàn)給定的先驗(yàn)參數(shù),其它的變量z,θ和φ都是未知的隱含變量,須要依據(jù)觀察到的變量來學(xué)習(xí)預(yù)計(jì)的。依據(jù)LDA的圖模型,能夠?qū)懗鋈孔兞康穆?lián)合分布:
注:上述公式中及下文中。等價(jià)上文中定義的
。
等價(jià)于上文中定義的
。
等價(jià)于上文中定義的
。
等價(jià)于上文中定義的
。
由于產(chǎn)生主題分布θ,主題分布θ確定詳細(xì)主題,且
產(chǎn)生詞分布φ、詞分布φ確定詳細(xì)詞,所以上述式子等價(jià)于下述式子所表達(dá)的聯(lián)合概率分布
:
當(dāng)中,第一項(xiàng)因子表示的是依據(jù)確定的主題
和詞分布的先驗(yàn)分布參數(shù)
採樣詞的過程,第二項(xiàng)因子
是依據(jù)主題分布的先驗(yàn)分布參數(shù)
採樣主題的過程,這兩項(xiàng)因子是須要計(jì)算的兩個(gè)未知參數(shù)。
由于這兩個(gè)過程是獨(dú)立的。所以以下能夠分別處理。各個(gè)擊破。
第一個(gè)因子,能夠依據(jù)確定的主題
和從先驗(yàn)分布
取樣得到的詞分布Φ產(chǎn)生:
由于樣本中的詞服從參數(shù)為主題的獨(dú)立多項(xiàng)分布,這意味著能夠把上面對(duì)詞的乘積分解成分別對(duì)主題和對(duì)詞的兩層乘積:
當(dāng)中,是詞 t 在主題 k 中出現(xiàn)的次數(shù)。
回到第一個(gè)因子上來。
目標(biāo)分布須要對(duì)詞分布Φ積分。且結(jié)合我們之前在3.1節(jié)定義的Dirichlet 分布的歸一化系數(shù)
的公式
可得:
這個(gè)結(jié)果能夠看作K個(gè)Dirichlet-Multinomial模型的乘積。
如今開始求第二個(gè)因子。相似于
的步驟。先寫出條件分布,然后分解成兩部分的乘積:
當(dāng)中。 表示的單詞 i 所屬的文檔,
是主題 k 在文章 m 中出現(xiàn)的次數(shù)。
對(duì)主題分布Θ積分可得:
綜合第一個(gè)因子和第二個(gè)因子的結(jié)果,得到的聯(lián)合分布結(jié)果為:
“ 假設(shè),相同能夠證明有下述結(jié)論成立:
”
所以,終于求解的Dirichlet 分布期望為:
如此,K 個(gè)topic 相應(yīng)著K條路徑,Gibbs Sampling 便在這K 條路徑中進(jìn)行採樣。例如以下圖所看到的:


浙公網(wǎng)安備 33010602011771號(hào)