標籤:

為什麼說Dirichlet分布是分布的分布?


因為Dirichlet的概率是(多項)分布的概率的概率,所以Dirichlet就是(多項)分布的分布。至於如何理解「概率的概率」,其實重點理解了共軛先驗(conjugate priors)也就什麼都理解了。

這麼說吧,共軛先驗(conjugate priors)是一種概率密度,它使得後驗概率的密度函數和先驗概率的密度函數有著相同的函數形式。

先看一個著名的貝葉斯公式:

P ( X | evidence ) = P ( evidence | X ) * P ( X ) / P ( evidence)

evidence是給定的樣本集合,所以 P ( evidence) 是一個確定的值;

P ( evidence | X )是likelihood,在給定的模型參數X下樣本數據evidence服從這一模型的概率;

P ( X )為X的先驗概率,在我們沒有模型參數的情況下X的概率;

P ( X | evidence )為後驗概率,在給定樣本數據時的模型參數服從的概率。

如果P ( X )能使得P ( evidence | X )和P ( X | evidence )具有相同的表達形式,那麼我們就說P ( X )為共軛先驗(conjugate priors)。

Dirichlet分布就是多項分布的共軛先驗分布。先驗概率取為共軛先驗的好處就在於:每當有新的觀測數據,就把上次的後驗概率作為先驗概率,乘以新數據的likelihood,然後就得到新的後驗概率,而不必用先驗概率乘以所有數據的likelihood得到後驗概率。


Dirichlet分布其實也是採樣出一個值(向量),從這個意義上來說,它其實和其它分布並無太大不同?那為什麼大家都說Dirichlet分散式分布的分布呢?因為Dirichlet分布出現的場景,總是用於生成別的分布(更確切地說,總是用於生成Multinomial分布)

Dirichlet分布得到的向量各個分量的和是1,這個向量可以作為Multinomial分布的參數,所以我們說Dirichlet能夠生成Multinomial分布,也就是分布的分布。

Dirichlet分布和Multinomial分散式共軛的,Dirichlet作為先驗,Multinomial作為似然,那麼後驗也是Dirichlet分布。所以Dirichlet和Multinomial這個組合總是經常被使用,Dirichlet分布在這裡的角色就是分布的分布(Multinomial分布的分布)。


因為他跟多項分布共軛所以被叫這個名字來幫助理解吧。

其實如果嚴格按照定義的話很多分布都可以被叫做分布的分布。

比如隨便寫一個0-1之間的均勻分布,它生成的那個0-1間的隨機值還是可以當作一個固定方差的高斯分布的mean嘛!

啥,你說不共軛,好吧,那把均勻分布換成高斯,那就更像是分布的分布了。

所以還是不要摳字眼,知道DIR具體定義,是什麼形狀的,生成的東西啥樣,有什麼用法就可以了。

其實如果說分布的分布的話,非參數貝葉斯利用到的Dirichlet Process,中國餐館過程這些更像是分布的分布來著。它們的理解就從裡面sample出來的樣本(分布)來更加合適一些。


因為任何一個parametric distribution都可以用一組參數來唯一確定,比如多項分布,可以用一個和為1的非負vector來唯一確定(準確的說還有個樣本大小n,不過比較次要)。

所以給這組參數賦個概率值,就是給相應的分布一個概率值。k維dirichlet的定義域正好是k維多項分布的所有合法的參數,它就被用來作為多項分布的先驗概率啦。很巧的是,使用dirichlet先驗時,考慮了多項分布的觀測後,後驗分布正好還是個dirichlet,其各種性質,比如均值,log的均值等都有closed-form公式可以套,所以大家很愛用它作為多項分布的先驗。這就是所謂的共軛先驗。當然,其實這並不是巧合,從dirichlet的函數形式很容易看出來,和多項分布很像,只不過把多項分布中已知的指數底變成了未知的參數,然後做了歸一化。類似的,我們也可以憑肉眼湊出其他一些分布的共軛先驗。

再進一步,假設dirichlet的所有合法參數正好構成某個分布的定義域,那麼那個分布就可以作為dirichlet的先驗分布,dirichlet控制多項分布,這就組成了一個所謂的 hierarchical bayesian model。


不知道題主是不是在學概率統計啥的,我雖然沒學不過看了一眼維基百科Dirichlet distribution(其實維基真的挺好使),說說我的理解吧希望能幫助到你。

