在許多情況下,機(jī)器學(xué)習(xí)相當(dāng)于從數(shù)據(jù)中估計(jì)參數(shù)。這些參數(shù)通常很多且相對(duì)難以解釋——例如神經(jīng)網(wǎng)絡(luò)的權(quán)重。相比之下,高斯過程提供了一種機(jī)制,可以直接推理適合我們數(shù)據(jù)的函數(shù)的高級(jí)屬性。例如,我們可能了解這些函數(shù)是否快速變化、周期性、涉及條件獨(dú)立性或平移不變性。高斯過程使我們能夠通過直接指定適合我們數(shù)據(jù)的函數(shù)值的高斯分布,輕松地將這些屬性合并到我們的模型中。
讓我們從一些例子開始,感受一下高斯過程是如何運(yùn)作的。
假設(shè)我們觀察以下回歸目標(biāo)(輸出)的數(shù)據(jù)集,y,由輸入索引,x. 例如,目標(biāo)可以是二氧化碳濃度的變化,輸入可以是記錄這些目標(biāo)的時(shí)間。數(shù)據(jù)有哪些特點(diǎn)?它看起來變化多快?我們是否定期收集數(shù)據(jù)點(diǎn),或者是否缺少輸入?您如何想象填補(bǔ)缺失的區(qū)域,或預(yù)測(cè)直到x=25?
為了用高斯過程擬合數(shù)據(jù),我們首先指定我們認(rèn)為合理的函數(shù)類型的先驗(yàn)分布。在這里,我們展示了幾個(gè)來自高斯過程的示例函數(shù)。這個(gè)先驗(yàn)看起來合理嗎?請(qǐng)注意,這里我們不是在尋找適合我們數(shù)據(jù)集的函數(shù),而是在尋找解決方案的合理高級(jí)屬性,例如它們隨輸入變化的速度。請(qǐng)注意,我們將在下一個(gè)關(guān)于先驗(yàn)和推理的筆記本中看到用于重現(xiàn)此筆記本中所有圖的代碼。
一旦我們以數(shù)據(jù)為條件,我們就可以使用它來推斷適合數(shù)據(jù)的函數(shù)的后驗(yàn)分布。在這里,我們展示了示例后驗(yàn)函數(shù)。
我們看到這些函數(shù)中的每一個(gè)都與我們的數(shù)據(jù)完全一致,完美地貫穿了每一次觀察。為了使用這些后驗(yàn)樣本進(jìn)行預(yù)測(cè),我們可以對(duì)后驗(yàn)中每個(gè)可能的樣本函數(shù)的值進(jìn)行平均,以創(chuàng)建下面的粗藍(lán)色曲線。請(qǐng)注意,我們實(shí)際上不必采用無限數(shù)量的樣本來計(jì)算此期望;正如我們稍后將看到的,我們可以計(jì)算封閉形式的期望。
我們可能還需要不確定性的表示,因此我們知道我們應(yīng)該對(duì)我們的預(yù)測(cè)有多大的信心。直覺上,我們應(yīng)該有更多的不確定性,因?yàn)闃颖竞篁?yàn)函數(shù)的可變性更大,因?yàn)檫@告訴我們真實(shí)函數(shù)可以采用更多可能的值。這種不確定性稱為認(rèn)知不確定性,即可約化的不確定性。與缺乏信息有關(guān)。隨著我們獲取更多數(shù)據(jù),這種不確定性就會(huì)消失,因?yàn)榕c我們觀察到的一致的解決方案將越來越少。與后驗(yàn)均值一樣,我們可以計(jì)算封閉形式的后驗(yàn)方差(這些函數(shù)在后驗(yàn)中的可變性)。使用陰影,我們?cè)诰祪蓚?cè)顯示兩倍的后驗(yàn)標(biāo)準(zhǔn)差,創(chuàng)建一個(gè)可信區(qū)間 ,該區(qū)間有 95% 的概率包含任何輸入的函數(shù)真實(shí)值x.
如果我們刪除后驗(yàn)樣本,只需可視化數(shù)據(jù)、后驗(yàn)均值和 95% 可信集,該圖看起來會(huì)更清晰一些。注意不確定性如何從數(shù)據(jù)中增長(zhǎng),這是認(rèn)知不確定性的一個(gè)特性。
我們用來擬合數(shù)據(jù)的高斯過程的屬性受到所謂的協(xié)方差函數(shù)(也稱為內(nèi)核)的強(qiáng)烈控制。我們使用的協(xié)方差函數(shù)稱為RBF(徑向基函數(shù))核,其形式為
這個(gè)內(nèi)核的超參數(shù)是可解釋的。振幅 參數(shù)_a控制函數(shù)變化的垂直尺度,以及長(zhǎng)度尺度參數(shù)?控制函數(shù)的變化率(擺動(dòng)度)。更大a 意味著更大的函數(shù)值,并且更大?意味著更緩慢地改變函數(shù)。讓我們看看我們的樣本先驗(yàn)函數(shù)和后驗(yàn)函數(shù)隨著我們的變化會(huì)發(fā)生什么a和?.
長(zhǎng)度尺度對(duì) GP 的預(yù)測(cè)和不確定性有特別顯著的影響。在||x?x′||=?,一對(duì)函數(shù)值之間的協(xié)方差是a2exp?(?0.5). 在比更遠(yuǎn)的距離?,函數(shù)值變得幾乎不相關(guān)。這意味著如果我們想在某個(gè)點(diǎn)做出預(yù)測(cè)x?,然后是帶有輸入的函數(shù)值 x這樣||x?x′||>?不會(huì)對(duì)我們的預(yù)測(cè)產(chǎn)生強(qiáng)烈影響。
讓我們看看更改長(zhǎng)度尺度如何影響樣本先驗(yàn)和后驗(yàn)函數(shù)以及可信集。以上擬合使用長(zhǎng)度尺度2. 現(xiàn)在讓我們考慮 ?=0.1,0.5,2,5,10. 的長(zhǎng)度尺度0.1相對(duì)于我們正在考慮的輸入域的范圍來說非常小, 25. 例如,函數(shù)的值在x=5和 x=10在這樣的長(zhǎng)度范圍內(nèi)基本上沒有相關(guān)性。另一方面,對(duì)于長(zhǎng)度尺度10,這些輸入的函數(shù)值將高度相關(guān)。請(qǐng)注意,下圖中的垂直比例發(fā)生了變化。
請(qǐng)注意,隨著長(zhǎng)度尺度的增加,函數(shù)的“擺動(dòng)性”會(huì)降低,我們的不確定性也會(huì)降低。如果長(zhǎng)度尺度很小,隨著我們遠(yuǎn)離數(shù)據(jù),不確定性會(huì)迅速增加,因?yàn)閿?shù)據(jù)點(diǎn)對(duì)函數(shù)值的信息變得越來越少。
現(xiàn)在,讓我們改變振幅參數(shù),將長(zhǎng)度尺度固定在2. 請(qǐng)注意,垂直比例對(duì)于先驗(yàn)樣本保持固定,而對(duì)于后驗(yàn)樣本則不同,因此您可以清楚地看到函數(shù)的增加比例以及對(duì)數(shù)據(jù)的擬合。
我們看到振幅參數(shù)影響函數(shù)的尺度,但不影響變化率。在這一點(diǎn)上,我們也感覺到我們程序的泛化性能將取決于這些超參數(shù)的合理值。價(jià)值觀?=2 和a=1似乎提供了合理的擬合,而其他一些值卻沒有。幸運(yùn)的是,有一種強(qiáng)大且自動(dòng)的方法可以使用所謂的邊際似然來指定這些超參數(shù),我們將在筆記本中進(jìn)行推理。
那么究竟什么是全科醫(yī)生呢?在我們開始時(shí),GP 簡(jiǎn)單地說任何函數(shù)值的集合f(x1),…,f(xn), 由任何輸入集合索引x1,…,xn具有聯(lián)合多元高斯分布。均值向量μ此分布的 由均值函數(shù)給出,該函數(shù)通常被視為常數(shù)或零。該分布的協(xié)方差矩陣由 在所有輸入對(duì)上評(píng)估的內(nèi)核給出x.
等式(18.1.2)指定了一個(gè) GP 先驗(yàn)。我們可以計(jì)算條件分布f(x)對(duì)于任何x給予 f(x1),…,f(xn),我們觀察到的函數(shù)值。這種條件分布稱為后驗(yàn)分布,我們用它來進(jìn)行預(yù)測(cè)。
尤其,
在哪里
在哪里k(x,x1:n)是一個(gè)1×n通過評(píng)估形成的向量k(x,xi)為了i=1,…,n和 k(x1:n,x1:n)是一個(gè)n×n通過評(píng)估形成的矩陣k(xi,xj)為了i,j=1,…,n.m是我們可以用作任何的點(diǎn)預(yù)測(cè)器x, 和s2 是我們用于不確定性的東西:如果我們想創(chuàng)建一個(gè)有 95% 概率的區(qū)間f(x)在區(qū)間內(nèi),我們將使用 m±2s. 上述所有數(shù)字的預(yù)測(cè)方法和不確定性都是使用這些方程式創(chuàng)建的。觀察到的數(shù)據(jù)點(diǎn)由f(x1),…,f(xn)并選擇了一組細(xì)粒度的x點(diǎn)來做出預(yù)測(cè)。
假設(shè)我們觀察到一個(gè)數(shù)據(jù)點(diǎn),f(x1),我們想確定的價(jià)值f(x)在一些x. 因?yàn)?f(x)由高斯過程描述,我們知道聯(lián)合分布(f(x),f(x1))是高斯分布的:
非對(duì)角表達(dá)式k(x,x1)=k(x1,x)告訴我們函數(shù)值的相關(guān)程度——確定程度 f(x)將來自f(x1). 我們已經(jīng)看到,如果我們使用大長(zhǎng)度尺度,相對(duì)于之間的距離x 和x1,||x?x1||,則函數(shù)值將高度相關(guān)。我們可以想象確定的過程 f(x)從f(x1)無論是在功能空間,還是在聯(lián)合分布f(x1),f(x). 讓我們首先考慮一個(gè)x這樣k(x,x1)=0.9, 和 k(x,x)=1,這意味著f(x)與值適度相關(guān)f(x1). 在聯(lián)合分布中,恒定概率的等高線將是相對(duì)較窄的橢圓。
假設(shè)我們觀察f(x1)=1.2. 以這個(gè)值為條件 f(x1),我們可以畫一條水平線1.2在我們的密度圖上,可以看到f(x)主要限于[0.64,1.52]. 我們還在函數(shù)空間中繪制了這個(gè)圖,顯示了觀察點(diǎn)f(x1)橙色,高斯過程預(yù)測(cè)分布的 1 個(gè)標(biāo)準(zhǔn)差 f(x)藍(lán)色,關(guān)于的平均值1.08.
現(xiàn)在假設(shè)我們有更強(qiáng)的相關(guān)性,k(x,x1)=0.95. 現(xiàn)在橢圓進(jìn)一步縮小,并且值f(x)更強(qiáng)烈地決定于f(x1). 畫一條水平線在1.2,我們看到輪廓f(x)支持值主要在[0.83,1.45]. 同樣,我們還在函數(shù)空間中顯示了該圖,其中關(guān)于平均預(yù)測(cè)值的一個(gè)標(biāo)準(zhǔn)偏差1.14.
我們看到我們的高斯過程的后驗(yàn)均值預(yù)測(cè)器更接近于1.2,因?yàn)楝F(xiàn)在有更強(qiáng)的相關(guān)性。我們還看到我們的不確定性(誤差條)有所減少。盡管這些函數(shù)值之間存在很強(qiáng)的相關(guān)性,但我們的不確定性仍然相當(dāng)大,因?yàn)槲覀冎挥^察到一個(gè)數(shù)據(jù)點(diǎn)!
這個(gè)過程可以給我們一個(gè)后驗(yàn)f(x)對(duì)于任何 x,對(duì)于我們觀察到的任意數(shù)量的點(diǎn)。假設(shè)我們觀察 f(x1),f(x2). 我們現(xiàn)在將后驗(yàn)可視化為f(x) 在特定的x=x′在函數(shù)空間。的確切分布f(x)由上述等式給出。f(x)是高斯分布的,均值
和方差
在這個(gè)介紹性筆記本中,我們一直在考慮無噪聲 觀察。正如我們將看到的,很容易包含觀察噪聲。如果我們假設(shè)數(shù)據(jù)是從潛在無噪聲函數(shù)生成的f(x)加上 iid 高斯噪聲 ?(x)~N(0,σ2)有方差 σ2,那么我們的協(xié)方差函數(shù)就變成了 k(xi,xj)→k(xi,xj)+δijσ2, 在哪里 δij=1如果i=j和0否則。
我們已經(jīng)開始對(duì)如何使用高斯過程指定先驗(yàn)和后驗(yàn)解以及核函數(shù)如何影響這些解的屬性有了一些直覺。在后面的notebook中,我們將準(zhǔn)確地展示如何先驗(yàn)指定高斯過程,介紹和推導(dǎo)各種核函數(shù),然后通過如何自動(dòng)學(xué)習(xí)核超參數(shù),形成高斯過程后驗(yàn)進(jìn)行預(yù)測(cè)的機(jī)制。雖然習(xí)慣“函數(shù)分布”等概念需要時(shí)間和實(shí)踐,但尋找 GP 預(yù)測(cè)方程的實(shí)際機(jī)制實(shí)際上非常簡(jiǎn)單——通過實(shí)踐可以很容易地形成對(duì)這些概念的直觀理解。
18.1.1. 概括
在典型的機(jī)器學(xué)習(xí)中,我們指定一個(gè)帶有一些自由參數(shù)(例如神經(jīng)網(wǎng)絡(luò)及其權(quán)重)的函數(shù),我們專注于估計(jì)那些可能無法解釋的參數(shù)。使用高斯過程,我們直接對(duì)函數(shù)的分布進(jìn)行推理,這使我們能夠?qū)鉀Q方案的高級(jí)屬性進(jìn)行推理。這些屬性由協(xié)方差函數(shù)(內(nèi)核)控制,該函數(shù)通常具有一些高度可解釋的超參數(shù)。這些超參數(shù)包括長(zhǎng)度尺度,它控制函數(shù)的速度(波動(dòng)程度)。另一個(gè)超參數(shù)是振幅,它控制我們的函數(shù)變化的垂直尺度。表示可以擬合數(shù)據(jù)的許多不同函數(shù),并將它們組合在一起形成預(yù)測(cè)分布,是貝葉斯方法的一個(gè)顯著特征。因?yàn)檫h(yuǎn)離數(shù)據(jù)的可能解決方案之間存在更大的可變性,所以隨著我們遠(yuǎn)離數(shù)據(jù),我們的不確定性直觀地增加。
高斯過程通過指定所有可能函數(shù)值的多元正態(tài)(高斯)分布來表示函數(shù)分布。可以輕松地操縱高斯分布以根據(jù)任何一組其他值的值找到一個(gè)函數(shù)值的分布。換句話說,如果我們觀察一組點(diǎn),那么我們可以以這些點(diǎn)為條件,并推斷函數(shù)值在任何其他輸入下的分布。我們?nèi)绾螌?duì)這些點(diǎn)之間的相關(guān)性進(jìn)行建模由協(xié)方差函數(shù)決定,并且定義了高斯過程的泛化屬性。雖然習(xí)慣高斯過程需要時(shí)間,但它們很容易使用,有很多應(yīng)用程序,并幫助我們理解和開發(fā)其他模型類,如神經(jīng)網(wǎng)絡(luò)。
18.1.2. 練習(xí)
-
認(rèn)知不確定性與觀察不確定性之間有什么區(qū)別?
-
除了變化率和幅度之外,我們可能還想考慮函數(shù)的哪些其他屬性,以及具有這些屬性的函數(shù)的真實(shí)示例是什么?
-
我們考慮的 RBF 協(xié)方差函數(shù)表示觀測(cè)值之間的協(xié)方差(和相關(guān)性)隨著它們?cè)谳斎肟臻g(時(shí)間、空間位置等)中的距離而減小。這是一個(gè)合理的假設(shè)嗎?為什么或者為什么不?
-
兩個(gè)高斯變量之和是高斯分布嗎?兩個(gè)高斯變量的乘積是高斯分布嗎?如果 (a,b) 服從聯(lián)合高斯分布,a|b (a given b) 是否服從高斯分布?是高斯分布嗎?
-
重復(fù)我們觀察數(shù)據(jù)點(diǎn)的練習(xí) f(x1)=1.2,但現(xiàn)在假設(shè)我們另外觀察 f(x2)=1.4. 讓k(x,x1)=0.9, 和 k(x,x2)=0.8. 我們會(huì)或多或少地確定f(x),比我們只觀察到f(x1)?我們的價(jià)值的平均值和 95% 可信集是多少f(x) 現(xiàn)在?
-
您認(rèn)為增加我們對(duì)觀測(cè)噪聲的估計(jì)會(huì)增加還是減少我們對(duì)地面真值函數(shù)長(zhǎng)度尺度的估計(jì)?
-
當(dāng)我們遠(yuǎn)離數(shù)據(jù)時(shí),假設(shè)我們的預(yù)測(cè)分布中的不確定性增加到一個(gè)點(diǎn),然后停止增加。為什么會(huì)發(fā)生這種情況?
評(píng)論