潛在狄利克雷分配(LDA)

潛在狄利克雷分配(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)的概率為p_i,第i種結(jié)果出現(xiàn)的次數(shù)為n_i。如果用隨機(jī)變量\mathbf {X=\{X_1,X_2,\dots,X_k\}},表示試驗(yàn)所有可能結(jié)果的次數(shù),其中\mathbf X_i表示第i種結(jié)果出現(xiàn)的次數(shù),那么隨機(jī)變量\mathbf X服從多項(xiàng)分布。

若元離散隨機(jī)變量的概率密度為
\begin{aligned} P(X_1=n_1,X_2=n_2,\dots,X_k=n_k)=\frac{n!}{n_1!n_2!\dots n_k!}p_1^{n_1}p_2^{n_2}\dots p_k^{n_k} \\ =\frac{n!}{\prod_{i=1}^k n_i! } \prod_{k=1}^k p_i^{n_i} \end{aligned}
其中p=(p_1,p_2,\dots,p_k),p_i \ge 0,i=1,2,\dots,k,\sum_{i=1}^k p_i = 1, \sum_{i=1}^k n_i = n,,則稱隨機(jī)變量X服從參數(shù)為(n,p)的多項(xiàng)分布,記作X \sim Mult(n,p)

當(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ī)變量\theta = (\theta_1,\theta_2,\dots,\theta_k)的概率密度函數(shù)為
p(\theta|\alpha)=\frac{\Gamma(\sum_{i=1}^k \alpha_i)}{\prod_{i=1}^k \Gamma(\alpha_i)}\prod_{i=1}^k \theta_i^{\alpha_i-1}
其中\sum_{i=1}^k \Theta_i = 1,\Theta_i \ge 0,\alpha=(\alpha_1,\alpha_2,\dots,\alpha_k) ,\alpha_i > 0,i=1,2,\dots,k,稱隨機(jī)變量\Theta服從參數(shù)為\alpha的狄利克雷分布,記作\Theta \sim Dir(\alpha)
式中
\Gamma(s) = \int_{0}^{\infty} x^{s-1}e^{-x} ds,s > 0

具有以下性質(zhì)
\Gamma(s+1) = s\Gamma(s)
當(dāng)s是自然數(shù)時(shí),有
\Gamma(s+1) = s!

B(a) = \frac{\prod_{i=1}^k \Gamma(a_i)}{\Gamma (\sum_{i=1}^k a_i)}
則狄利克雷分布的密度函數(shù)可以寫(xiě)成
p(\Theta|a) = \frac{1}{B(a)}\prod_{k=1}^k \Theta^{a_i-1}

B(a)是規(guī)范化因子,稱為多元貝塔函數(shù)(稱為擴(kuò)展的貝塔函數(shù))。由密度函數(shù)性質(zhì)
\int \frac{\Gamma(\sum_{i=1}^k a_i)}{\prod_{i=1}^k \Gamma(a_i)}\prod_{i=1}^k\Theta^{a_i-1} d\Theta =\frac{\Gamma(\sum_{i=1}^k a_i)}{\prod_{i=1}^k \Gamma(a_i)} \int \prod_{i=1}^k\Theta^{a_i-1} =1
B(a) = \int \prod_{i=1}^k \Theta^{a_i-1} d\Theta

二.共軛先驗(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ù)\Theta的后驗(yàn)概率p(\Theta|D),對(duì)于給定樣本數(shù)據(jù)D,似然函數(shù)是
p(D|\theta)=\theta_1^{n_1}\theta_2^{n_2}\dots\theta_k^{n_k}=\prod_{i=1}^k\theta_i^{n_i}
假設(shè)隨機(jī)變量\theta服從狄利克雷分布p(\theta|a)其中a=(a_1,a_2,\dots,a_k)為參數(shù),則\theta的先驗(yàn)分布為
p(\theta|a)=\frac{\Gamma(\sum_{i=1}^k a_i)}{\prod_{i=1}^k \Gamma(a_i)}\prod_{i=1}^k \theta^{a_i-1}=\frac{1}{B(a)}\prod_{i=1}^k \theta_i^{a_i-1} = Dir(\theta|a),a>0

