0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文詳解隱含狄利克雷分布(LDA)

8g3K_AI_Thinker ? 來源:未知 ? 作者:李倩 ? 2018-07-09 14:52 ? 次閱讀

一、簡介

隱含狄利克雷分布(Latent Dirichlet Allocation,簡稱LDA)是由 David M. Blei、Andrew Y. Ng、Michael I. Jordan 在2003年提出的,是一種詞袋模型,它認(rèn)為文檔是一組詞構(gòu)成的集合,詞與詞之間是無序的。一篇文檔可以包含多個主題,文檔中的每個詞都是由某個主題生成的,LDA給出文檔屬于每個主題的概率分布,同時給出每個主題上詞的概率分布。LDA是一種無監(jiān)督學(xué)習(xí),在文本主題識別、文本分類、文本相似度計算和文章相似推薦等方面都有應(yīng)用。

本文將從貝葉公式、Gamma函數(shù)、二項分布、Beta分布、多項式分布、Dirichlet分布、共軛先驗分布、馬氏鏈及其平穩(wěn)分布、MCMC、Gibbs Sampling、EM算法、Unigram Model、貝葉斯Unigram Model、PLSA、LDA 幾方面介紹LDA模型,需要讀者具備一定的概率論和微積分知識。

二、基礎(chǔ)知識

▌1.1 貝葉公式

貝葉斯學(xué)派的最基本的觀點是:任一個未知量θ都可看作一個隨機變量,應(yīng)該用一個概率分布去描述對θ的未知狀況,這個概率分布是在抽樣前就有關(guān)于θ的先驗信息的概率陳述,這個概率分布被稱為先驗分布。

從貝葉斯觀點看,樣本的產(chǎn)生要分兩步進行,首先設(shè)想從先驗分布 p(θ) 產(chǎn)生一個樣本?θ',這一步是“老天爺”做的,人們是看不到的,故用“設(shè)想”二字。第二步是從總體分布?p(X|θ')?產(chǎn)生一個樣本,這個樣本是具體的,人們能看得到的,此樣本 X 發(fā)生的概率是與如下聯(lián)合密度函數(shù)成正比。

這個聯(lián)合密度函數(shù)是綜合了總體信息和樣本信息,常稱為似然函數(shù),記為 L(θ')。

由于θ'是設(shè)想出來的,它仍然是未知的,它是按先驗分布p(θ)產(chǎn)生的,要把先驗信息進行綜合,不能只考慮θ',而應(yīng)對θ的一切可能加以考慮,故要用p(θ)參與進一步綜合,所以樣本 X 和參數(shù)θ的聯(lián)合分布(三種可用的信息都綜合進去了):

我們的任務(wù)是要對未知數(shù)θ 作出統(tǒng)計推斷,在沒有樣本信息時,人們只能根據(jù)先驗分布對θ 作出推斷。在有樣本觀察值之后,我們應(yīng)該依據(jù)?p(X,θ)?對?θ 作出推斷,為此我們把?p(X,θ)?作如下分解:

其中p(X)是X 的邊緣密度函數(shù)。

它與θ 無關(guān),p(X) 中不含θ 的任何信息。因此能用來對θ 作出推斷的僅是條件分布 p(θ|X):

這就是貝葉斯公式的密度函數(shù)形式,在樣本 X 給定下,θ 的條件分布被稱為θ 的后驗分布。它是集中了總體、樣本和先驗等三種信息中有關(guān)θ 的一切信息,而又是排除一切與θ無關(guān)的信息之后得到的結(jié)果,故基于后驗分布p(θ|X) 對θ 進行統(tǒng)計推斷是更合理的。

一般說來,先驗分布p(θ) 是反映人們在抽樣前對θ 的認(rèn)識,后驗分布p(θ|X) 是反映人們在抽樣后對θ 的認(rèn)識,之間的差異是由于樣本的出現(xiàn)后人們對θ 認(rèn)識的一種調(diào)整,所以后驗分布p(θ|X) 可以看作是人們用總體信息和樣本信息(抽樣信息)對先驗分布p(θ) 作調(diào)整的結(jié)果。下面我們介紹三種估計方法:

1. 最大似然估計(ML)

最大似然估計是找到參數(shù)θ 使得樣本 X 的聯(lián)合概率最大,并不會考慮先驗知識,頻率學(xué)派和貝葉斯學(xué)派都承認(rèn)似然函數(shù),頻率學(xué)派認(rèn)為參數(shù)θ 是客觀存在的,只是未知。求參數(shù)θ 使似然函數(shù)最大,ML估計問題可以用下面公式表示:

通??梢粤顚?dǎo)數(shù)為 0 求得θ 的值。ML估計不會把先驗知識考慮進去,很容易出現(xiàn)過擬合的現(xiàn)象。我們舉個例子,拋一枚硬幣,假設(shè)正面向上的概率為 p,拋了 N 次,正面出現(xiàn)次,反面出現(xiàn)次,c=1?表示正面,c=0? 表示反面,我們用 ML 估計:

