Dirichlet分布(Dirichelt Distribution)和Dirichlet過程 (Dirichlet Process)廣泛應用于信息檢索、自然語言處理等領域,是理解主題模型的重要一步。而且它作為一種非參數模型(non-paramatric model),和參數模型一樣有著越來越廣泛的應用。
文本提供了一種對Dirichlet 過程的理解。本文適合了解高斯過程,對Dirichlet過程有一定了解,但又有些困惑的同學。希望讀完這篇文章能進一步提升對Dirichlet的理解。
隨機過程
粗略地說,隨機過程是概率分布的擴展。我們一般講概率分布,是有限維的隨機變量的概率分布,而隨機過程所研究的對象是無限維的。因此,也把隨機過程所研究的對象稱作隨機函數。
隨機變量之于概率分布,就像隨機函數之于隨機過程。
機器學習領域常見的隨機過程有:Gaussian Process, Dirichlet Process, Beta Process, Gamma Process等等。
高斯過程
理解Dirichlet過程,可以類比高斯過程。高斯過程(GP)是定義在函數上的概率分布。
這里的f(x)被稱作隨機函數,每一個x對應的f(x)都是一個隨機變量,可以將這個隨機函數看做是多維隨機變量的擴展。由于我們一般考慮的函數的定義域都包含無限個自變量(如定義域為實數域),無法顯式地寫出其聯合概率密度函數,因普通的多維隨機變量的定義無法表示高斯過程的定義。
所以,一般的隨機過程包括高斯過程,都是通過一個邊緣概率密度函數(f(x1), f(x2), ..., f(xn))來定義的。
這相當于我們無法一次看完一個無限的東西,所以想了個辦法,對它的局部照相。對于任何局部(x1, x2, ..., xn),我們都有一個相片(f(x1), f(x2), ..., f(xn))。這里,均值m和協方差c唯一地決定一個GP。
Dirichlet分布
Dirichlet分布是定義在K維概率單純形(K-dimentional probability simplex)上的分布。
K維概率單純形,說的好像很復雜,其實就是和為1,因此可以將pi看作是一個概率分布。
Dirichlet分布的概率密度函數是
Dirichlet有很多優美的性質,比如將這里的隨機變量的元素拆分或者合并,結果還是服從Dirichelt分布。如下
Dirichlet過程
Dirichlet過程(DP)是定義在概率測度上的分布。
概率測度也就是概率,它是定義在樣本空間的sigam域上的函數,滿足一定的性質。樣本空間就是我們要研究的空間 ,比如主題模型中所有的詞構成的空間就是我們的樣本空間。sigma域也很簡單,就是該空間的所有的子集構成的空間。對于有n個元素的樣本空間 ,它的sigma域有2^n個元素。這里的“滿足一定的性質”,主要指可列可加性。通俗地說,即一些不相交集合的并的概率等于對每個集合的概率作和。
和GP類似,我們無法顯式地定義DP。那只能對DP的局部“照相”。如何照相呢?
設G是一個隨機概率測度,對樣本空間做一個劃分(A1, A2, ..., Ak),(G(A1), G(A2), ..., G(Ak))就可以看做一張相片。這里的 G(A1), G(A2), ..., G(Ak)也是一個多維隨機變量,和高斯過程中的f(x1), f(x2), ..., f(xn)相當。而且由于G是概率測度,我們還能得出G(A1)+G(A2)+...+G(Ak)=1,即一個劃分和一個概率測度唯一地決定了一個概率分布。
如果對樣本空間的任意一個劃分(A1, A2, ..., Ak),都有(G(A1), G(A2), ..., G(Ak))滿足Dirichlet分布。那么我們稱G是一個Dirichlet過程。
記為
H是一個基分布(base distribution),可以看做G的期望;alpha是系數,可以看做G的方差的“倒數”。
參考文獻
https://www.stats.ox.ac.uk/~teh/teaching/npbayes/mlss2007.pdf