根據(jù)貝爺斯規(guī)則,在給定樣本數(shù)據(jù)D和參數(shù)a的條件下,\theta的后驗(yàn)概率分布是
\begin{aligned} p(\theta|D,a) = \frac{p(D|\theta)p(\theta|a)}{p(D|\alpha)} \\ =\frac{\prod_{i=1}^k \theta_i^{n_i}\frac{1}{B(a)}\theta_i^{a_i-1}}{\int \prod_{i=1}^k \theta_i^{n_i}\frac{1}{B(a)}\theta_i^{a_i-1}d\theta} \\ =\frac{1}{B(a+n)}\prod_{i=1}^k \theta_i^{a_i+n_i+1} \\ =Dir(\theta|a+n) \end{aligned}
狄利克雷的后驗(yàn)分布等于狄利克雷分布參數(shù)a=(a_1,a_2,\dots,a_k)加上多項(xiàng)分布的觀測(cè)技術(shù)n=(n_1,n_2,\dots,n_k)

三、潛在狄利克雷分配模型

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è)集合:一是單詞集合W=\{w_1,\dots,w_v,\dots,w_V\},其中w_v是第v個(gè)單詞,v=1,2,\dots,V,V是單詞個(gè)數(shù)。二是文本集合D=\{\mathbf {w_1,\dots,w_m,\dots,w_M}\},其中\mathbf w_m= \{w_{m1},\dots,w_{mn},\dots,w_mN_m\},其中w_{mn}是文本w_m的第n個(gè)單詞,n=1,2,\dots,N_m,N_m是文本w_m中單詞個(gè)數(shù)。三是話題集合Z=\{z_1,\dots,z_k,\dots,z_K\},其中,z_k是第k個(gè)話題,k=1,2,\dots,K,K是話題的個(gè)數(shù)。

每一個(gè)話題z_k是由一個(gè)單詞的條件概率分布p(w|z_k)決定的,w\in W。分布p(w|z_k)服從多項(xiàng)分布(嚴(yán)格意義上類別分布),其參數(shù)為\varphi_k。參數(shù)\varphi是V維向量\varphi_k服從狄利克雷分布(先驗(yàn)分布),其超參數(shù)為\beta。參數(shù)\varphi_k=(\varphi_{k1},\varphi_{k2}\dots,\varphi_{kV}),其中\varphi_{kv}表示z_k生成單詞w_v的概率。所有話題的參數(shù)向量構(gòu)成K*V矩陣,\mathbf \varphi = \{\varphi\}_{k=1}^K,超參數(shù)\beta也是V維向量\beta = (\beta_1,\beta_2,\dots,\beta_V)

每一個(gè)文本w_m由一個(gè)話題的條件概率分布p(z| w_m)決定,z \in Z,分布p(z|f w_m)服從多項(xiàng)分布(嚴(yán)格意義上的類別分布),其參數(shù)為\theta_m,參數(shù)\theta_m服從狄利克雷分布(先驗(yàn)分布),其超參數(shù)為a。參數(shù)\theta_m是K維向量\theta_m = (\theta_{m1},\theta_{m2},\dots,\theta_{mK}),其中\theta_m=(\theta_{m1},\theta_{m2},\dots,\theta_{mK}),其中\theta_{mk}表示文本w_m生成話題z_k的概率。所有文本構(gòu)成參數(shù)構(gòu)成一個(gè)M*K矩陣\theta = \{\theta_m\}_{m=1}^M,超參數(shù)a也是一個(gè)K維向量a=(a_1,a_2,\dots,a_K)

每一個(gè)文本w_m中的每一個(gè)單詞w_{mn}由該文本的話題分布p(z| w_m)以及所有話題的單詞分布p(w|z_k)決定

(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ù)。


images.png

