標籤:

高斯過程簡介

首先解釋什麼是高斯過程,然後將貝葉斯回歸一般化到高斯過程回歸,比較容易理解。

高斯過程模型描述了函數的概率分布,更嚴格地說是函數實例的概率分布。對於函數 f ,當以 	extbf{x}=(x_1,dots,x_n)^T 作為輸入時,函數被實例化為 (f_1,dots,f_n)^T ,簡單來說就是把 	extbf{x} 帶入到 f 中。有了一個函數的實例後,我們假設 (f_1,dots,f_n)^T 服從均值為 	extbf{0} ,協方差為 	extbf{K} 的高斯分布,即: p(	extbf{f}|	extbf{K})=N(	extbf{f}| 	extbf{0},	extbf{K})。這個分布我們稱作(先驗)高斯過程,其中協方差矩陣 	extbf{K} 是由以 x_i 作為自變數的協方差函數決定的。協方差函數的一種形式為Squared Exponential(SE)或者Radius Basis Function(RBF),即

k(x_n,x_m)=exp(- frac{gamma}{2}(x_n-x_m)^T(x_n-x_m))

熟悉支持向量機的同學可以看出來,RBF的形式和高斯核函數的形式是一樣的。RBF協方差函數使相距較近的點有較高的協方差,相距較遠的點有較低的協方差。

說完了高斯過程的定義,看起來很玄幻,那麼它有什麼實際的應用呢?

現在我們回到貝葉斯回歸模型。在貝葉斯回歸中,我們有一組採樣的輸入值和它們對應的輸出{ (x_i,y_i)}_{i=1}^n ,為了在下次得到採樣值時預測輸出,我們假設輸出與採樣值之間有如下關係 y=w^Tx ,方便起見這裡認為輸出是沒有噪音的。接下來是對參數 w 進行預測。認為參數是一個隨機變數,那麼在已知數據集 D={ (x_i,y_i)}_{i=1}^n 的情況下,參數 w 的分布為


p(w|D)=frac{p(D|w)p(w)}{int p(D|w)p(w)dw}

其中 p(D|w) 為數據集的似然, p(w)w 的先驗分布。在得到參數 w 的條件分布之後,我們可以對所有可能的 w 進行積分,以得到輸入 x^* 的預測值 y^* 的概率:

p(y^*|D,x^*)=int p(y^*|x^*,w)p(w|D)dw

那麼高斯過程和貝葉斯回歸有什麼關係呢?現在我們把貝葉斯回歸推廣到高斯過程回歸。在貝葉斯回歸中,我們把輸出和輸出的關係表示成 y=w^Tx 然後給參數 w 一個先驗分布。在高斯過程回歸中,我們不顯示的表達輸入與輸出的關係,而是認為 y=f(x) 。這個函數的形式我們不知道,但是當有了一組觀測值 { (x_i,f_i)}_{i=1}^n 之後,先驗高斯過程給出了 (f_1,dots,f_n)^T 的分布,這樣我們就可以利用貝葉斯回歸的思想對輸入值給出預測。假設我們現在有一組完整輸入輸出的觀測值 { (x_i,f_i)}_{i=1}^n 和僅有輸入{(x_j^*)}_{i=1}^m 的採樣值,想要估計 m 個採樣點的輸出值,就可以用高斯過程回歸來進行預測。高斯過程可以給出 m+n 維函數(f_1,dots,f_n,f^*_1,dots,f^*_m)^T的聯合概率密度 p(	extbf{f},	extbf{f}^*) ,然後將聯合概率密度 p(	extbf{f},	extbf{f}^*) 除以已知的 p(	extbf{f}) 就可以得到我們想要的預測值的條件概率密度 p(	extbf{f}^*|	extbf{f}) 。在實際中,我們的觀測總是受到雜訊的影響,因此輸入和輸出的關係不是簡單地設為 y=f(x) 而是加一個噪音項。不過加入噪音只會改變高斯過程回歸的數學形式,思想和上述方法是一樣的。


推薦閱讀:

如何六個月內學會深度學習
【最優化】無約束優化方法-阻尼牛頓法
1-2 Welcome
反向傳播演算法和梯度下降理解
【翻譯】Brian2高級指導_狀態更新

TAG:機器學習 |