如果?,?,則?,似乎比我們認(rèn)知的 0.5 高了很多。

2. 最大后驗估計(MAP)

MAP 是為了解決 ML 缺少先驗知識的缺點,剛好公式 (5) 后驗概率集中了樣本信息和先驗信息,所以 MAP 估計問題可以用下面公式表示:

MAP 不僅希望似然函數(shù)最大,還希望自己出現(xiàn)的先驗概率也最大,加入先驗概率,起到正則化的作用,如果θ 服從高斯分布,相當(dāng)于加一個 L2 范數(shù)正則化,如果θ 服從拉普拉斯分布,相當(dāng)于加一個 L1 范數(shù)正則化。我們繼續(xù)前面拋硬幣的例子,大部分人認(rèn)為應(yīng)該等于0.5,那么還有少數(shù)人認(rèn)為 p 取其他值,我們認(rèn)為 p 的取值服從 Beta 分布。

我們?nèi)?α=5,β=5,即 p 以最大的概率取0.5,得到。

3. 貝葉斯估計

前面介紹的 ML 和 MAP 屬于點估計,貝葉斯估計不再把參數(shù)θ 看成一個未知的確定值,而是看成未知的隨機變量,利用貝葉斯定理結(jié)合新的樣本信息和參數(shù)θ 的先驗分布,來得到θ 的新的概率分布(后驗分布)。貝葉斯估計的本質(zhì)是通過貝葉斯決策得到參數(shù)θ 的最優(yōu)估計,使得貝葉斯期望損失最小。貝葉斯期望損失為:

是損失函數(shù),我們希望?最小。如果?,則:

所以貝葉斯估計值為在樣本 X 條件下θ 的期望值,貝葉斯估計的步驟為:

確定參數(shù)θ 的先驗分布 P(θ)

利用貝葉斯公式,求θ的后驗分布:

求出貝葉斯的估計值:

我們繼續(xù)前面的拋硬幣的例子,后驗概率:

其中,所以可以得:

▌1.2 Gamma函數(shù)

通過分部積分的方法,可以得到一個遞歸性質(zhì)。

函數(shù)可以當(dāng)成是階乘在實數(shù)集上的延拓,。

▌1.3 二項分布

在概率論中,試驗 E 只有兩個可能結(jié)果: A 及,則稱E 為伯努利(Bernoulli)試驗。設(shè) p(A)=p,則。將 E 獨立重復(fù)地進行 n 次,則稱這一串重復(fù)的獨立試驗為 n 重伯努利試驗,這里重復(fù)是指在每次試驗中?p(A)=p?保持不變,獨立是指各次試驗的結(jié)果互不影響。以 X 表示 n 重伯努利試驗中事件 A 發(fā)生的次數(shù),稱隨機變量 X 服從參數(shù)為 n,p 的二項分布,記為X~B(n,p) 。

▌1.4 Beta分布

Beta分布是指一組定義在(0,1)區(qū)間的連續(xù)概率分布,其概率密度函數(shù)是:

1)

證明:

令 t=x+y,當(dāng) y=0,t=x ; y=∞,t=∞,可得:

令 x=μt,可得:

2)期望

證明:

▌1.5 多項式分布

多項式分布是二項式分布的推廣,二項式分布做 n 次伯努利試驗,規(guī)定每次試驗的結(jié)果只有兩個,而多項式分布在 N 次獨立試驗中結(jié)果有 K 種,且每種結(jié)果都有一個確定的概率 p,仍骰子是典型的多項式分布。

其中

▌1.6 Dirichlet分布

Dirichlet 分布是 Beta 分布在高維度上的推廣,概率密度函數(shù)是:

▌1.7 共軛先驗分布

在貝葉斯中,如果后驗分布與先驗分布屬于同類分布,則先驗分布與后驗分布被稱為共軛分布,而先驗分布被稱為似然函數(shù)的共軛先驗。

1.Beta-Binomial共軛

1)先驗分布

2)二項式似然函數(shù)

3)后驗分布

即可以表達為

取一個特殊情況理解