結(jié)點(diǎn)a,\beta表示模型的超參數(shù),結(jié)點(diǎn)\varphi_k表示話題的單詞分布的參數(shù),結(jié)點(diǎn)\theta_m表示文本的話題分布的參數(shù),結(jié)點(diǎn)z_{mn}表示話題,結(jié)點(diǎn)w_{mn}表示單詞。結(jié)點(diǎn)\beta指向結(jié)點(diǎn)\varphi_k,重復(fù)K次,表示根據(jù)超參數(shù)\beta生成K個(gè)話題的單詞分布參數(shù)\varphi_k;結(jié)點(diǎn)a指向結(jié)點(diǎn)\theta_m,重復(fù)M次,表示根據(jù)超參數(shù)a生成M個(gè)文本的話題分布參數(shù)\theta_m;結(jié)點(diǎn)\theta_m指向z_{mn},重復(fù)N詞,表示根據(jù)文本的話題分布\theta_m生成N_m個(gè)話題z_{mn};結(jié)點(diǎn)z_{mn}指向結(jié)點(diǎn)w_{mn},同時(shí)K個(gè)結(jié)點(diǎn)\varphi_k也指向結(jié)點(diǎn)w_{mn},表示根據(jù)話題z_{wn}以及K個(gè)話題的單詞\varphi_k生成單詞w_{mn}。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í),給定文本(單詞序列)的集合D=\{{w_1,\dots,w_m,\dots,w_M}\},其中w_m是第m個(gè)文本集合的單詞序列,即w = (w_{m1},w_{m2},\dots,w_{mn},\dots,w_{mN}),超參數(shù)a,\beta已知。目標(biāo)是要推斷

  1. 話題序列集合的后驗(yàn)概率
  2. 參數(shù)\theta
  3. 參數(shù)\varphi
    要對(duì)聯(lián)合概率分布p(w,z,\theta,\varphi|a,\beta)進(jìn)行估計(jì),其中w是觀測(cè)變量,而z,\theta,\varphi是隱變量。

吉布斯抽樣,是一種常用的馬爾科夫鏈蒙特卡羅法。為了估計(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ì)隱變量\theta,\varphi積分,得到邊緣概率分布p(w,z|a,\beta)(也是聯(lián)合分布),其中w是可觀測(cè)變量,z是不可觀測(cè)的。對(duì)后驗(yàn)概率分布p(z|w,a,\beta)進(jìn)行吉布斯抽樣,得到分布p(z|w,a,\beta)的樣本集合;再利用這個(gè)樣本集合對(duì)參數(shù)\theta\varphi進(jìn)行估計(jì),最終得到模型p(w,z,\theta,\varphi|a,\beta)所有的參數(shù)估計(jì)。

(b)算法的主要部分

(1)抽樣分布表達(dá)式

