LDA到主題模型

2021-09-29 22:26:29 字數 2528 閱讀 6979

lda(latent dirichlet allocation)

latent – 隱

dirichlet – 狄利克雷

allocation – 分配

被認為是最早的graphical model,把變數和變數之間的關係用圖來表示

lda裡面的d就是指的dirichlet分布,它基本上就是乙個分布的分布。

dirichlet分布的公式長這樣(下圖),其中x的數量=α

\alpha

α的數量

dirichlet分布可以有多維度,它的特點是各個維度上相加的和等於1。舉個栗子:

上圖就是乙個三維的dirichlet分布。當α

\alpha

α(向量)的值取(1,1,1)的時候(左上角的圖,即第乙個圖,乙個俯檢視),它的側檢視就是右上角的圖,在紅色那個面上取點,而取到每乙個點的概率是相同的。當α

\alpha

α的值取(2,2,2)的時候,就是中間上方的那個圖,咱們可以看出顏色上有和第乙個圖不同的地方,其中約中間越黑,越黑它取點的概率就越大,而其周邊基本是白色,表示的就是取點的概率小。同理,當α

\alpha

α值取不同的時候,如下面三個圖,它們在上面取點的概率也各不相同。

再比如,第乙個圖(左上角),當我們取樣取點出乙個點的時候,它的座標是(x1, x2, x3), 這三個值相加的和等於1 (x1 + x2 + x3 = 1), 因此如果是多(n)維的話,取點的座標是(x1, x2, x3,…,xn),其加和也會是1(x1 + x2 + x3 + … + xn = 1)。所以dirichlet分布可以看成是分布的概率分布。

關於topic

現在假如我們有100份小學生的作文,每篇作文有20~30個不同的topic。這個topic不是說每篇作文那指定的topic,比如記一件難忘的事兒,不是這個,而是一堆詞的合集。

lda是乙個生成模型。說多層的貝葉斯模型。

我們假定一套文字是lda模型,我們建出來個lda,然後用現有的資料,看看能不能推測出lda裡的topic的分布和topic詞的分布

θ

\theta

θ服從dir(α

\alpha

α)分布,α

\alpha

α給定乙個k,k代表維度,k維度的α

\alpha

α這樣乙個超參的時候,我們可以生成乙個k維的向量θ

\theta

θ,這個θ

\theta

θ的各個分量的和等於1,因此我們可以把θ

\theta

θ當成乙個概率分布。

z服從p(θ

\theta

θ),意思是在給定θ

\theta

θ分布的時候,取樣乙個z,z就是乙個topic

到這一步稍微總結下:先從dirichlet分布裡取樣個θ

\theta

θ出來,再從θ

\theta

θ分布裡踩樣個z出來。z是個topic,topic裡又包含一堆詞。θ

\theta

θ如圖中最右邊圈圈裡的紅黃藍分布圖,每個顏色代表乙個topic,紅+黃+藍=1。z就是右手邊第二個圖里各種顏色的topics。但是具體這顏色(topic)裡取哪乙個詞呢,就得借助β

\beta

β了,就是左一那個圖,裡面包含了所有詞的係數。每種顏色(topic)裡都包含了一堆詞。

因此乙個詞是結合這z和β

\beta

β一起生成出來的。

當把β

\beta

β又昇華一波,讓它也有乙個上層的dirichlet分布,整個模型就成了主題模型。這時候β

\beta

β就成了另乙個超參了

topic是詞的概率分布,文字是topic的概率分布

乙個topic包含了一堆詞,其中每個詞(word)都有乙個概率,所有的詞的概率加起來是1,這個叫做******x. 同理,文字也是如此。分別是word ******x和topic ******x。

lsa 和 plsa

lsa的核心是svd(奇異值分解),plsa是在lsa的基礎上引入了概率

LDA主題模型

先定義一些字母的含義 lda以文件集合d作為輸入 會有切詞,去停用詞,取詞幹等常見的預處理,略去不表 希望訓練出的兩個結果向量 設聚成k個topic,voc中共包含m個詞 lda的核心公式如下 p w d p w t p t d 直觀的看這個公式,就是以topic作為中間層,可以通過當前的 d和 t...

主題模型LDA

某隨機實驗如果有k個可能結局a1 a2 ak,分別將他們的出現次數記為隨機變數x1 x2 xk,它們的概率分布分別是p1,p2,pk,那麼在n次取樣的總結果中,a1出現n1次 a2出現n2次 ak出現nk次的這種事件的出現概率p有下面公式 p x1 n 1,xk nk n n1 nk pn1 1.p...

LDA主題模型

最近看了一下lda的文章,寫個小結,理解正確與否有待驗證.latent dirichlet allocation lda 是三層的層次概率貝葉斯模型 生成模型 用於處理離散資料,比如文字資料.假設一共有 v 個單詞,則第 j 個單詞表示為 w 0,cdots,0,1,0,cdots,0 text 假...