貝葉斯機器學習:共軛先驗
離散隨機變量的二項分布和多項式分布,以及連續隨機變量的高斯分布,這些都是參數分布(parmetric distribution) 的具體例子。之所以被稱為參數分布,是因為少量可調節的參數控制了整個概率分布。
在頻率派的觀點中,我們通過最優化某些準則(例如似然函數)來確定參數的具體值。而在貝葉斯派的觀點中,給定觀測數據,我們引入參數的先驗分布,然后使用貝葉斯定理來計算對應后驗概率分布。
注 參數方法的另一個限制是它假定分布有一個具體的函數形式,這對于一個具體應用來說是不合適的。另一種替代的方法是非參數(nonparametric) 估計方法。這種方法中分布的形式通常依賴于數據集的規模。這些模型仍然具有參數,但是這些參數控制的是模型的復雜度而不是分布的形式。
我們會看到,對于貝葉斯參數估計而言,共軛先驗(conjugate prior) 有著很重要的作用。它使得后驗概率分布的函數形式與先驗概率相同,因此使得貝葉斯分析得到了極大的簡化。例如,二項分布的參數的共軛分布為Beta分布,多項式分布的參數的共軛分布為狄利克雷分布(Dirichlet distribution),而高斯分布的均值的共軛先驗是另一個高斯分布。所有這些分布都是指數族(exponential family) 分布的特例。在本篇博客中我們將會介紹二項分布與多項式分布的共軛先驗,高斯分布的共軛先驗留在下一篇博客中進行介紹。
1 二項分布的共軛先驗:Beta分布
1.1 伯努利分布
考慮一個二元隨機變量\(x\in \{0, 1\}\),它服從伯努利分布(Bernoulli distribution):
其中\(\mu\)為\(x=1\)的概率(\(0\leqslant \mu \leqslant 1\))。這個分布是歸一化的(\(\sum_xp(x\mid \mu) = (1 - \mu) + \mu = 1\)),并且均值和方差為
現在我們假設我們有一個\(x\)的觀測值的數據集\(\mathcal{D}=\{x_1, x_2, \cdots, x_N\}\)。假設每個觀測都是獨立地從\(\text{Bern}(x\mid \mu)\)中抽取的,因此我們可以構造關于\(\mu\)的似然函數如下:
依頻率派的做法,我們可以通過最大化似然函數(或等價地最大化對數似然函數)來估計\(\mu\)的值。這種參數估計方法被稱為最大似然估計(maximum likelihood estimation, MLE)(參見博客《統計推斷:最大似然估計、貝葉斯估計與方差偏差分解》)。如果我們令\(\frac{\mathrmw0obha2h00\ln p(\mathcal{D}\mid \mu)}{\mathrmw0obha2h00\mu} = 0\),我們就得到了最大似然的估計值\(\mu_{\text{ML}} = \frac{1}{N}\sum_{i}x_i\)。這也被稱為樣本均值(sample mean)。如果我們把數據集里\(x=1\)的觀測的數量記作\(m\),那么我們可以把上式寫成下面的形式:
此時可以理解為數據集里\(x=1\)的觀測所占的比例。
注 上述是頻率派的參數估計方法,如果采用貝葉斯派的參數估計方法,在將參數\(\mu\)的先驗分布選為均勻分布的情況下,會得到其后驗概率分布近似為高斯分布\(\mathcal{N}(\mu_{\text{B}}, \frac{\mu_{\text{B}}(1 - \mu_{\text{B}})}{N})\),這里\(\mu_{\text{B}}\)和\(\mu_{\text{ML}}\)一樣也是\(\frac{m}{N}\)(參見博客《概率論沉思錄:初等假設檢驗》)。
1.2 二項分布
我們也可以求解給定數據集規模\(N\)的條件下,\(x=1\)的觀測出現的數量\(m\)的概率分布。該分布即是我們在博客《概率論沉思錄:初等抽樣論》)中提到過的二項分布(binomial distribution):
二項分布的均值和方差如下所示:
注 這些結果也可以使用結論\(\mathbb{E}[x_1 + \cdots + x_N] = \mathbb{E}[x_1] + \cdots \mathbb{E}[x_N]\)(對隨機變量\(x_i\)),與結論\(\mathrm{Var}[x_1 + \cdots + x_N] = \mathrm{Var}[x_1] + \cdots \mathrm{Var}[x_N]\)(對相互獨立的隨機變量\(x_i\))得到。由于\(m = x_1 + \cdots + x_N\),并且對于每次觀察有\(\mathbb{E}[x_i] = \mu\)和\(\mathrm{Var}[x_i] = \mu (1 - \mu)\),應用該結論得到\(\mathbb{E}[m] = N\mu, \mathrm{Var}[m] = N\mu(1 - \mu)\)。
類似地,關于數據集\(\mathcal{D}\),對于二項分布而言我們相當于擁有了單個樣本點\(m\),我們也可以構造關于\(\mu\)的似然函數如下:
再次采用頻率派的做法,令\(\frac{\mathrmw0obha2h00\ln p(\mathcal{D}\mid \mu)}{\mathrmw0obha2h00\mu} = 0\),我們就得到了二項分布參數\(\mu\)的最大似然估計值
可以看到,在二項分布中,參數\(\mu\)的最大似然解和伯努利分布同樣為\(\mu_{\text{ML}} = \frac{m}{N}\)。
1.3 Beta分布
我們前面得到了在二項分布中參數\(\mu\)的最大似然解\(\mu_{\text{ML}} = \frac{m}{N}\)。而我們之前提到過,我們使用的數據集對于想要擬合的二項分布而言相當于只有單個樣本點,會給出嚴重的過擬合結果。為了用貝葉斯的觀點看待這個問題,我們需要引入一個關于參數\(\mu\)的先驗分布\(p(\mu)\)。我們注意到二項分布的似然函數是某個因子與\(\mu^m (1 - \mu)^{N - m}\)的乘積的形式。如果我們選擇一個正比于\(\mu\)和\((1 - \mu)\)的冪指數的先驗概率分布,那么后驗概率分布(正比于先驗和似然函數的乘積)就會有著與先驗分布相同的函數形式(這個性質被叫做共軛性(conjugacy))。這樣,先驗分布的校正將表現為其參數的校正。這樣在處理上是非常方便的,它通常使得計算相當容易。因此,我們把先驗分布選擇為Beta分布[2],定義為
其中歸一化因子\(\Beta(a, b)\)經由我們在博客《概率論沉思錄:初等假設檢驗》中提到過的Beta函數計算得到:
其中
為Gamma函數。對\(\Gamma(x + 1) = \int_{0}^{\infty}t^{x}e^{-t}\mathrmw0obha2h00t\)使用一次分部積分法[3]我們有\(\Gamma(x + 1) = \left[t^{x}(-e^{-t})\right]_{0}^{\infty} - \int_{0}^{\infty}xt^{x - 1}\left(-e^{-t}\right)\mathrmw0obha2h00t = x \Gamma(x)\),又因為\(\Gamma(1)=\int_{0}^{\infty}e^{-t}\mathrmw0obha2h00t=\left[-e^{-t}\right]_{0}^{\infty}=1\),因此用歸納法可證明當\(x\)為正整數時\(\Gamma(x) = (x - 1)!\)(參見博客《概率論沉思錄:初等假設檢驗》)。
Beta分布的均值和方差如下所示:
參數\(a\)和\(b\)經常被稱為超參數(hyperparameter),因為它們控制了參數\(\mu\)的概率分布。
根據Beta先驗\(\text{Beta}(\mu\mid a, b) = \frac{1}{\Beta(a, b)}\mu^{a - 1}(1 - \mu)^{b - 1}\)與二項分布的似然函數\(p(m\mid \mu) = \binom{N}{m}\mu^m(1 - \mu)^{N - m}\),我們可得到\(\mu\)的后驗分布為:
這是\(\text{Beta}(\mu\mid m + a, N - m + b)\)分布。
我們看到,\(\mu\)的后驗分布是另一個Beta分布,這反映出先驗關于似然函數的共軛性質。我們還看到,如果一個數據集里有\(m\)次觀測為\(x=1\),有\(N - m\)次觀測為\(x = 0\),那么從先驗概率到后驗概率,\(a\)的值變大了\(m\),\(b\)的值變大了\(N - m\)。這讓我們可以簡單地把先驗概率中的超參數\(a\)和\(b\)分別看成\(x = 1\)和\(x = 0\)的有效觀測數(effective number of observation)。注意,\(a\)和\(b\)不一定是整數。
另外,如果我們接下來觀測到更多的數據,那么后驗概率分布可以扮演先驗概率的角色。為了說明這一點,我們可以假想每次只取一個觀測值,然后在每次觀測之后更新當前的后驗分布。在每個階段,后驗概率都可以視為一個\(\text{Beta}(\mu\mid a, b)\)分布,參數\(a\)和\(b\)分別表示對于\(x=1\)和\(x=0\)的觀測總數(先驗的和實際的)。觀測到一個\(x = 1\)對應于把\(a\)的值增加\(1\),而觀測到\(x=0\)會使\(b\)增加\(1\)。下圖說明了這個過程中的一個步驟:
在該圖中,先驗分布為\(\text{Beta}(\mu\mid a=2, b=2) = 6\mu(1 - \mu)\),似然函數由公式\(p(m=1\mid \mu) = \mu\)給出(其中\(N=1\)),對應于\(x=1\)的一次觀測,從而后驗概率分布為\(\text{Beta}(\mu\mid a=3, b=2) = 12\mu^2(1 - \mu)\)。
我們看到,如果我們接受了貝葉斯觀點,那么學習過程中的順序(sequential) 方法可以自然而然地得出。它與先驗和似然函數的選擇無關,只取決于數據獨立同分布的假設。順序方法每次使用一個觀測值,或者每次使用一小批觀測值。然后再使用下一個觀測值之前丟掉它們。
注 順序方法可以被用于實時學習的場景中。在實時學習的場景中,輸入為一個持續穩定的數據流,模型必須在觀測到所有數據之前就進行預測。由于順序學習的方法不需要把所有的數據都存儲到內存里,因此順序方法對于大的數據集也很有用。最大似然方法也可以轉化成順序的框架。
對于\(\mu\)的后驗分布\(\text{Beta}(m + a, N - m + b)\),如果我們想在此基礎上使用點估計(而不同于直接進行最大似然估計),一個很自然的做法就是采用這個后驗分布的均值做為貝葉斯估計量(Bayes estimator),如下式所示:
注 這里我們也可以采用最大后驗點估計(maximum a posteriori, MAP)[4],該方法選擇后驗概率最大的點(在這里\(\mu\)是連續值的情況下,也即概率密度最大的點):
令\(\frac{\mathrmw0obha2h00 p(\mu\mid m)}{\mathrmw0obha2h00\mu}=0\)可以得到其最大值是在\(\mu_{\text{MAP}}=\frac{m + a - 1}{a + b + N - 2}\)處。
現在我們來考慮一下\(\mu\)的貝葉斯估計量\(\mu_{\text{B}}\)是怎樣形成的。先驗分布\(\text{Beta}(\mu\mid a, b)\)有均值\(\frac{a}{a + b}\),它是我們在沒有見到數據時對\(\mu\)的最好估計。當不考慮先驗信息,我們可能會使用極大似然估計量\(\mu_{\text{ML}}=\frac{m}{N}\)當作對于\(\mu\)的估計,而\(\mu\)的貝葉斯估計量\(\mu_{\text{B}}\)則結合進了所有這些信息。如果把\(\mu_{\text{B}}\)寫成下式,可以清楚地看到這些信息被結合進去的方式:
這樣,\(\mu_{\text{B}}\)就表示成先驗均值\(\mathbb{E}[\mu] = \frac{a}{a + b}\)和最大似然估計量\(\mu_{\text{ML}} = \frac{m}{N}\)(也即樣本均值)的一個線性組合,其組合的權重由\(a\),\(b\)和\(N\)決定??梢钥吹?,在數據集無限大的極限情況下,\(m, N \rightarrow \infty\),此時\(\mu_{\text{B}}\)變成了最大似然的結果\(\mu_{\text{ML}}\)。實際上,有個很普遍的情況是,貝葉斯的結果和最大似然的結果在數據集的規模趨于無窮的情況下會統一到一起。對于有限規模的數據集,\(\mu_{\text{B}}\)總是位于先驗均值\(\mathbb{E}[\mu]\)和最大似然估計量\(\mu_{\text{ML}}\)之間。
從之前的圖中我們可以看到,\(\mu\)的后驗分布的圖像相比其先驗分布更尖。進一步地,隨著觀測數量的不斷增加,后驗分布的參數\(a\)或\(b\)也會不斷增大,后驗分布的數量還會越來越尖。下圖展示了當\(a\)和\(b\)變化時,Beta分布\(\text{Beta}(\mu\mid a, b)\)關于\(\mu\)的函數圖像的變化。
我們也能夠通過Beta分布的方差公式\(\mathrm{Var}[\mu] = \frac{ab}{(a + b)^2(a + b + 1)}\)看出這種趨勢。根據該公式,如果\(a\rightarrow\infty\)或\(b\rightarrow\infty\),那么方差就趨于0。我們可能想知道,下面這個性質是不是貝葉斯學習的一個共有屬性:隨著我們觀測到越來越多的數據,后驗概率表示的不確定性將會持續下降。
為了說明這一點,我們可以用頻率學家的觀點考慮貝葉斯學習問題。我們可以證明,平均來看,這種性質確實成立??紤]一個一般的貝葉斯推斷問題,參數為\(\boldsymbol{\theta}\),并且我們觀測到了一個數據集\(\mathcal{D}\),由聯合概率分布\(p(\boldsymbol{\theta}, \mathcal{D})\)描述。我們有下列結果:
其中
該結果表明,\(\boldsymbol{\theta}\)的后驗均值在產生數據集的整個分布上做平均后,等于\(\boldsymbol{\theta}\)的先驗均值。類似地,我們可以證明
上式左側的項是\(\boldsymbol{\theta}\)的先驗方差。在右側,第一項是\(\boldsymbol{\theta}\)的平均后驗方差,第二項是\(\boldsymbol{\theta}\)的后驗均值的方差。由于這個方差非負,因此這個結果表明,平均來看,\(\boldsymbol{\theta}\)的后驗方差小于或等于先驗方差。后驗均值的方差越大,方差減小得就越多。但是需要注意的是,這個結果只在平均情況下成立,對于一個特定的觀測數據集,有可能后驗方差大于先驗方差。
2 多項分布的共軛先驗:狄利克雷分布
2.1 類別分布
二元隨機變量可以用來描述只能取兩種可能值中的一種的這樣的量。然而,我們經常會遇到可以取\(K\)個互斥狀態中的某一種的離散變量。一種比較方便的表示方法是“\(1\)-of-\(K\)”表示法。這種表示方法中,變量被表示成一個\(K\)維向量\(\boldsymbol{x}\),向量中的一個元素\(x_k\)等于\(1\),剩余元素等于\(0\)(注意,這樣的向量滿足\(\sum_{k}x_k = 1\))。例如,如果我們有一個能夠取\(K=6\)種狀態的變量,這個變量的某次特定的觀測恰好對應于\(x_3=1\)的狀態,那么\(\boldsymbol{x}\)就可以表示為\(\boldsymbol{x} = (0, 0, 1, 0, 0, 0)^T\)。\(\boldsymbol{x}\)的分布為類別分布(categorical distribution):
其中\(\boldsymbol{\mu} = (\mu_1, \cdots, \mu_K)^T\),參數\(\mu_k\)表示\(x_k=1\)的概率(\(0 \leqslant \mu_k \leqslant 1, \sum_{k}\mu_k = 1\))。上述概率分布可以被看做是伯努利分布對于多個輸出的一個推廣。這個分布是歸一化的(\(\sum_{\boldsymbol{x}}p(\boldsymbol{x}\mid \boldsymbol{u}) = \sum_{k}\mu_k = 1\)),并且均值為
類似地,我們考慮一個有\(x\)的獨立觀測值的數據集\(\mathcal{D}=\{x_1, x_2, \cdots, x_N\}\)。對應的似然函數形式為
依頻率派的做法,為了找到\(\boldsymbol{\mu}\)的最大似然解,我們可以關于\(\mu_k\)最大化\(\ln p(\mathcal{D}\mid \boldsymbol{\mu})\),并且要滿足約束\(\sum_{k}\mu_k=1\)(這可以通過拉格朗日乘數\(\lambda\)實現),此時即最大化:
令上式關于\(\mu_k\)的導數等于\(0\),我們有\(\mu_k = -\frac{m_k}{\lambda}\)。把該結果代入到約束\(\sum_{k}\mu_k=1\)中,解得\(\lambda = -N\)。于是我們得到了最大似然解
它是在\(N\)次觀測中,\(x_k=1\)的觀測所占的比例。
2.2 多項分布
類比于二項分布之于伯努利分布,我們也可以考慮\(m_1, \cdots, m_K\)在參數\(\boldsymbol{\mu}\)和觀測總數\(N\)下的聯合分布。該分布即是我們在博客《概率論沉思錄:初等抽樣論》)中提到過的多項分布(multinomial distribution):
其中\(\sum_{k=1}^Km_k=N\)。
類似地,關于數據集\(\mathcal{D}\),對于多項分布而言我們相當于擁有了單個樣本點\((m_1, m_2, \cdots, m_K)\),我們也可以構造關于\(\boldsymbol{\mu}\)的似然函數如下:
再次采用頻率派的做法,為了找到\(\boldsymbol{\mu}\)的最大似然解,我們可以關于\(\mu_k\)最大化\(\ln p(\mathcal{D}\mid \boldsymbol{\mu})\),并且要滿足約束\(\sum_{k}\mu_k=1\)(這也可以通過拉格朗日乘數\(\lambda\)實現),這樣我們就得到了多項分布參數\(\mu\)的最大似然估計值
可以看到,在多項分布中,參數\(\mu_k\)的最大似然解和“\(1\)-of-\(K\)”隨機變量的分布同樣為\(\mu^{\text{ML}}_k = \frac{m_k}{N}\)。
2.3 狄利克雷分布
現在我們介紹多項分布\(\text{Mult}(m_1,\cdots, m_K\mid \boldsymbol{\mu}, N)\)的參數\(\boldsymbol{\mu}\)的一族先驗分布。觀察多項式分布的形式,我們將其對應的共軛先驗選擇為狄利克雷分布(Dirichlet distribution)[5],定義為
其中歸一化因子\(\Beta(\boldsymbol{\alpha})\)經由多項Beta函數[5]計算得到:
其中積分區域\(\Omega\)也即\(\boldsymbol{\mu}\)的值域(\(0\leqslant\mu_k\leqslant 1\)且\(\sum_{k}\mu_k = 1\)),為\(\mathbb{R}^K\)中的\(K - 1\)維的單純形(simplex)。下圖展示了\(\boldsymbol{\mu} = (\mu_1, \mu_2, \mu_3)^T\)在\(\mathbb{R}^3\)中的分布情況,可以看到其被限制在了一個二維單純形平面中:
參數\(\boldsymbol{\alpha} = (\alpha_1, \cdots, \alpha_K)^T\)。下圖展示了在不同的參數\(\boldsymbol{\alpha} = (\alpha_1, \alpha_2, \alpha_3)^T\)的情況下,單純形上的狄利克雷分布的圖像:
其中兩個水平軸是單純形平面上的坐標軸,垂直軸對應于概率密度的值。這里\(\boldsymbol{\alpha}=(0.1, 0.1, 0.1)^T\)對應于左圖,\(\boldsymbol{\alpha}=(1, 1, 1)^T\)對應于中圖,\(\boldsymbol{\alpha}=(10, 10, 10)^T\)對應于右圖。
根據狄利克雷先驗\(\text{Dir}(\boldsymbol{\mu}\mid \boldsymbol{\alpha}) = \frac{1}{\Beta(\boldsymbol{\alpha})} \prod_k\mu_k^{\alpha_k - 1}\)與多項分布的似然函數\(p(\mathcal{D}\mid \boldsymbol{\mu}) = \prod_k\mu_k^{m_k}\),我們可以可得到\(\boldsymbol{\mu}\)的后驗分布為:
這是\(\text{Dir}(\boldsymbol{\mu}\mid \boldsymbol{m} + \boldsymbol{\alpha})\)分布,其中\(\boldsymbol{m} = (m_1, \cdots, m_K)^T\)。
類比于我們之前為二項分布選擇先驗分布\(\text{Beta}(\mu\mid a, b)\),將參數\(a\)和\(b\)分別看成\(x = 1\)和\(x = 0\)的有效觀測數,這里我們為多項分布選擇先驗分布\(\text{Dir}(\boldsymbol{\mu}\mid \boldsymbol{\alpha})\),也可以將參數\(\alpha_k\)看成\(x_k = 1\)的有效觀測數。
需要注意的是,具有兩個狀態的量既可以表示為二元變量然后使用二項分布建模,也可以表示為類別變量然后使用多項分布建模。
參考
- [1] Bishop C M, Nasrabadi N M. Pattern recognition and machine learning[M]. New York: springer, 2006.
- [2] Casella G, Berger R. Statistical inference[M]. CRC press, 2024.
- [3] Rudin W. Principles of mathematical analysis[M]. New York: McGraw-hill, 1964.
- [4] Bengio Y, Goodfellow I, Courville A. Deep learning[M]. Cambridge, MA, USA: MIT press, 2017.
- [5] 《維基百科:狄利克雷分布》

離散隨機變量的二項分布和多項式分布,以及連續隨機變量的高斯分布,這些都是參數分布(parmetric distribution)的具體例子。之所以被稱為參數分布,是因為少量可調節的參數控制了整個概率分布。在頻率派的觀點中,我們通過最優化某些準則(例如似然函數)來確定參數的具體值。而在貝葉斯派的觀點中,給定觀測數據,我們引入參數的先驗分布,然后使用貝葉斯定理來計算對應后驗概率分布。我們會看到,對于貝葉斯參數估計而言,共軛先驗(conjugate prior)有著很重要的作用。它使得后驗概率分布的函數形式與先驗概率相同,因此使得貝葉斯分析得到了極大的簡化。例如,二項分布的參數的共軛分布為Beta分布,多項式分布的參數的共軛分布為狄利克雷分布(Dirichlet distribution),而高斯分布的均值的共軛先驗是另一個高斯分布。所有這些分布都是指數族(exponential family)分布的特例。在本篇博客中我們將會介紹二項分布與多項式分布的共軛先驗,高斯分布的共軛先驗留在下一篇博客中進行介紹。
浙公網安備 33010602011771號