p(z|w,a,\beta)=\frac{p(w,z|a,\beta)}{p(w|a,\beta} \propto p(w,z|a,\beta)
這里變量w,a,\beta是已知的,分母相同,可以不預(yù)考慮。聯(lián)合概率分布p(z,w|a,\beta)的表達(dá)式可以進(jìn)一步分解為
p(w,z|a,\beta) = p(w|z,a,\beta)p(z|a,\beta)=p(w|z,\beta)p(z|a)
兩個(gè)因子可以分別處理

推導(dǎo)第一個(gè)因子p(w|z,\beta)的表達(dá)式
p(w|z,\varphi)=\prod_{k=1}^K\prod_{v=1}^V\varphi_{kv}^{n_{kv}}
其中\varphi_{kv}是k個(gè)話題生成單詞集合第v個(gè)單詞的概率,n_{kv}是數(shù)據(jù)中第k個(gè)話題生成第v個(gè)單詞的次數(shù)。

p(w|z,\beta)=\int p(w|z,\varphi)p(\varphi|\beta)d \varphi \\ =\int \prod_{k=1}^K\frac{1}{B(\beta)}\prod_{v=1}^V \varphi_{kv}^{n_{kv}+\beta_v-1}d\varphi \\ =\prod_{k=1}^K\frac{1}{B(\beta)}\int\prod_{v=1}^V \varphi_{kv}^{n_{kv}+\beta_v-1}d\varphi \\ =\prod_{k=1}^K \frac{B(n_k+\beta)}{B(\beta)}
其中n_k = \{n_{k1},n_{k2},\dots,n_{kV}\}

第二個(gè)因子p(z|a)的表達(dá)式也可以類似推導(dǎo)。首先
p(z|\beta) = \prod_{m=1}^M\prod_{k=1}^K \theta_{mk}^{n_{mk}}
其中\theta_{mk}是第m個(gè)文本生成第k個(gè)話題的概率,n_{mk}是數(shù)據(jù)根據(jù)第m個(gè)文本生成的第k個(gè)話題,于是
\begin{aligned} p(z|a)=\int p(z|\theta)p(\theta|a)d\theta \\ =\int \prod_{m=1}^M \frac{1}{B(a)}\prod_{k=1}^K \theta_{mk}^{n_{mk}+a_k-1}d\theta \\ = \prod_{m=1}^M \frac{1}{B(a)}\int \prod_{k=1}^K \theta_{mk}^{n_{mk}+a_k-1}d\theta \\ =\prod_{m=1}^M \frac{B(n_m+a)}{B(a)} \end{aligned}
式中n_m =\{n_{m1},n_{m2},\dots,n_{mK}\},可得
p(z,w|a,\beta)=\prod_{k=1}^K\frac{B(n_k+\beta)}{B(\beta)}*\prod_{m=1}^M\frac{B(n_m+a)}{B(a)}

(2)算法的后處理

通過(guò)吉布斯抽樣得到的分布p(z|w,a,\beta)的樣本,可以得到變量z的分配值,也可以估計(jì)變量\theta,\varphi。

  1. 參數(shù)\theta=\{\theta_m\}
    根據(jù)LDA表達(dá)式,后驗(yàn)概率滿足
    p(\theta_m|z_m,a) = \frac{1}{Z_{\theta_m}}\prod_{n=1}^N p(z_{mn}|\theta_m)P(\theta_m|a)=Dir(\theta_m|n_m+a)
    這里n_{m}=\{n_{m1},n_{m2},\dots,n_{mK}\}是第m個(gè)文本話題的計(jì)數(shù)。Z_{\theta_m}表示分布p(\theta_m,z_m|a)對(duì)變量\theta_m的邊緣化因子。于是得到參數(shù)\theta_m=\{\theta_m\}的估計(jì)式
    \theta_{mk} = \frac{n_{mk}+a_k}{\sum_{k=1}^K (n_{mk}+a_k)},m=1,2,\dots,M;k=1,2,\dots,K
  2. 參數(shù)\varphi =\{\varphi_k\}
    后驗(yàn)概率滿足p(\varphi_k|w,z,\beta) = \frac{1}{Z_{\varphi_k}}\prod_{i=1}^Ip(w_i|\varphi_k)p(\varphi_k|\beta)=Dir(\varphi_k|n_k+\beta)
    這里n_k=\{n_{k1},n_{k2},\dots,n_{kV}\}是第k個(gè)話題單詞的計(jì)數(shù),Z_{\varphi_k}表示分布p(\varphi_k,w|z,\beta)對(duì)變量\varphi_k的邊緣化因子,I是文本集合單詞序列w的單詞總數(shù),于是得到參數(shù)
    \varphi_{kv}=\frac{\varphi_{kv}+\beta_v}{\sum_{v=1}^V(n_{kv}+\beta_v},k=1,2,\dots,K;v=1,2,\dots,V

2.LDA的變分EM算法

(a)變分推理

變分推理是貝葉斯學(xué)中常用的,含隱變量模型的學(xué)習(xí)和推理方法。變分推理和馬爾科夫蒙特卡洛(MCMC)屬于不同的技巧。MCMC通過(guò)隨機(jī)抽樣的方法近似統(tǒng)計(jì)模型的后驗(yàn)概率,變分推理則通過(guò)解析的方法計(jì)算模型的后驗(yàn)概率。

變分推理的基本想法如下,假設(shè)模型是聯(lián)合桂林分布p(x,z),其中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散度意義下的近似分布q^*(z),則可以用這個(gè)分布近似p(z|x)

KL散度可以寫(xiě)成以下形式
\begin{aligned} D(q(z)||p(z|x)) = E_q[log \space q(z)]-E_q[log\space p(z|x)]\\ =E_q[log(q(z)]-E_q[log\space p(x,z)]+log \space p(x) \end{aligned}

(b)變分EM算法

將變分EM算法應(yīng)用到LDA模型的學(xué)習(xí)上,首先定義具體的變分分布,推導(dǎo)證據(jù)下界的表達(dá)式,接著推導(dǎo)變分分布的參數(shù)和LDA模型的參數(shù)的估計(jì)形式,最后給出LDA模型的變分EM算法

(1).變分下界的定義

文本的單詞序列w = \{w_1,w_2,\dots,w_N\},對(duì)應(yīng)的話題序列z = \{z_1,z_2,\dots,z_N\},以及話題分布\theta,和隨機(jī)變量{w,z}和\theta的聯(lián)合概率分布是
p(\theta,z,w|a,\varphi)=p(\theta|a)\prod_{n=1}^Np(z_n|\theta)p(w_n|z_n,\varphi)
定義基于平均場(chǎng)的變分分布
q(\theta,z|\gamma,\eta)=q(\theta|\gamma)\prod_{n=1}^Nq(z_n|\eta_n)
其中w是可觀測(cè)變量,\theta,z是隱變量,a,\varphi是參數(shù)
定義基于平均場(chǎng)的變分分布
q(\theta,z|\gamma,\eta)=q(\theta|\gamma)\prod_{n=1}^N q(z_n|\eta_n)
其中\gamma是狄利克雷分布參數(shù),\eta=(\eta_1,\eta_2,\dots,\eta_n)是多項(xiàng)分布參數(shù),變量\theta和z的各個(gè)分量都是條件獨(dú)立的,目標(biāo)是求KL散度意義下最相近的變分分布p(\theta,z|\gamma,\eta)以及近似LDA模型的后驗(yàn)概率分布p(\theta,z|w,a,\varphi)

inference_graphic_model.png

變分分布的板塊表示,LDA模型中隱變量\theta和z之間不存在依存關(guān)系,變分分布中這些依存關(guān)系被去掉,變量\theta和z條件獨(dú)立

由此可得到一個(gè)文本的證據(jù)下界
L(\gamma,\eta,a,\varphi)=E_q[log \space p(\theta,z,w|a,\varphi)]-E_q(log \space q(\theta,z|\gamma,\eta)]
所有文本的證據(jù)下界為
L_w(\gamma,\eta,a,\varphi)=\sum_{m=1}^M\{E_q[log \space p(\theta_m,z_m,w_m|a,\varphi)]-E_{q_m}[log\space p(\theta_m,z_m|\gamma_m,\eta_m)]\}
為了求證據(jù)下界L(\gamma,\eta,a,\varphi)的最大化,首先寫(xiě)出證據(jù)下界的表達(dá)式。為此展開(kāi)證據(jù)下界表達(dá)式
L(\gamma,\eta,a,\varphi)=E_q[log \space p(\theta|a)]+E_q[log \space (z|\theta)+E_q [log \space p(w|z,\varphi)]-E_q[log \space q(\theta|\gamma)-E_q[log \space q(z|\eta)]

根據(jù)變分參數(shù)\gamma和\eta,模型參數(shù)a,\varphi繼續(xù)展開(kāi),并將展開(kāi)式的每一項(xiàng)寫(xiě)成一行

\begin{aligned} L (\gamma,\eta,a,\varphi) = log \Gamma \bigg(\sum_{k=1}^K a_l\bigg)-\sum_{k=1}^K log \Gamma(a_k) +\sum_{k=1}^K(a_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l)\bigg)\bigg]+ \\ \sum_{i=1}^N\sum_{k=1}^K\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]+ \\ \sum_{n=1}^N\sum_{k=1}^K\sum_{v=1}^V \eta_{nk}w_n^vlog \space \varphi_kv -\\ log \psi\bigg(\sum_{l=1}^K\gamma_l\bigg)+\sum_{k=1}^K log \Psi(\gamma_k)-\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]-\\ \sum_{n=1}^N\sum_{k=1}^Kn_{nk} log \eta_{nk} \end{aligned}
\Psi(a_k)是對(duì)數(shù)伽馬函數(shù),即
\Psi(a_k)=\fracu0z1t8os{d_{a_k}}log\space \Gamma(a_k)

第一項(xiàng)推導(dǎo),求E_q[log \,p(\theta|a)],是關(guān)于分布p(\theta,z|\gamma,\eta)的數(shù)學(xué)期望
E_q[log\, p(\theta|a)]=\sum_{k=1}^K(a_k-1)E_q[log \, \theta_k]+log\, \Gamma\bigg(\sum_{l=1}^Ka_l\bigg)-\sum_{k=1}^Klog \,\Gamma(a_k)
其中\theta \sim Dir(\theta|\gamma)
所以E_{q(\theta|\gamma)}log\,\theta_k]=\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)
故得
E_q[log\,p(\theta|a)=log\,\Gamma\bigg(\sum_{k=1}^Ka_k\bigg)-\sum_{k=1}^Klog\,\Gamma(a_k)+\sum_{k=1}^Klog\,\Gamma(a_k)+\sum_{k=1}^K(a_k-)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]
式中a_k,\gamma_k分別表示第k個(gè)話題的狄利克雷分布參數(shù)