Beta(p|1,1)恰好是均勻分布 uniform(0,1) ,假設(shè)有一個不均勻的硬幣拋出正面的概率為 p,拋出 n 次后出現(xiàn)正面和反面的次數(shù)分別是 n1 和 n2 ,開始我們對硬幣不均勻性一無所知,所以應(yīng)該假設(shè) p~uniform(0,1) ,當(dāng)有了試驗樣本,我們加入樣本信息對 p 的分布進行修正, p 的分布由均勻分布變?yōu)锽eta 分布。

2.Dirichlet-Multinomial共軛

1)先驗分布

2)多項分布似然函數(shù)

3)后驗分布

即可以表達為

▌1.8 馬氏鏈及其平穩(wěn)分布

馬氏鏈的數(shù)學(xué)定義很簡單,狀態(tài)轉(zhuǎn)移的概率只依賴于前一個狀態(tài)。

看一個馬氏鏈的具體例子,馬氏鏈表示股市模型,共有三種狀態(tài):牛市(Bull market)、熊市(Bear market)、橫盤(Stagnant market),每一個轉(zhuǎn)態(tài)都以一定的概率轉(zhuǎn)化到下一個狀態(tài),如圖1.1所示。

圖1.1

這個概率轉(zhuǎn)化圖可以以矩陣的形式表示,如果我們定義矩陣 P 某一位置 (i,j) 的值為P(j|i),表示從狀態(tài) i 轉(zhuǎn)化到狀態(tài) j的概率,這樣我們可以得到馬爾科夫鏈模型的狀態(tài)轉(zhuǎn)移矩陣為:

假設(shè)初始概率分布為

從第60輪開始的值保持不變,為[0.625? 0.3125? 0.0625]? 。我們更改初始概率,,從55輪開始

的值保持不變,為[0.625 0.3125 0.0625]。兩次給定不同的初始概率分布,最終都收斂到概率分布π=[0.625 0.3125 0.0625] ,也就是說收斂的行為和初始概率分布π0 無關(guān),這個收斂的行為主要是由概率轉(zhuǎn)移矩陣 P 決定的,可以計算下。

當(dāng) n 足夠大的時候,矩陣的每一行都是穩(wěn)定地收斂到?π=[0.625? 0.3125? 0.0625]? 這個概率分布。這個收斂現(xiàn)象并不是這個馬氏鏈獨有的,而是絕大多數(shù)馬氏鏈獨有的。關(guān)于馬氏鏈的收斂有如下定理:

定理1.1如果一個非周期馬氏鏈具有轉(zhuǎn)移概率矩陣 P,且它的任何兩個狀態(tài)是連通的,那么存在且與 i 無關(guān),我們有:?

關(guān)于上述定理,給出幾點解釋:

1) 馬氏鏈的狀態(tài)數(shù)可以是有限的,也可以是無限的,因此可以用于連續(xù)概率分布和離散概率分布。

2) 非周期馬氏鏈:馬氏鏈的狀態(tài)轉(zhuǎn)化不是循環(huán)的,如果是循環(huán)的則永遠不會收斂,我們遇到的一般都是非周期馬氏鏈。對于任意某一狀態(tài)i,d 為集合的最大公約數(shù),如果 d=1,則該狀態(tài)為非周期。?

3) 任何兩個狀態(tài)是連通的:從任意一個狀態(tài)可以通過有限步到達其他的任意狀態(tài),不會出現(xiàn)條件概率一直為0導(dǎo)致不可達的情況。

4)π稱為馬氏鏈的平穩(wěn)分布。

如果從一個具體的初始狀態(tài) x0 開始,沿著馬氏鏈按照概率轉(zhuǎn)移矩陣做跳轉(zhuǎn),那么可以得到一個轉(zhuǎn)移序列,由于馬氏鏈的收斂行為,都將是平穩(wěn)分布?π(x)?的樣本。

▌1.9 MCMC

1. 接受-拒絕采樣

對于不常見的概率分布π(x) 樣本,使用接受-拒絕采樣對可采樣的分布 q(x) 進行采樣得到,如圖1.2所示,采樣得到 Mq(x) 的一個樣本 x0,從均勻分布 (0,Mq(x0))中采樣得到一個值μ0 ,如果μ0 落在圖中灰色區(qū)域則拒絕這次采樣,否則接受樣本 x0,重復(fù)上面過程得到 n 個接受的樣本,則這些樣本服從π(x)分布,具體過程見算法1.1。

圖1.2

下面我們來證明下接受-拒絕方法采樣得到的樣本服從π(x) 分布。

證明:accept x 服從π(x) 分布,即 p(x|accept) =π(x)。

2. MCMC

