- 本文參考《PRML》,並加入了一些自己的理解,如有錯誤懇請指出。
1 前言
1.1 怎麼理解高斯過程?高斯過程和隨機過程的關係是什麼?
- 高斯分佈:隨機變量服從高斯分佈,意味着在當前時刻,該隨機變量可能取的值服從高斯分佈,但它只能從分佈中取一個!
- 隨機過程:在一條時間線上,或一個數據集中,隨機變量在每個位置上服從一定的分佈,但在每一個位置只能取一個值,假設共有m個時間點(或數據集容量爲m),則一共會產生m個取值結果,這m個取值結果便稱爲一個過程,因爲在每一個點的取值是隨機的,因此稱爲隨機過程。我們用聯合概率分佈來描述隨機過程:
- 高斯過程:對於一個隨機過程,如果隨機變量在每個位置服從的分佈是高斯分佈,那該隨機過程就稱爲高斯過程;但在高斯過程中,對於m個隨機變量產生的結果,我們不再使用聯合概率分佈來描述,而是使用多維高斯分佈的二階統計量來描述: 和 ;
1.2 貝葉斯線性迴歸與高斯過程
-
在貝葉斯線性迴歸問題中,我們建立了如下模型:
參數服從一個高斯先驗分佈:
-
因此對於一個數據集 ,模型的輸出 (注意這裏的模型的輸出不是數據集中的標籤或目標值,這裏只描述了一個線性高斯模型的輸出,並沒有描述噪聲)服從維高斯分佈:
其中:
其中是Gram矩陣:
稱爲核函數; -
因此,模型的輸出 可以看作一個高斯過程;
1.3 貝葉斯線性迴歸與高斯過程:二維場景舉例 (看懂了可以跳過這一節)
-
考慮簡單的二維場景:
-
假設參數服從高斯先驗分佈 :
-
根據公式,可以直接計算得到模型輸出 的多元高斯分佈的均值和協方差矩陣:
-
根據多元高斯分佈的均值和協方差矩陣,可以得出高斯過程在三個位置上的概率分佈如圖所示(三條紅色曲線),可以看出,的方差大於的方差大於的方差;且由於三個變量的協方差都爲正,因此三個變量之間成正相關,即當小於均值的時候,都會大概率小於各自的均值(當然這取決於相關性的強弱),如圖中所示爲一組可能的採樣點。
1.4 高斯過程:直接定義核函數
- 回顧一下前面對模型輸出的分佈建模的思路:選擇basis function ,確定參數的先驗分佈,然後使用線性迴歸模型定義一個高斯過程;然後得到模型輸出 的多元高斯分佈。
- 我們也可以不定義basis function,而是直接定義核函數,得到輸出的多元高斯分佈;
- 常用核函數:
- 高斯核:
- 指數核:
- 高斯核:
- 高斯核描述了數據點之間的相關性強弱,
- 使用高斯核和指數核的模型輸出的採樣結果如下
2 高斯過程採樣的定性分析
- 下面來說說上圖的曲線是怎麼得到的。仍然考慮簡單的場景,假設數據是一維的,仍然假設參數服從的先驗分佈,且不考慮噪聲(noise-free);
- 當數據集只有一個數據 時,根據高斯核函數可以直接得到輸出的分佈:
然後對輸出 進行採樣,如圖所示:
- 然後數據集中加入第二個點,根據高斯核函數可以直接得到輸出的聯合分佈:
我們得到了輸出和的聯合概率分佈,該分佈取決於高斯核函數的計算結果,即如果相距較近,則和的相關性更強,則可能得到如下左圖的聯合分佈,如果相距較遠,則和的相關性較弱,則可能得到如下右圖的聯合分佈(值得注意的是,由於高斯核函數計算的對角線元素均爲1,因此和各自的方差是相同的,對應下圖的陰影部分在橫縱座標上跨度相同):
由於目前已經有了 的採樣結果,再對 進行採樣的時候,就要按照條件高斯分佈進行採樣,如下圖所示:
如果和距離很近,則會出現上圖左圖中的情況,相關性很強,即此時的極其依賴於,進行採樣得到 幾乎和 大小相同;如果和距離較遠,則會出現上圖右圖中的情況,相關性較弱,即此時的不太依賴於,進行採樣得到 和 也會有一定差別。反映到輸入輸出座標軸上,如下圖所示:(注意!!下圖中看起來採樣點似乎等於的採樣均值,但實際上兩者並不相等!具體計算見3.2節,這裏是爲了展示方便)
- 假設我們已經採樣完成了如上圖左圖中的兩個點 和 ,現在我們加入第三個數據,,根據高斯核函數可以直接得到輸出的聯合分佈:
如下圖所示,黃色橢球代表三個變量的聯合分佈,根據已有的採樣點 和 ,可以求出 的採樣範圍(圖中綠色範圍所示):條件高斯分佈
根據協方差矩陣, 和 的距離決定了和的相關性,在輸出輸出座標軸上表示(定性表示)如下圖所示,左圖中,與,的距離都較遠,因此相關性較弱,採樣範圍較大;右圖中,與的距離較遠,與的距離較近,因此和相關性弱,與相關性強,因此採樣範圍主要取決於的位置;(這裏同樣的,樣本點並不等於的採樣均值,只是爲了展示方便)
- 目前我們已經得到了三個採樣點,如果數據集中繼續加入元素,將無法用圖像直觀描述,但是我們可以以此類推,來分析下圖(左邊的高斯核採樣曲線):(1)當新加入的點 和已有的點 無限接近的時候,則和也將無限接近,這就是爲什麼我們在採樣圖(如下圖)中看到的採樣曲線是連續的平滑的;(2)下圖的曲線實際上是在x軸上無限採樣的結果,實際上是離散的,而不是連續的;(3)新加入的點與離其最近的點集相關性最強,例如如果最近的點集的輸出是單調遞增,則新加入的點的輸出也大概率滿足單調遞增;
3 高斯迴歸
3.1 對模型輸出添加噪聲
- 在前面的定性分析中,我們描述了模型輸出 的聯合概率分佈,沒有考慮噪聲,而在迴歸問題中,訓練集中的標籤值 都是帶有固定噪聲的,因此我們需要將噪聲 加入到模型的輸出 中:
其中:
因此,可以得到:
又根據模型高斯過程的定義:
因此,標籤值的聯合概率分佈爲:
其中:,即:
這樣我們就得到了數據集中的標籤值的聯合概率分佈; - 下圖藍色的曲線爲高斯過程採樣的結果,紅色的點爲數據集中的點 對應的模型輸出 ,綠色的點爲加入獨立噪聲的結果 :
3.2 高斯迴歸
- 問題定義:給定數據集,和新的測試數據 ,預測 的分佈,即計算;
- 高斯迴歸過程:
- 計算目標值的聯合概率分佈:
協方差矩陣可分解爲如下部分:
- 條件高斯分佈便可以由下式計算:
其中輸出的均值和方差可由下式給出:
- 上式放在二維場景下,就是計算下圖中的綠色曲線的過程。(可以看出的採樣均值並不等於)
- 在貝葉斯線性迴歸中,我們曾經提到“預測分佈的均值是訓練集中每個標籤值的線性組合”,高斯過程預測的均值 ,也是標籤值的線性組合:
其中各項組合的權重是由核函數計算的,且該權重是新輸入測試數據的函數,即還可以寫成如下形式:
其中 是 中的第 個元素;
3.3 超參數的選擇
- 高斯過程的超參數包括噪聲誤差精度,還有核函數中的參數,這些參數的選擇方法是通過極大似然估計,具體過程省略。
4 極大似然線性迴歸、貝葉斯線性迴歸、高斯迴歸的區別和聯繫
極大似然線性迴歸 | 貝葉斯線性迴歸 | 高斯迴歸 | |
---|---|---|---|
研究空間 | 參數空間 | 參數空間 | 函數空間 |
使用方法 | 極大似然估計 | 極大後驗估計 | 高斯過程 |
4.1 極大似然線性迴歸
- 我們之前最熟悉的是極大似然線性迴歸,代表頻率學派的觀點,其目的是在參數空間中尋找一組能擬合當前訓練集的最優參數,學習到參數之後,使用判別式模型,預測新數據;但是當拿來一組新的訓練集時,就要重新學習參數;
4.2 貝葉斯線性迴歸
- 貝葉斯線性迴歸代表貝葉斯學派的觀點,其目的並不是尋找能擬合訓練集的最優參數,而是認爲,參數沒有“最優”,只有“更優”;貝葉斯線性迴歸認爲參數存在先驗,學習的過程就是不斷計算參數的後驗分佈,然後把計算得到的後驗分佈作爲下一次學習的先驗分佈的過程,每次拿到一組新的訓練集,都能在原來的基礎上繼續學習,有一種“學習永不停止”的意思;與極大似然迴歸相比,其學習的結果不是一組確定的參數,而是參數的(後驗)分佈,用這組不確定的參數對新數據進行預測時,得到的預測結果也是不確定的,即得到的預測結果也是一組分佈,而不是某個確定的預測值。
4.3 高斯迴歸
- 前兩種迴歸方法都是在參數空間中對參數進行估計,這樣的弊端在於必須自己選擇模型(basis-function),有時模型的選擇會對預測結果產生較大的影響,而如何選擇模型則完全靠經驗。高斯迴歸直接放棄對模型的選擇,而是相信一個“真理”:我只要用和新數據相近的訓練集數據預測輸出,結果肯定大差不差。即使用核方法對訓練集中的目標值的聯合概率分佈進行建模,當輸入新的數據時,使用貝葉斯公式得出預測值的條件高斯分佈。預測結果中除了核函數的超參數外不包含任何需要學習的參數。