1 馬爾可夫鍊

馬爾可夫鍊(Markov Chain),描述了一種狀态序列,其每個狀态值取決于前面有限個狀态。馬爾可夫鍊是具有馬爾可夫性質的随機變量的一個數列。這些變量的範圍,即它們所有可能取值的集合,被稱為“狀态空間”,而
的值則是在時間n的狀态。如果
對于過去狀态的條件機率分布僅是
的一個函數,則
這裡x為過程中的某個狀态。上面這個恒等式可以被看作是馬爾可夫性質。
馬爾可夫鍊是滿足馬爾可夫性質的随機過程。
馬爾可夫鍊的穩态:
無論最初的狀态是什麼樣子的,最終的穩态分布的矩陣是固定的,其中所有行是相同的,表示下一個狀态的分布向量。
q是無窮維狀态轉移的馬爾可夫鍊的穩态分布
MCMC,第一個MC是蒙特卡洛随機過程;第二個MC是馬爾可夫鍊,表示存在穩态。
因為馬爾可夫鍊存在穩态分布,是以可以通過足夠步後的采樣來猜測最終的穩态分布q。
LDA中Gibbs采樣計算時使用條件機率
使用gibbs采樣是因為我們認為LDA最終的zij或者說doc-topic和topic-word存在穩态分布。我們要做的就是不斷的疊代采樣。 上圖中zij是i個doc總j詞所屬topic的index。 (最初的zij是随機初始化,依據zij可以求doc-topic, topic-word. )最終的目的是求得穩定的doc-topic, topic-word。
具體步驟
在LDA最初提出的時候,人們使用EM算法進行求解,後來人們普遍開始使用較為簡單的Gibbs Sampling,具體過程如下:
- 首先對所有文檔中的所有詞周遊一遍,為其都随機配置設定一個主題,即zm,n=k~Mult(1/K),其中m表示第m篇文檔,n表示文檔中的第n個詞,k表示主題,K表示主題的總數,之後将對應的n(k)m+1, nm+1, n(t)k+1, nk+1, 他們分别表示在m文檔中k主題出現的次數,m文檔中主題數量的和,k主題對應的t詞的次數,k主題對應的總詞數。
- 之後對下述操作進行重複疊代。
- 對所有文檔中的所有詞進行周遊,假如目前文檔m的詞t對應主題為k,則n(k)m-1, nm-1, n(t)k-1, nk-1, 即先拿出目前詞,之後根據LDA中topic sample的機率分布sample出詞t的新的主題(例如原先t是topic3, 更新後可能是topic5了),在對應的n(k)m, nm, n(t)k, nk上分别+1。 這裡采用了條件機率估計樣本,比聯合機率簡單。
Gibbs Sampling通過求解出主題分布和詞分布的後驗分布,進而成功解決主題分布和詞分布這兩參數未知的問題。
參考
http://www.voidcn.com/blog/u014568921/article/p-4904074.html
http://blog.csdn.net/v_july_v/article/details/41209515