給定概率分布 p(x),希望能夠生成它對應(yīng)的樣本,由于馬氏鏈能收斂到平穩(wěn)分布,有一個很好的想法:如果我們能構(gòu)造一個轉(zhuǎn)移矩陣為 P 的馬氏鏈,使得該馬氏鏈的平穩(wěn)分布恰好是p(x),那么我們從任何一個初始狀態(tài)出發(fā)沿著馬氏鏈轉(zhuǎn)移,得到一個轉(zhuǎn)移序列,如果馬氏鏈在第 n 步已經(jīng)收斂了,于是我們可以得到?p(x) 的樣本?,所以關(guān)鍵問題是如何構(gòu)造轉(zhuǎn)移矩陣 ,我們是基于下面的定理。

定理1.2(細致平穩(wěn)條件)如果非周期馬氏鏈的轉(zhuǎn)移矩陣 P 和分布π(x) 滿足:

則π(x) 是馬氏鏈的平穩(wěn)分布。

證明很簡單,有公式(34)得:

πP=π,滿足馬氏鏈的收斂性質(zhì)。這樣我們就有了新的思路尋找轉(zhuǎn)移矩陣 P,即只要我們找到矩陣 P 使得概率分布π(x) 滿足細致平穩(wěn)條件即可。

假設(shè)有一個轉(zhuǎn)移矩陣為 Q 的馬氏鏈(Q(i,j) 表示從狀態(tài) i 轉(zhuǎn)移到狀態(tài) j 的概率),通常情況下很難滿足細致平穩(wěn)條件的,即:

我們對公式(36)進行改造,使細致平穩(wěn)條件成立,引入 α (i,j) 。

α(i,j)如何取值才能使公式(37)成立?最簡單的我們可以?。?/p>

Q' (i,j)=Q (i,j)α(i,j) ,Q' (j,i)=Q (j,i)α(j,i) ,所以我們有:

轉(zhuǎn)移矩陣 Q' 滿足細致平穩(wěn)條件,因此馬氏鏈Q(jìng)' 的平穩(wěn)分布就是π(x)!

我們可以得到一個非常好的結(jié)論,轉(zhuǎn)移矩陣Q' 可以通過任意一個馬氏鏈轉(zhuǎn)移矩陣 Q 乘以α(i,j) 得到, α(i,j)一般稱為接受率,其取值范圍為[0,1] ,可以理解為一個概率值,在原來的馬氏鏈上,從狀態(tài) i 以Q (i,j) 的概率跳轉(zhuǎn)到狀態(tài) j 的時候,我們以一定的概率α(i,j) 接受這個轉(zhuǎn)移,很像前面介紹的接受-拒絕采樣,那里以一個常見的分布通過一定的接受-拒絕概率得到一個不常見的分布,這里以一個常見的馬氏鏈狀態(tài)轉(zhuǎn)移矩陣Q通過一定的接受-拒絕概率得到新的馬氏鏈狀態(tài)轉(zhuǎn)移矩陣Q'。

圖1.3

總結(jié)下MCMC的采樣過程。

MCMC采樣算法有一個問題,如果接受率α(xt,x') 比較小,馬氏鏈容易原地踏步,拒絕大量的跳轉(zhuǎn),收斂到平穩(wěn)分布π(x) 的速度很慢,有沒有辦法可以使α(xt,x')變大?

3. M-H采樣

M-H采樣可以解決MCMC采樣接受概率過低問題,回到公式(37),若α(i,j)=0.1,α(j,i)=0.2,即:

公式(40)兩邊同時擴大5倍,仍然滿足細致平穩(wěn)條件,即:

所以我們可以把公式(37)中的α(i,j) 和α(j,i) 同比例放大,使得其中最大的放大到 1,這樣提高了采樣中的接受率,細致平穩(wěn)條件也沒有打破,所以可以取:

提出一個問題:按照MCMC中介紹的方法把 Q→Q' ,是否可以保證Q' 每行加和為1?

▌1.10 Gibbs Sampling

對于高維的情形,由于接受率α≤1,M-H 算法效率不夠高,我們能否找到一個轉(zhuǎn)移矩陣 Q 使得接受率α=1 呢?從二維分布開始,假設(shè)p(x,y) 是一個二維聯(lián)合概率分布,考察某個特征維度相同的兩個點 A(x1,y1) 和 B(x1,y2) ,容易發(fā)現(xiàn)下面等式成立:

所以可得:

也就是:

觀察細致平穩(wěn)條件公式,我們發(fā)現(xiàn)在 x=x1 這條直線上,如果用條件分布p(y|x1) 作為任何兩點之間的轉(zhuǎn)移概率,那么任何兩點之間的轉(zhuǎn)移都滿足細致平穩(wěn)條件。同樣的,在 y=y1 這條直線上任取兩點 A(x1,y1) 和 C(x2,y1) ,我們可以得到:

圖1.4

