高斯過程(GP)
GP的定義:
對於任意集合S,S上的高斯過程(GP)是隨機變量序列(Zt:t∈S)的一個集合,使得所有n∈N,所有t1,t2……,tn∈S,(Zt1,Zt2,……,Ztn)是多維高斯。
如果S集合中的元素個數是有限的,則Z是否為GP可以通過窮舉判斷其是否為多維高斯函數。如果S集合中元素的個數是無限的,則Z不能通過窮舉獲得,但是如果Z中的變量和某個高斯變量有直接聯系的話,Z也有可能是S上的一個GP。
存在定理說明:
對任意集合S中的單個元素都存在某個均值函數,以及對任意集合S中的2個元素都存在某個核函數(即協方差),則在S上一定存在一個高斯過程Z(t),其元素具有類似S形式的均值和方差。所以在給定集合S後,我們只需要給出一個一元的均值函數
常見的高斯過程
1.Random planes:S=Rd,μ(x)=0,k(x,y)=xTy
2.Std Brounion motion:S=[0,∞],μ(x)=0,k(s,t)=min(s,t)
3.Squared exp:S=R,μ(x)=0,k(x,y)=exp(-α|x-y|2) α>0
4.Ornstein-Uhlenbeck:S=[0,∞],μ(x)=0,k(x,y)=exp(-α|x-y|) α>0
這裏介紹一下通常情況對高斯函數采樣的方法:首先我們知道任何高斯函數都可以寫成標準高斯函數的線性組合,因此只要能夠對標準高斯函數進行采樣就OK了。其方法為:計算出標準高斯函數的分布函數,用[0,1]均勻分布隨機發生器選擇隨機的值y,當做標準高斯函數的函數值,然後找到分布函數下對應的S就可以了,該點即為我們所需要的 Sample。
在常用的編程語言中,我們很容易生成一個高斯隨機變量額采樣(例如Matlab的randn函數),但如何生成給定均值函數和方差函數的高斯過程的采樣呢?
問題
已知高斯過程的均值函數μ(x)以及相關函數k(t1,t2),欲生成N個符合此高斯過程的采樣x(n),n=1,2,…..N均值函數只要最後累加即可。難點是如何生成滿足相關性要求的采樣。
步驟:
1.生成N個時間采樣點t=[t1,t2,….,tN]
2.計算N個采樣點之間的相關函數取值矩陣C:cij=k(ti,tj)
3.對C進行SVD分解,由於協方差矩陣對稱,有C=USUT
3.生成N個獨立同分布的高斯隨機變量y=[y1,y2,….,yN],均值為0
4.即為該隨機過程在N個時刻的采樣
證明
時間節點i處的隨機變量Zi=UiSy,其中Ui為U的第i行,S為對角陣。
時間節點i和j處隨機變量的相關:
k(Zi,Zj)
由於y在每個時刻都獨立,且上式得兩個求和相乘中,只有k1=k2的項期望非0
所以
高斯過程回歸與貝葉斯線性回歸
兩者其實比較相似,區別在於高斯過程回歸中用核函數代替了貝葉斯線性回歸中的基函數(其實也是核函數,線性核)。采用核函數定義高斯過程回歸是一個比貝葉斯線性回歸更通用的模型。
貝葉斯線性回歸:數據D={(x1,y1),(x2,y2),…..,(xn,yn)} xi∈Rd y∈R y1,…..yn依賴於給定的W
P(yi|xi,w)=N(yi|WTx) 即
其中WTx是高斯分布,可以看作是高斯分布的線性組合,由此WT是一個多維的高斯分布
如果高斯過程為線性的,即它的sample是在高維空間中的平面,要求它的核函數滿足k(xi,xj)d的形式,且均值函數為0,下面是它的證明過程:
既然已經得知yi的中心是在一個高維空間的平面上,所以當新來的數據後,就可以預測它的均值也在該平面對應的位置上,這就達到了回歸的目的。
在將BLR(貝葉斯線性回歸)擴展到GPR(高斯過程回歸)前,來看看多維高斯分布的一些重要性質,第一個性質為兩個相互獨立的多維高斯分布A和B的和也是一個多維高斯分布C,且C的均值和方差都為A和B均值方差的和。第二個性質為:兩個多維高斯分布之和構成的分布C而言,在已知一部分觀察值C1的條件下,另一部分觀察值C2的概率分布是一個多維高斯分布,且可以用A和B中對應的信息來表示。這2個性質的介紹如下:
接下來就是要怎樣利用高斯過程進行回歸運算了。高斯過程回歸的模型如下:
其中的ya為需要預測的值,yb為觀察到的值,當然了,xa和xb也是觀察值。由前面博文機器學習&數據挖掘筆記_10(高斯過程簡單理解)中介紹的高斯過程存在性定理可知,一旦我們確定了x上的u和k,就可以得到一個高斯過程Zx,此時的樣本值Yi可以寫成: 即兩個獨立的多維高斯變量之和。而利用上面多維高斯變量的性質,可推導出需要預測的ya在yb條件下的概率:
上面的m和D有解析表達式,因此可以直接求,裏面的的變量都是已知的。其中的m就是我們回歸預測的值,而D就是此時預測的誤差,兩者表達式和前面類似,如下:
由貝葉斯線性回歸和高斯過程回歸的對比可知,貝葉斯線性回歸是高斯過程回歸中的一個子集,只是它用的是線性核而已,通過兩者的公式就可以看出它們之間的關系:
上面是貝葉斯線性回歸,下面是高斯過程回歸。
轉自http://www.cnblogs.com/tornadomeet
高斯過程(GP)