關於狄利克雷分布的理解

2022-09-08 20:45:18 字數 3163 閱讀 1843



要想易懂地理解dirichlet distribution,首先先得知道它的特殊版本beta distribution幹了什麼。而要理解beta distribution有什麼用,還得了解bernoulli process。

首先先看bernoulli process。要理解什麼是bernoulli process,首先先看什麼bernoulli trial。bernoulli trial簡單地說就是乙個只有兩個結果的簡單trial,比如拋硬幣

那我們就用拋乙個(不均勻)硬幣來說好了,x = 1就是頭,x = 0就是字,我們設定q是丟擲字的概率。

那什麼是bernoulli process?就是從bernoulli population裡隨機抽樣,或者說就是重複的獨立bernoulli trials,再或者說就是狂拋這枚硬幣n次記結果吧(汗=_=)。好吧,我們就一直拋吧,我們記下x=0的次數k.

現在問題來了。

q:我們如何知道這枚硬幣丟擲字的概率?我們知道,如果可以一直拋下去,最後k/n一定會趨近於q;可是現實中有很多場合不允許我們總拋硬幣,比如我只允許你拋4次。你該怎麼回答這個問題?顯然你在只拋4次的情況下,k/n基本不靠譜;那你只能"猜一下q大致分布在[0,1]中間的哪些值裡會比較合理",但絕不可能得到乙個準確的結果比如q就是等於k/n。

舉個例子,比如:4次拋擲出現「頭頭字字」,你肯定覺得q在0.5附近比較合理,q在0.2和0.8附近的硬幣丟擲這個結果應該有點不太可能,q = 0.05和0.95那是有點扯淡了。

你如果把這些值畫出來,你會發現q在[0,1]區間內呈現的就是乙個中間最高,兩邊低的情況。從感性上說,這樣應當是比較符合常理的。

那我們如果有個什麼工具能描述一下這個q可能的分布就好了,比如用乙個概率密度函式來描述一下? 這當然可以,可是我們還需要注意另乙個問題,那就是隨著n增長觀測變多,你每次的概率密度函式該怎麼計算?該怎麼利用以前的結果更新(這個在形式上和計算上都很重要)?

到這裡,其實很自然地會想到把bayes theorem引進來,因為bayes能隨著不斷的觀測而更新概率;而且每次只需要前一次的prior等等…在這先不多說bayes有什麼好,接下來用更形式化語言來講其實說得更清楚。

我們現在用更正規的語言重新整理一下思路。現在有個硬幣得到random sample x = (x1,x2,...xn),我們需要基於這n次觀察的結果來估算一下q在[0,1]中取哪個值比較靠譜,由於我們不能再用單一乙個確定的值描述q,所以我們用乙個分布函式來描述:有關q的概率密度函式(說得再簡單點,即是q在[0,1]「分布律」)。當然,這應當寫成乙個條件密度:f(q|x),因為我們總是觀測到x的情況下,來猜的q。

現在我們來看看bayes theorem,看看它能帶來什麼不同:

在這裡p(q)就是關於q的先驗概率(所謂先驗,就是在得到觀察x之前,我們設定的關於q的概率密度函式)。p(q|x)是觀測到x之後得到的關於q的後驗概率。注意,到這裡公式裡出現的都是"概率",並沒有在[0,1]上的概率密度函式出現。為了讓貝葉斯定理和密度函式結合到一塊。我們可以從方程兩邊由p(q)得到f(q),而由p(q|x)得到f(q|x)。

又注意到p(x)可以認定為是個常量(q:why?),可以在分析這類問題時不用管。那麼,這裡就有個簡單的結論——關於q的後驗概率密度f(q|x)就和「關於q的先驗概率密度乘以乙個條件概率"成比例,即:

帶著以上這個結論,我們再來看這個拋硬幣問題:

連續拋n次,即為乙個bernoulli process,則在q確定時,n次拋擲結果確定時,又觀察得到k次字的概率可以描述為:

那麼f(q|x)就和先驗概率密度乘以以上的條件概率是成比例的:

雖然我們不知道,也求不出那個p(x),但我們知道它是固定的,我們這時其實已經得到了乙個求f(q|x)的公式(只要在n次觀測下確定了,f(q)確定了,那麼f(q|x)也確定了)。

現在在來看f(q)。顯然,在我們對硬幣一無所知的時候,我們應當認為硬幣丟擲字的概率q有可能在[0,1]上任意處取值。f(q)在這裡取個均勻分布的密度函式是比較合適的,即f(q) = 1 (for q in [0,1]) 。

有些同學可能發現了,這裡面

那個

乘上[0,1]的均勻分布不就是乙個beta

distribution麼?

對,它就是乙個beta distribution。beta distribution由兩個引數alpha、beta確定;在這裡對應的alpha等於k+1,beta等於n+1-k。而均勻分布的先驗密度函式,就是那個f(q)也可以被beta distribution描述,這時alpha等於1,beta也等於1。

更有意思的是,當我們每多拋一次硬幣,出現字時,我們只需要alpha = alpha + 1;出現頭只需要beta = beta + 1。這樣就能得到需要估計的概率密度f(q|x)…

其實之所以計算會變得這麼簡單,是因為被beta distribution描述的prior經過bayes formula前後還是乙個beta distribution;這種不改變函式本身所屬family的特性,叫共軛(conjugate)

ok。講到這你應該明白,對於有兩個結果的重複bernoulli trial,我們用beta prior/distribution就能解決。那麼加入我們有n個結果呢?比如拋的是骰子?

這時候上面的bernoulli trial就要變成有一次trial有k個可能的結果; bernoulli distribution就變成multinomial distribution。而beta distribution所表述的先驗分布,也要改寫成乙個多結果版本的先驗分布。那就是dirichlet distribution。

均勻的先驗分布beta(1,1)也要變成k個結果的dir(alpha/k)。dirichlet prior也有共軛的性質,所以也是非常好計算的。

簡而言之,就是由2種外推到k種,而看待它們的視角並沒有什麼不同。

他們有著非常非常非常相似的形式。

結論1:dirichlet distribution就是由2種結果bernoulli trial匯出的beta distribution外推到k種的generalization

狄利克雷過程理解

狄利克雷過程 dirichlet process 是目前變引數學習 non parameter 非常流行的乙個理論,很多的工作都是基於這個理論來進行的,如hdp hierarchical dirichlet process 下面我們談談dirichlet process的五種角度來理解它。第一種 原...

狄利克雷卷積 狄利克雷卷積學習筆記

前置知識 1 常見的完全積性函式 恒等函式 i i n 1 單位函式 id id n n 元函式 epsilon epsilon n n 1 元函式卷積任何函式 f 都是 f 本身 2 常見積性函式 尤拉函式 varphi n 是小於n和n互質的自然數個數 莫比烏斯函式 mu n sigma sig...

狄利克雷過程

官方定義 令 表示乙個可測的引數空間,描述某乙個類別的引數。令h是空間 上的乙個概率測度,表示乙個正實數。對於空間 上的任意乙個有限分割 如果空間 上的乙個隨機概率分布g在這個分割中各部分上的測度服從乙個狄利克雷分布 那麼我們就稱隨機概率分布g 服從狄利克雷過程,記為 我們把 叫做集中度引數,把h叫...