基于上面的發(fā)現(xiàn),我們可以構(gòu)造分布 p(x,y) 的馬氏鏈的狀態(tài)轉(zhuǎn)移矩陣 Q。

有了上面的轉(zhuǎn)移矩陣 Q ,很容易驗證對于平面任意兩點 X,Y,都滿足細致平穩(wěn)條件。

所以這個二維空間上的馬氏鏈將收斂到平穩(wěn)分布p(x,y),稱為Gibbs Sampling 算法。

整個采樣過程中,我們通過輪換坐標(biāo)軸,得到樣本(x0,y0),(x0,y1),(x1,y1),... ,馬氏鏈?zhǔn)諗亢?,最終得到的樣本就是p(x,y)的樣本。當(dāng)然坐標(biāo)軸輪換不是必須的,我們也可以每次隨機選擇一個坐標(biāo)軸進行采樣,在 t 時刻,可以在 x 軸和 y 軸之間隨機的選擇一個坐標(biāo)軸,然后按照條件概率做轉(zhuǎn)移。

圖1.5

二維可以很容易推廣到高維的情況,在 n 維空間中對于概率分布p(x1,x2,...xn) 。

▌1.11 EM算法

我們先介紹凸函數(shù)的概念,f的定義域是實數(shù)集,若x∈R且f''(x)≥0,則 f是凸函數(shù),若f''(x)>0,則f是嚴(yán)格凸函數(shù);若x是向量且 hessian 矩陣H是半正定矩陣,則f是凸函數(shù),若H是正定矩陣,則f是嚴(yán)格凸函數(shù)。

定理1.3(Jensen不等式)f的定義域是實數(shù)集,且是凸函數(shù),則有:

如果f是嚴(yán)格凸函數(shù),只有當(dāng) X 是常量,公式(49)等式成立即E[f(X)]=f(E[X])。

圖1.6

假設(shè)訓(xùn)練集,每個樣本相互獨立,我們需要估計模型?p(x,z) 的參數(shù)?θ,由于含有隱變量?z,所以很難直接用最大似然求解,如果?z 已知,那么就可以用最大似然求解。

其實我們的目標(biāo)是找到 z 和θ使 l(θ) 最大,也就是分別對 Z 和θ求偏導(dǎo),然后令其為 0,理想是美好的,現(xiàn)實是殘酷的,公式(49)求偏導(dǎo)后變的很復(fù)雜,求導(dǎo)前要是能把求和符號從對數(shù)函數(shù)中提出來就好了。EM算法可以有效地解決這個問題,引入?表示?的概率分布。由公式(50)可得:

最后一步是利用 Jensen 不等式所以 f 是凹函數(shù),

的期望,所以有:

由公式(51)可知,我們可以不斷地最大化下界,以提高 l(θ),最終達到最大值。如果固定 θ,那么l(θ) 的下界就取決于,可以通過調(diào)整這個概率,使得下界不斷地上升逼近 ?l(θ),最終相等,然后固定,調(diào)整 θ,使下界達到最大值,此時?θ 為新的值,再固定 θ,調(diào)整,反復(fù)直到收斂到?l(θ) 的最大值。現(xiàn)在我們有兩個問題需要證明,1. 下界何時等于 l(θ);2. 為什么可以收斂到最大值。

第一個問題,由Jensen不等式定理中等式成立條件可知,X 為常量,即:

再由得:

下面我們先給出 EM 算法,然后再討論第二個問題,E步:固定 θ,根據(jù)公式(53)選擇 Qi 使得下界等于 l(θ),M步:最大化下界,得到新的θ 值。EM算法如下:

在我們開始討論第二個問題,是EM迭代過程的參數(shù)估計,我們需要證明,也就是EM算法是單調(diào)地提高。

第一個不等式是因為:

公式(57)中,。

第二個不等式是因為是為了

三、LDA

▌2.1 Unigram Model

假設(shè)我們的詞典中一共有 V 個詞,Unigram Model就是認(rèn)為上帝按照下面游戲規(guī)則產(chǎn)生文本的。

Game 2.1 Unigram Model

骰子各個面的概率記為,對于一篇文檔,生成該文檔的概率為:

假設(shè)我們預(yù)料是由 m 篇文檔組成即,每篇文檔是相互獨立的,則該預(yù)料的概率為:

假設(shè)預(yù)料中總共有 N 個詞,每個詞 wi 的詞頻為 ni,那么服從多項式分布,可參考1.5節(jié)的多項式分布概念。

此時公式(60)為:

我們需要估計模型中的參數(shù),可以用最大似然估計:

于是參數(shù) pk 的估計值就是:

▌2.2 貝葉斯Unigram Model

