Generative Models for Document(文章的產生模型)
這裡的Document(文章)是包括兩部分:文章的作者集合,組成文章內容的單詞集合。例如:
Document 1表示為:
Document 2表示為:
我們將Document d的作者集合表示為,內容的單詞集合表示為。如 = {張三,李四} , = { good good study day day up } ;
= {王五,李四} , ={ search knowledge read more books }。
D 個 Document的集合C就可以表示為:
C = {(,), (,), ……,(,)}。
下面解釋什麼是Generative Models for Document(文章產生模型)?
在我們的Author Topic Model(作者主題模型)中,每個author都對應一個在topics上的多項分布 ,每個topic都對應一個在word(單詞)上的多項分布。
那麼一個Document d的內容是如何產生的?
對於Document d中的每個word(單詞),首先從(作者集合)中等機率選擇一個作者,然後根據此作者在Topics上的機率分布,隨機播放一個Topic,最後根據這個Topic在words(單詞)上的機率分布,隨機產生這個單詞。
如果Document d 中的單詞有個,這個過程要重複次。
每個Document都這麼做便產生了整個資料集合。
我們用個例子也解釋這個過程。
Document 1表示為:
對於第一個單詞good,它是這麼產生的:從= {張三,李四}中等機率隨機播放一個作者,假設選中了“張三”,然後根據張三在Topics上的機率分布(0.1,0.6,0.3)隨機播放一個Topic,選中Topic2的可能性較大,假設選中了Topic2。再根據Topic2在words上的機率分布,選擇word(單詞),這次正好選中了“good”。
Author Topic Model 認為所有Document的內容都是這樣產生的。而我們面臨的問題是,如果我們認可我們的資料集就是這麼產生的,反過來我們要推斷這個產生過程是怎樣的,即估計每個作者在Topic上的機率是如何分布的,每個Topic在word(單詞)上的機率是如何分布的。
Graph Model(圖模型)
下面我們討論Author Topic Model的Graph Model
我們這樣理解這幅圖:
箭頭理解為變數之間的條件依賴,
條件依賴於w,或者說w機率產生。方框表示重複採樣(產生),次數在右下角標識,如,重複採樣了N次。
在Author Topic Model中,Document(文章)中的單詞w,和共同作者都是已知的,或者說是可觀察的,在圖上表示為有填充的圓。
每個author都對應一個在topics上的多項分布 ,圖中用表示。每個topic都對應一個在words(單詞)上的多項分布,圖中用表示。
和都有一個對稱的 Dirichlet prior 。也就是和是依靠了先驗知識。A表示資料集合中作者的總個數,T是Topic的個數。
對於一個Document中的每個單詞,我們從(作者集合上的均勻分布)中隨機採樣一個作者x,然後從和x對應的多項分布中採樣一個Topic z,再從Topic z 對應的多項分布中採樣一個單詞。採樣過程重複次,產生Document。D個Document重複這一過程,便產生了整個資料集。
Bayesian Estimation of the Model Parameters
模型參數的貝葉斯估計
在Author Topic Model 中,有兩組未知參數:author-topic 分布,
和topic-word分布。我們採用 Gibbs sampling 方法估計它們。
對於每個單詞,根據下面公式為其採樣author和topic。
這裡代表一篇文章中第i個單詞分配給第j個Topic和第k個作者。代表第i個單詞是詞典中第m個詞彙。代表除第i個單詞之外其餘單詞的Topic和Author分配。
表示單詞m在此次分配之前已經分配給Topic j的總個數。表示到目前為止,作者k分配給Topic j的總個數。
V是詞典的總個數(資料集合中所有不同單詞的個數),T是Topic 的個數。
在演算法估計期間,我們只需要追蹤兩個矩陣。一個是V x T(word
by topic)計數矩陣,另一個是K x T (author by topic)計數矩陣。
最後,我們根據這兩個計數矩陣估算author-topic 分布和topic-word分布。
表示Topic j 使用單詞 m 的機率
表示作者k 在Topic j 的機率
演算法一開始為每篇文章中每個單詞隨機分配一個Topic,隨機分配一個作者(從這篇文章的作者集合中)。然後根據等式(1),對每篇文章中每個單詞進行採樣,採樣重複I次。
假設 V x T(word by topic)計數矩陣 ,K x T (author by topic)計數矩陣分別如下:
Document 1表示為:
如何為“good”分配Topic和Author?
共有 {張三,Topic1}, {張三,Topic2},{張三,Topic3},
{李四,Topic1}, {李四,Topic2},{李四,Topic3} 六種可能。
這六種情況的機率是不一樣的,根據等式(1)
同理求出其餘情況的機率,根據這個機率分布,隨機產生一種分配。
重複這一過程採樣每個單詞。
最後根據等式(2)和(3)求出和 。
附錄:
在AT原始paper中有幅貝葉斯網狀圖,想看懂這幅圖只需要一點貝葉斯網路的基礎知識就可以了,所以這裡把需要理解的地方列出來。
先舉一個例子:聯合機率P(a,b,c)=P(c|a,b)P(b|a)P(a)可以表示為如
箭頭表示條件機率,圓圈表意一個隨機變數。這樣我們就可以很容易的畫出一個條件機率對應的貝葉斯網路。
對於更複雜的機率模型,比如
由於有N個條件機率,當N很大時,在圖中畫出每一個隨機變數顯然不現實,這是就要把隨機變數畫到方框裡:
這就表示重複N個tn.
在一個機率模型中,有些是我們觀察到的隨機變數,而有些是需要我們估計的隨機變數,這兩種變數有必要在圖中區分開:
如,被填充的圓圈表明該隨機變數被觀察到並已經設為了被觀察到的值。