在許多情況下,機器學習相當于從數據中估計參數。這些參數通常很多且相對難以解釋——例如神經網絡的權重。相比之下,高斯過程提供了一種機制,可以直接推理適合我們數據的函數的高級屬性。例如,我們可能了解這些函數是否快速變化、周期性、涉及條件獨立性或平移不變性。高斯過程使我們能夠通過直接指定適合我們數據的函數值的高斯分布,輕松地將這些屬性合并到我們的模型中。
讓我們從一些例子開始,感受一下高斯過程是如何運作的。
假設我們觀察以下回歸目標(輸出)的數據集,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 簡單地說任何函數值的集合<
評論
查看更多