對于以上模型,統(tǒng)計學(xué)家中貝葉斯學(xué)派就不同意了,為什么上帝只有一個固定的篩子呢,在貝葉斯學(xué)派看來,一切參數(shù)都是隨機變量,模型中不是唯一固定的,而是服從一個分布,所以貝葉斯Unigram Model游戲規(guī)則變?yōu)椋?/p>

Game 2.2 貝葉斯Unigram Model

上帝這個壇子里面有些骰子數(shù)量多,有些骰子數(shù)量少,所以從概率分布的角度看,壇子里面的骰子服從一個概率分布,這個分布稱為參數(shù)的先驗分布。先驗分布?是服從多項式分布的,,回顧1.7節(jié)可知,

于是,在給定了參數(shù)時候,語料中各個詞出現(xiàn)的次數(shù)服從多項式分布,所以后驗分布為:

對參數(shù)分布??梢杂? 的期望值作為參數(shù)?

接下來我們計算語料產(chǎn)生的概率,開始并不知道上帝到底用哪個骰子,所以每個骰子都有可能被使用,使用的概率由決定的,對于每個具體的骰子,由該骰子產(chǎn)生預(yù)料的概率為,所以語料產(chǎn)生的概率為:

▌2.3 PLSA

1. PLSA Model

概率隱語義分析,是主題模型的一種。上面介紹的Unigram Model相對簡單,沒有考慮文檔有多個主題的情況,一般一篇文檔可以由多個主題(Topic)組成,文檔中的每個詞都是由一個固定的Topic生成的,所以PLSA的游戲規(guī)則為:

2. EM算法推導(dǎo)PLSA

PLSA 模型中 doc-topic 和 topic-word 的每個面的概率值是固定的,所以屬于點估計,但是PLSA模型既含有觀測變量di,wj,又含有隱變量 zk,就不能簡單地直接使用極大似然估計法估計模型參數(shù),我們可以采用EM算法估計參數(shù)。我們先介紹推導(dǎo)過程用到的符號含義:

:表示語料中 N 篇文檔;

:表示語料中 M 個詞組;

:表示詞 wj 在文檔 di 中出現(xiàn)的頻次,;

:表示 K 個主題,每篇文檔可以有多個主題;

wj 在給定文檔?di 中出現(xiàn)的概率;

:表示主題 zk 在給定文檔?di 下出現(xiàn)的概率;

:表示詞?wj? 在給定主題?zk 下出現(xiàn)的概率。

一般給定語料di,wj是可以觀測的,zk 是隱變量,不可以直觀地觀測到。我們定義“doc-word”的生成模型,如圖1.8所示。

圖2.3

下面進入正題,用EM算法進行模型參數(shù)估計,似然函數(shù)為:

對于給定訓(xùn)練預(yù)料,希望公式 (69) 最大化。

引入表示 zk 的概率分布

,根據(jù)Jensen不等式得:

當(dāng)

時,

公式(71)不等式中等號成立,所以只需要最大化:

根據(jù)拉格朗日乘子法

所以可得:

總結(jié)EM算法為:

1.E-step 隨機初始化變量 ,計算隱變量后驗概率。

2.M-step 最大化似然函數(shù),更新變量,

3.重復(fù)1、2兩步,直到收斂。

▌2.4 LDA

對于 PLSA 模型,貝葉斯學(xué)派表示不同意,為什么上帝只有一個 doc-topic 骰子,為什么上帝只有固定 K 個topic-word骰子?是模型的參數(shù),一切參數(shù)都是隨機變量,模型中不是唯一固定的,類似 2.2 節(jié)貝葉斯 Unigram Model 和 2.1 節(jié) Unigram Model 的關(guān)系。所以 LDA 游戲規(guī)則為:

假設(shè)我們訓(xùn)練語料有 M 篇 doc,詞典中有 V 個word,K 個topic。對于第m 篇文檔有 Nm 個詞。

,第 m 篇文檔的主題分布概率,

;

,主題為 k 的詞的概率分布,;

:第 m 篇文檔中屬于 topic k 的詞的個數(shù),

;

:topic k 產(chǎn)生詞 t 的個數(shù),

;

先驗分布超參數(shù);

先驗分布超參數(shù);

:第 m 篇文檔中第 n 個詞的主題;

:第 m 篇文檔中第 n 個詞。

LDA的概率圖模型表示如圖2.4所示。

圖2.4

1. 聯(lián)合概率分布

1):第一步對?分布進行采樣得到樣本(也就是從第一個壇子中抽取 doc-topic 骰子 );第二步 doc-topic 骰子有 K 個面,每個面表示一個主題,那么在一次投擲骰子過程中,每個主題的概率為