第二項(xiàng)推導(dǎo),求E_q[log\,p(z|\theta)]是關(guān)于分布q(\theta,z|\gamma,\eta)的數(shù)學(xué)期望
\begin{aligned} E_q[log\,p(z|\theta)]=\sum_{n=1}^N E_q[log\,p(z_n|\theta)]\\ =\sum_{n=1}^NE_{q(\theta,z_n|\gamma,\eta)}[log\,(z_n|\theta)]\\ =\sum_{n=1}^N\sum_{k=1}^Kq(z_{nk}|\eta)E_{q(\theta|\gamma)}[log\,\theta_k]\\ =\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg] \end{aligned}
式中\eta_{nk}表示文檔第n個(gè)位置的單詞由第k個(gè)話題產(chǎn)生的概率,\gamma_k表示第k個(gè)話題的狄利克雷分布參數(shù)。

第三項(xiàng)推導(dǎo),求E_q[log\,p(w|z,\varphi)]是關(guān)于分布q(\theta,z|\gamma,\eta)的數(shù)學(xué)期望
\begin{aligned} E_q[log\,p(w|z,\varphi)]=\sum_{n=1}^NE_q[log\,p(w_n|z_n,\varphi)]\\ =\sum_{n=1}^NE_{q(z_n|\eta)}[loh\,p(w_n|z_n,\varphi)]\\ =\sum_{n=1}^N\sum_{k=1}^Kq(z_{nk}|\eta)log\,p(w_n|z_{nk},\varphi)\\ =\sum_{n=1}^N\sum_{k=1}^K \sum_{v=1}^V \eta_{nk }w_n^v log\,\varphi_{kv} \end{aligned}
式中\eta_{nk}表示文檔第n個(gè)位置的單詞由第k個(gè)話題產(chǎn)生的概率,w_n^v表示在第n個(gè)位置的單詞是單詞集合的第v個(gè)單詞時(shí)取1,否則取0,\varphi_{kv}表示第k個(gè)話題生成單詞集合第v個(gè)單詞的概率

