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