,第 m 篇文檔有Nm個詞,所以需要投擲Nm 次骰子,為該篇文檔中的每個詞生成一個主題, 第 n 個詞對應(yīng)的主題為

,整篇文檔的主題表示為。在?Nm 次投擲過程中,每個主題出現(xiàn)的次數(shù)為

,那么服從多項式分布(只生成每個詞的主題,并未由主題產(chǎn)生具體的詞)??梢圆捎秘惾~斯估計對參數(shù)?進行估計。

?的先驗分布為?

后驗分布為(推導(dǎo)過程可以參考1.7節(jié))

的貝葉斯估計值為

下面我們計算第 m 篇文檔的主題概率分布:

整個語料中的 M 篇文檔是相互獨立的,所以可以得到語料中主題的概率為:

2)

:第一步對分布進行 K?采樣得到樣本(從第二個壇子中獨立地抽取了 K 個topic-word骰子);第二步根據(jù)之前得到的主題,為每個?生成對應(yīng)的詞,

,第 k 個主題有個詞,所以需要投擲?

,那么服從多項式分布,可以采用貝葉斯估計對參數(shù)?進行估計。

的先驗分布為?

后驗分布為(推導(dǎo)過程可以參考1.7節(jié))

的貝葉斯估計值為

下面我們計算第k 個主題的詞概率分布:

整個語料中的 K 個主題是相互獨立的,所以可以得到語料中詞的概率為:

由公式(74)、(78)、(82) 可得聯(lián)合概率分布為:

2. Gibbs Sampling

上面我們已經(jīng)推導(dǎo)出參數(shù)的貝葉斯估計公式,但是仍然存在一個問題,公式中的無法根據(jù)語料直接得到,如果我們知道語料中的每個詞的主題,即得到,那么就可以推斷出,進一步就可以得出貝葉斯的參數(shù)估計。我們需要利用 Gibbs Sampling 對?進行采樣來得到

。 先介紹一些符號定義。

下標(biāo)索引;

:表示去除下標(biāo)為 i 的詞;

:第 m 篇文檔中第 n 個詞為 t;

:第 m 篇文檔中第 n 個詞的主題為 k;

:除去下標(biāo)為 i 這個詞,剩下的所有詞中,詞 t 屬于主題 k 的統(tǒng)計次數(shù),

(這里假設(shè));

:除去下標(biāo)為 i 的這個詞,第 m 篇文檔中主題 m 產(chǎn)生詞的個數(shù),?

(這里假設(shè));:語料的主題;

:語料的單詞。

1)的計算過程類似,僅僅在計算的時候不考慮下標(biāo)為 i 的這個詞,我們假設(shè);當(dāng)已知語料時,可以從語料中統(tǒng)計出來,所以可以認(rèn)為是常量。

2)我們是推斷 i=(m,n)詞 t 的主題為 k 的條件概率

我們再利用另外一種方法推導(dǎo)條件概率:

已經(jīng)推導(dǎo)出條件概率,可以用Gibbs Sampling公式進行采樣了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4256

    瀏覽量

    62223
  • 文本分類
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    7283
  • LDA
    LDA
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    10580

原文標(biāo)題:干貨 | 一文詳解隱含狄利克雷分布(LDA)