第四項(xiàng)推導(dǎo),求E_q[log\,q(\theta|\gamma)],是關(guān)于分布q(\theta,z|\gamma,\eta)的數(shù)學(xué)期望。由于\theta \sim Dir(\gamma),可以得到
E_q[log \,q(\theta|\gamma)]=log\,\Gamma\bigg(\sum_{l=1}^K\gamma_k\bigg)-\sum_{k=1}^Klog\,\Gamma(\gamma_k)+\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{k=1}^K\gamma_l\bigg)\bigg]
式中\gamma_k表示第k個(gè)話題的狄利克雷分布參數(shù)

第五項(xiàng)公式推導(dǎo),求E_q[log\,q(z|\eta)],是關(guān)于分布q(\theta,z|\gamma,\eta)的數(shù)學(xué)期望
\begin{aligned} E_q[log\,q(z|\eta)]=\sum_{n=1}^N[log\,q(z_n|\eta)]\\ =\sum_{n=1}^N E_{q(z_n|\eta)}[log\,q(z_n|\eta)]\\ =\sum_{n=1}^N\sum_{k=1}^Kvq(z_{nk}|\eta)log\,q(z_{nk}|\eta)\\ =\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}log\,\eta_{nk} \end{aligned}
式中\eta_{nk}表示文檔第n個(gè)位置的單詞由第k個(gè)話題產(chǎn)生的概率,\gamma_k表示第k個(gè)話題的狄利克雷分布參數(shù)

