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