高斯過程回歸和其他回歸技術(比如線性回歸)之間的區別
我對可用的回歸技術的差異感到困惑。
以線性回歸為例。在這種情況下,我們構建一個模型 $ y = \beta^Tx + \epsilon $ 在哪裡 $ \epsilon \sim N(0,\sigma^2) $ . 從某種意義上說, $ y $ 然後變成一個“高斯過程”,其均值為 $ \beta^Tx $ 而它的協方差函數是 $ k(x,x')=\sigma^2 \mathbb{1}_{x = x'} $ .
另一方面,高斯過程回歸(如在 GP for ML 書中)被建模為 $ y \sim N(m(x),k(x,x')) $ 對於一些內核/協方差函數 $ k(x,x') $ . 然後,這種類型的模型用於使用協方差函數產生的基函數對給定的數據集進行插值。
我看到的主要區別是線性回歸(或實際上是這種形式的廣義回歸)創建的模型不通過數據點,而是找到具有“最佳擬合”的模型。當然,預測器不必是線性的。另一方面,高斯過程回歸使用高斯向量的條件來找到一個實際通過數據點的模型。
考慮到這一點:
- 真正的高斯過程回歸是什麼?可以進行正態分佈的線性回歸嗎 $ \epsilon $ 仍然被認為是高斯過程回歸,而不是插值數據的高斯過程回歸(即克里金法)?我很困惑,因為維基百科顯示高斯過程回歸不需要插入數據點,如圖所示:link。
有人可以幫我澄清這種困惑嗎?
正如維基百科鏈接所示,高斯過程不必在點之間完美插值;這完全取決於您使用的協方差函數。
例如,考慮形式的 GP $ X \sim \mathcal N(0, \Sigma_{k_t}) $ , 在哪裡 $ X $ 是“因變量”的向量,並且 $ \Sigma_{k_t} $ 是一個協方差矩陣,其中每個元素 $ \Sigma_{ij} = k(t_i, t_j) $ 對於一些核函數 $ k $ ,以及“自變量”的一組點 $ t $ .
如果您指定具有以下屬性的內核: $ Cor(x_i, x_j) \to 1 $ 作為 $ ||t_i - t_j|| \to 0 $ ,請注意您正在強制執行連續性。因此,如果您簡單地使用這樣的內核,例如 RBF,它必須通過所有點,因為這裡根本沒有“噪音”。
相反,如果您決定指定一個確實考慮噪聲的內核,例如: $ k(t_i, t_j) = RBF(t_i, t_j) + \sigma^2 \mathcal I(t_i =t_j) $ (
WhiteKernel
在 scikit-learn 中,也稱為白噪聲內核),那麼請注意,即使兩者 $ t $ s 很接近,它們的相關性不是 1,即這裡有一些噪音。所以函數不應該是連續的。事實上,您可以將這樣的內核解釋為傳統的平滑 RBF GP,但在頂部添加了噪聲項:
$$ X \sim \mathcal N(0, \Sigma_{RBF} + \sigma^2 \mathcal I) $$ $$ \stackrel d= \mathcal N(0, \Sigma_{RBF}) + \mathcal N(0, \sigma^2 \mathcal I) $$ $$ \Rightarrow X = \bar X +\epsilon $$
… 在哪裡 $ \bar X $ 現在是連續的全科醫生。請注意這與線性回歸方程有多麼相似——唯一的區別是您將線性回歸的平均值(這是一條參數線)替換為非參數 GP。