(2)變分參數(shù)\gamma和\eta的估計(jì)

首先通過(guò)證據(jù)下界最優(yōu)化參數(shù)\eta\eta_{nk}表示第n個(gè)位置是由第k個(gè)話題生成的概率,\sum_{l=1}^K\eta_{nl}=1,包含\eta_{nl}的約束條件最優(yōu)化問(wèn)題拉格朗日函數(shù)為
L_{[\eta_{nk}]}=\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{k=1}^K\gamma_l\bigg)\bigg]+\eta_{nk}log\,\varphi_{kv}-\eta_{nk}log\,\eta_{nk}+\lambda_n\bigg(\sum_{l=1}^K\eta_{nl}-1\bigg)
這里\varphi_{kv}第在第n個(gè)位置由第k個(gè)話題生成第v個(gè)單詞的概率

對(duì)\eta_{kv}求偏導(dǎo)數(shù)得
\frac{\partial L}{\partial \eta_{nk}}=\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)+log\,\varphi_{kv}-log\,\eta_{nk}-1+ \lambda_n
令偏導(dǎo)數(shù)為零,得到參數(shù)\eta_{nk}的估計(jì)值
\eta_{nk} \approx \varphi_{kv}exp\bigg(\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg)
接著通過(guò)證據(jù)最優(yōu)化估計(jì)參數(shù)\gamma,\gamma_k是第k個(gè)話題的狄利克雷分布參數(shù)
\begin{aligned} L_{[\gamma_k]}=\sum_{k=1}^K(a_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]+\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]-\\ =log\,\Gamma\bigg(\sum_{k=1}^K\gamma_l\bigg)+log\,\Gamma(\gamma_k)-\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\\ =\sum_{k=1}^K\bigg(\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\bigg(a_k+\sum_{n=1}^N\eta_{nk}-\gamma_k\bigg)-log\,\Gamma\bigg(\sum_{l=1}^K\gamma_l\bigg)+log\,\Gamma(\gamma_k) \end{aligned}
對(duì)\gamma求偏導(dǎo)數(shù)得
\frac{\partial L}{\partial \gamma_k}=\bigg[\Psi'(\gamma_k)-\Psi'\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\bigg(a_k+\sum_{n=1}^N\eta_{nl}-\gamma_k\bigg)
令偏導(dǎo)數(shù)為零,解得到參數(shù)\gamma_k的估計(jì)值為
\gamma_k = a_k+\sum_{n=1}^N\eta_{nk}
由此得到坐標(biāo)上升法算法估計(jì)變分參數(shù)的方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容