文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    實現(xiàn)遜準(zhǔn)則

    求用LabView實現(xiàn)遜準(zhǔn)則算法的
    發(fā)表于 03-24 14:13

    量子力學(xué)

    量子力學(xué):量子力學(xué)的內(nèi)容:態(tài)的迭加原理,力學(xué)變量與可觀察量,表像理論等內(nèi)容。
    發(fā)表于 11-27 14:18 ?0次下載
    <b class='flag-5'>狄</b>拉<b class='flag-5'>克</b>量子力學(xué)

    基于LDA主題模型的移動應(yīng)用的相似度矩陣

    載量、應(yīng)用名稱、應(yīng)用分類等。針對推薦粒度過粗和推薦不準(zhǔn)確的問題,提出了種基于潛在分布
    發(fā)表于 12-04 09:39 ?0次下載
    基于<b class='flag-5'>LDA</b>主題模型的移動應(yīng)用的相似度矩陣

    大規(guī)模分布式機器學(xué)習(xí)系統(tǒng)分析

    針對構(gòu)建大規(guī)模機器學(xué)習(xí)系統(tǒng)在可擴展性、算法收斂性能、運行效率等方面面臨的問題,分析了大規(guī)模樣本、模型和網(wǎng)絡(luò)通信給機器學(xué)習(xí)系統(tǒng)帶來的挑戰(zhàn)和現(xiàn)有系統(tǒng)的應(yīng)對方案。以隱含
    發(fā)表于 12-05 19:02 ?0次下載
    大規(guī)模<b class='flag-5'>分布</b>式機器學(xué)習(xí)系統(tǒng)分析

    基于隱含分配LDA分類特征擴展的廣告過濾方法

    傳統(tǒng)的微博廣告過濾方法忽略了微博廣告文本的數(shù)據(jù)稀疏性、語義信息和廣告背景領(lǐng)域特征等因素的影響。針對這些問題,提出種基于隱含分配(
    發(fā)表于 12-14 14:55 ?0次下載

    種融合圖像紋理結(jié)構(gòu)信息的LDA扣件檢測模型

    針對潛在分布LDA)模型忽略圖像結(jié)構(gòu)的問題,提出
    發(fā)表于 12-25 13:55 ?0次下載
    <b class='flag-5'>一</b>種融合圖像紋理結(jié)構(gòu)信息的<b class='flag-5'>LDA</b>扣件檢測模型

    種細粒度的面向產(chǎn)品屬性的用戶情感模型

    (USM)。首先,利用分層過程(HDP)將名詞實體聚類形成產(chǎn)品屬性并自動獲取其數(shù)量;然后,結(jié)合產(chǎn)品屬性中名詞實體的權(quán)重和評價短語以及情感詞典作為先驗,利用潛在
    發(fā)表于 12-26 10:29 ?0次下載

    基于LDA主題模型進行數(shù)據(jù)源選擇方法

    基于數(shù)據(jù)源的樣本文檔集和查詢之間的關(guān)鍵詞匹配,通常無法很好地解決少量樣本文檔的信息缺失問題。針對這問題,提出了基于隱含
    發(fā)表于 01-04 15:00 ?0次下載
    基于<b class='flag-5'>LDA</b>主題模型進行數(shù)據(jù)源選擇方法

    如何使用多項分配模型進行多源文本主題挖掘模型

    多項分配( DMA)模型的多源文本主題挖掘模型——多源多項分配模型(MSDMA)。通過考慮主題在不同數(shù)據(jù)源的詞分布的差異性,結(jié)合DM
    發(fā)表于 11-27 17:30 ?4次下載
    如何使用<b class='flag-5'>狄</b><b class='flag-5'>利</b><b class='flag-5'>克</b><b class='flag-5'>雷</b>多項分配模型進行多源文本主題挖掘模型

    基于問題的動態(tài)劃分算法

    傳統(tǒng)靜態(tài)的路網(wǎng)控制子區(qū)劃分算法難以適應(yīng)復(fù)雜路網(wǎng)中交通流動態(tài)變化的特性。為此,基于問題提岀種動態(tài)劃分算法。根據(jù)密度峰值理論重新定義局
    發(fā)表于 03-16 10:34 ?18次下載
    基于<b class='flag-5'>狄</b><b class='flag-5'>利</b><b class='flag-5'>克</b><b class='flag-5'>雷</b>問題的動態(tài)劃分算法

    尺寸-下載生產(chǎn)代碼

    尺寸-下載生產(chǎn)代碼
    發(fā)表于 03-23 13:01 ?4次下載
    <b class='flag-5'>狄</b>拉<b class='flag-5'>克</b>尺寸-下載生產(chǎn)代碼

    基于過程的可擴展高斯混合模型

    針對使用高斯混合模型的圖像先驗建模中分量數(shù)目難以擴展的問題,構(gòu)建基于過程的可擴展高斯混合模型。通過聚類分量的新增及歸并機制,使模型復(fù)雜度根據(jù)數(shù)據(jù)規(guī)模自適應(yīng)變化,從而增強先驗?zāi)P?/div>
    發(fā)表于 04-29 11:17 ?7次下載
    基于<b class='flag-5'>狄</b><b class='flag-5'>利</b><b class='flag-5'>克</b><b class='flag-5'>雷</b>過程的可擴展高斯混合模型

    基于神經(jīng)網(wǎng)絡(luò)與隱含分配的文本分類

    傳統(tǒng)隱含分配(LDA)主題模型在文本分類計算時利用 Gibbs sg擬合已知條件
    發(fā)表于 05-25 15:20 ?1次下載

    基于Spark的學(xué)術(shù)論文熱點數(shù)據(jù)挖掘方法

    通過優(yōu)化 Spark mllib機器學(xué)習(xí)庫中的隱含分布
    發(fā)表于 06-02 14:47 ?4次下載

    抖動按鍵技術(shù)及雙模型綜述

    抖動按鍵技術(shù)及雙模型綜述
    發(fā)表于 07-16 14:15 ?2次下載