現實中很多時候我們知道了一些隨機變數的分布,我們可以算出一個變數在某一段範圍內出現的範圍,這是分布推出概率的方法。但是很多時候我們也需要一種方法從統計結果來獲得隨機變數的分布,Dirichlet distribution事實上是給出了一個計算離散的隨機變數分布的方法。

最簡單的方法當然是統計了這次實驗里每個事件發生的次數alpha_1, alpha_2, cdots, alpha_n,然後第i個情況發生的概率是frac{alpha_i}{sum_j alpha_j},但是這樣不是一個非常好的方式,因為不僅有這樣的分布可以產生這樣的實驗結果,還有很多其它的分布也可以產生相同的結果,比如所有事件發生的概率都是frac{1}{n}有沒有可能發生這種結果呢?當然是有的。但是為什麼我們覺得前一種方式更合理呢?因為前一種分布下發生這種實驗結果的概率更大。

既然已經知道Dirichlet distribution了那知道條件概率是必須的,用類似條件概率的思想就可以知道我們是可以求每個分布造成這樣的實驗結果的可能性都有多大,但是這樣的分布是有無窮多的,肯定不能這麼告訴老闆:我覺得這些事件是平均分布的可能性是xx,第一個事件是5%,其它事件都是1%的可能性是oo。所以你還是需要一個分布函數來刻畫每種分布到底有多大的可能出現。

最後講到Dirichlet distribution,確定實驗結果之後,如果你用一組X_1, X_2, cdots, X_n的分布帶進這個分布函數,你就能得到你帶入的分布這個點的概率密度,所以Dirichlet distribution刻畫了每一個分布出現的可能性,即它是一個分布的分布。


簡單的例子來說明。

假設你手上有一枚六面骰子。你拋擲1000次,得到一個朝向的分布p1 = &。H1是指數字1朝上次數,H2是指數字2朝上次數, H3, H4, H5, H6依次類推。

你再拋擲1000次,又會得到一個朝向的分布p2。重複N次之後,你就會得到N個分布:p1, p2, p3, ... , pn.

假如有這樣一個分布D,能夠描述拋這枚骰子1000次,得到p1的概率是多少,那麼我們就可以簡單地把D理解為分布在pi之上的分布。而pi本身又是一個分布,所以D就是分布的分布。

Dirichlet分布,可以理解為多項式分布的分布。它的一個樣本點是一個多項式分布。


一般老師Dirichlet過程被稱為分布的分布比較多。個人理解,Dirichlet分布是Beta分布的推廣,根據維基百科的定義,Dirichlet分布是一組連續的多元分布,它的參數控制著各個分布的強度,即其樣本多大程度上與該分布相似。Dirichlet Distribution(狄利克雷分布)與Dirichlet Process(狄利克雷過程) | 數據學習者官方網站(Datalearner) 這篇博客中也講述了Dirichlet分布與Dirichlet過程。博主可以看看。


這篇文章解釋的也挺到位:

用python做貝葉斯A/B測試 — 貝葉斯A/B測試入門 以及「共軛先驗」是什麼?


比如一個篩子代表一個多項式分布,可以按不同的概率值生成6個點數,那drichlet分布就是說我有一袋篩子,可以從這個袋子中拿出來好多"不一樣"的篩子出來,那這個過程有兩個採樣,一個是從dirchlet分布中採樣出一個篩子,然後再用這個篩子採樣出一個點數,那兩個採樣過程就對應兩個分布,dirichlet分布就變成分布的分布了。

說白了就是:比如A分布由一組參數決定,而這組參數可由由分布B採樣出來,那B就叫分布的分布了,如果分布A採樣出的值又可作為分布C的參數,那B就叫分布的分布的分布。。。就這樣吧,說的很不嚴謹但很白話好理解些


找本非參的書看看 把分布函數帶進去算下就好


樓主可以先看看beta分布。假設你有個不均勻的硬幣,拋出去,硬幣是否向上就是參數為p的伯努力分布。但這個p不知道。在貝葉斯分析里,p被看成隨機變數,如果用共軛先驗,p服從 beta分布。簡單的說,是分布的分布吧。


我覺得Dirichlet過程才算是分布的分布啊...題主你是不是打錯了...


推薦閱讀:

為什麼樣本均值的標準差是總體均值標準差除以根號n?
均勻骰子有多少種?
如何選擇概率論研究方向?
一次丢5颗骰子,怎么快速计算骰子点数和的概率分布?
N個隨機變數之間的相關性兩兩小於0.7 ?

TAG:概率論 |