高斯过程(GP)
隨機(jī)過(guò)程基本概念:
隨機(jī)過(guò)程是一個(gè)比隨機(jī)變量更廣泛的概念。在概率論中,通常研究一個(gè)或多個(gè)這樣有限個(gè)數(shù)的隨機(jī)變量,即使在大數(shù)定律和中心極限定理中考慮了無(wú)窮多個(gè)隨機(jī)變量,但也要假設(shè)隨機(jī)變量之間互相獨(dú)立。而隨機(jī)過(guò)程主要是研究無(wú)窮多個(gè)互相不獨(dú)立的、有一定相關(guān)關(guān)系的隨機(jī)變量。隨機(jī)過(guò)程就是許多隨機(jī)變量的集合,代表了某個(gè)隨機(jī)系統(tǒng)隨著某個(gè)指示向量的變化,這個(gè)指示向量常用的是時(shí)間向量
?
其中指標(biāo)集合T:通常用的指標(biāo)集合是代表時(shí)間,以實(shí)數(shù)或整數(shù)表示其元素。以實(shí)數(shù)形式表示時(shí),隨機(jī)過(guò)程即為連續(xù)隨機(jī)過(guò)程;以整數(shù)形式表示時(shí),為離散隨機(jī)過(guò)程。
GP的定義:
對(duì)于任意集合S,S上的高斯過(guò)程(GP)是隨機(jī)變量序列(Zt:t∈S)的一個(gè)集合,使得所有n∈N,所有t1,t2……,tn∈S,(Zt1,Zt2,……,Ztn)是多維高斯。
如果S集合中的元素個(gè)數(shù)是有限的,則Z是否為GP可以通過(guò)窮舉判斷其是否為多維高斯函數(shù)。如果S集合中元素的個(gè)數(shù)是無(wú)限的,則Z不能通過(guò)窮舉獲得,但是如果Z中的變量和某個(gè)高斯變量有直接聯(lián)系的話,Z也有可能是S上的一個(gè)GP。
為什么要用高斯過(guò)程回歸
現(xiàn)實(shí)實(shí)生活中,我們遇到的一個(gè)典型問(wèn)題就是選擇合適的模型擬合訓(xùn)練集中自變量 X 與因變量 y 之間的關(guān)系,并根據(jù)新的自變量 x 來(lái)預(yù)測(cè)對(duì)應(yīng)的因變量 f
如果關(guān)系足夠簡(jiǎn)單,那么線性回歸就能實(shí)現(xiàn)很好的預(yù)測(cè),但現(xiàn)實(shí)情況往往十分復(fù)雜,此時(shí),高斯過(guò)程回歸就為我們提供了擬合復(fù)雜關(guān)系(quadratic, cubic, or even nonpolynomial)的絕佳方法
什么是高斯過(guò)程回歸
-
高斯過(guò)程可以看做是多維高斯分布向無(wú)限維的擴(kuò)展,我們可以將 y=y1,y2,…,yn看作是從 n 維高斯分布中隨機(jī)抽取的一個(gè)點(diǎn)
-
對(duì)高斯過(guò)程的刻畫,如同高斯分布一樣,也是用均值和方差來(lái)刻畫。通常在應(yīng)用高斯過(guò)程 f~GP(m,K)的方法中,都是假設(shè)均值 m 為零,而協(xié)方差函數(shù) K 則是根據(jù)具體應(yīng)用而定
-
高斯回歸的本質(zhì)其實(shí)就是通過(guò)一個(gè)映射把自變量從低維空間映射到高維空間(類似于支持向量機(jī)中的核函數(shù)將低維線性不可分映射為高維線性可分),只需找到合適的核函數(shù),就可以知道 p(f|x,X,y)的分布,最常用的就是高斯核函數(shù)
高斯過(guò)程回歸的基本流程
再利用高斯過(guò)程回歸時(shí),不需要指明 f(x)的具體形式,如線性 f(x)=mx+c,或者二次等具體式,n 個(gè)訓(xùn)練集的觀測(cè)值 y1,y2,…,yn會(huì)被看做多維(n 維)高斯分布中采樣出來(lái)的一個(gè)點(diǎn)
現(xiàn)在給定訓(xùn)練集 x1,x2,…,xn與對(duì)應(yīng)的觀測(cè)值y1,y2,…,yn,由于觀測(cè)通常是帶噪聲的,所以將每個(gè)觀測(cè) y 建模為某個(gè)隱函數(shù) f(x) 加上一個(gè)高斯噪聲,即?
其中,f(x)被假定給予一個(gè)高斯過(guò)程先驗(yàn),即
其中協(xié)方差函數(shù) k(x,x′)可以選擇不同的單一形式,也可以采用協(xié)方差函數(shù)的組合形式,由于假設(shè)均值為零,因此最后結(jié)果的好壞很大程度上取決于協(xié)方差函數(shù)的選擇。不同的協(xié)方差函數(shù)形式參見這篇文章對(duì) Covariance Functions 的詳細(xì)介紹。常見的協(xié)方差函數(shù)如下,參見?Wikipedia-Gaussian Process
?
?
?
存在定理說(shuō)明:
對(duì)任意集合S中的單個(gè)元素都存在某個(gè)均值函數(shù),以及對(duì)任意集合S中的2個(gè)元素都存在某個(gè)核函數(shù)(即協(xié)方差),則在S上一定存在一個(gè)高斯過(guò)程Z(t),其元素具有類似S形式的均值和方差。所以在給定集合S后,我們只需要給出一個(gè)一元的均值函數(shù),一個(gè)二元的核函數(shù)表達(dá)式,就能構(gòu)造出一個(gè)高斯過(guò)程。
常見的高斯過(guò)程
根據(jù)高斯分布的性質(zhì)以及測(cè)試集和訓(xùn)練集數(shù)據(jù)來(lái)自同一分布的特點(diǎn),可以得到訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)的聯(lián)合分布為高維的高斯分布,有了聯(lián)合分布就可以比較容易地求出預(yù)測(cè)數(shù)據(jù) y? 的條件分布 p(y?|y),對(duì) y?的估計(jì)的估計(jì),我們就用分布的均值來(lái)作為其估計(jì)值
?
這里介紹一下通常情況對(duì)高斯函數(shù)采樣的方法:首先我們知道任何高斯函數(shù)都可以寫成標(biāo)準(zhǔn)高斯函數(shù)的線性組合,因此只要能夠?qū)?biāo)準(zhǔn)高斯函數(shù)進(jìn)行采樣就OK了。其方法為:計(jì)算出標(biāo)準(zhǔn)高斯函數(shù)的分布函數(shù),用[0,1]均勻分布隨機(jī)發(fā)生器選擇隨機(jī)的值y,當(dāng)做標(biāo)準(zhǔn)高斯函數(shù)的函數(shù)值,然后找到分布函數(shù)下對(duì)應(yīng)的S就可以了,該點(diǎn)即為我們所需要的 Sample。
?
在常用的編程語(yǔ)言中,我們很容易生成一個(gè)高斯隨機(jī)變量額采樣(例如Matlab的randn函數(shù)),但如何生成給定均值函數(shù)和方差函數(shù)的高斯過(guò)程的采樣呢?
問(wèn)題
已知高斯過(guò)程的均值函數(shù)μ(x)以及相關(guān)函數(shù)k(t1,t2),欲生成N個(gè)符合此高斯過(guò)程的采樣x(n),n=1,2,…..N均值函數(shù)只要最后累加即可。難點(diǎn)是如何生成滿足相關(guān)性要求的采樣。
步驟:
1.生成N個(gè)時(shí)間采樣點(diǎn)t=[t1,t2,….,tN]
2.計(jì)算N個(gè)采樣點(diǎn)之間的相關(guān)函數(shù)取值矩陣C:cij=k(ti,tj)
3.對(duì)C進(jìn)行SVD分解,由于協(xié)方差矩陣對(duì)稱,有C=USUT
3.生成N個(gè)獨(dú)立同分布的高斯隨機(jī)變量y=[y1,y2,….,yN],均值為0
4.即為該隨機(jī)過(guò)程在N個(gè)時(shí)刻的采樣
證明
時(shí)間節(jié)點(diǎn)i處的隨機(jī)變量Zi=UiSy,其中Ui為U的第i行,S為對(duì)角陣。
時(shí)間節(jié)點(diǎn)i和j處隨機(jī)變量的相關(guān):
k(Zi,Zj)
?
?
由于y在每個(gè)時(shí)刻都獨(dú)立,且上式得兩個(gè)求和相乘中,只有k1=k2的項(xiàng)期望非0
所以
高斯過(guò)程回歸與貝葉斯線性回歸
兩者其實(shí)比較相似,區(qū)別在于高斯過(guò)程回歸中用核函數(shù)代替了貝葉斯線性回歸中的基函數(shù)(其實(shí)也是核函數(shù),線性核)。采用核函數(shù)定義高斯過(guò)程回歸是一個(gè)比貝葉斯線性回歸更通用的模型。
貝葉斯線性回歸:數(shù)據(jù)D={(x1,y1),(x2,y2),…..,(xn,yn)}??? xi∈Rd?? y∈R???? y1,…..yn依賴于給定的W
P(yi|xi,w)=N(yi|WTx)??? 即
其中WTx是高斯分布,可以看作是高斯分布的線性組合,由此WT是一個(gè)多維的高斯分布
如果高斯過(guò)程為線性的,即它的sample是在高維空間中的平面,要求它的核函數(shù)滿足k(xi,xj)d的形式,且均值函數(shù)為0,下面是它的證明過(guò)程:
既然已經(jīng)得知yi的中心是在一個(gè)高維空間的平面上,所以當(dāng)新來(lái)的數(shù)據(jù)后,就可以預(yù)測(cè)它的均值也在該平面對(duì)應(yīng)的位置上,這就達(dá)到了回歸的目的。
在將BLR(貝葉斯線性回歸)擴(kuò)展到GPR(高斯過(guò)程回歸)前,來(lái)看看多維高斯分布的一些重要性質(zhì),第一個(gè)性質(zhì)為兩個(gè)相互獨(dú)立的多維高斯分布A和B的和也是一個(gè)多維高斯分布C,且C的均值和方差都為A和B均值方差的和。第二個(gè)性質(zhì)為:兩個(gè)多維高斯分布之和構(gòu)成的分布C而言,在已知一部分觀察值C1的條件下,另一部分觀察值C2的概率分布是一個(gè)多維高斯分布,且可以用A和B中對(duì)應(yīng)的信息來(lái)表示。這2個(gè)性質(zhì)的介紹如下:
接下來(lái)就是要怎樣利用高斯過(guò)程進(jìn)行回歸運(yùn)算了。高斯過(guò)程回歸的模型如下:
其中的ya為需要預(yù)測(cè)的值,yb為觀察到的值,當(dāng)然了,xa和xb也是觀察值。由前面博文機(jī)器學(xué)習(xí)&數(shù)據(jù)挖掘筆記_10(高斯過(guò)程簡(jiǎn)單理解)中介紹的高斯過(guò)程存在性定理可知,一旦我們確定了x上的u和k,就可以得到一個(gè)高斯過(guò)程Zx,此時(shí)的樣本值Yi可以寫成:? 即兩個(gè)獨(dú)立的多維高斯變量之和。而利用上面多維高斯變量的性質(zhì),可推導(dǎo)出需要預(yù)測(cè)的ya在yb條件下的概率:
上面的m和D有解析表達(dá)式,因此可以直接求,里面的的變量都是已知的。其中的m就是我們回歸預(yù)測(cè)的值,而D就是此時(shí)預(yù)測(cè)的誤差,兩者表達(dá)式和前面類似,如下:
由貝葉斯線性回歸和高斯過(guò)程回歸的對(duì)比可知,貝葉斯線性回歸是高斯過(guò)程回歸中的一個(gè)子集,只是它用的是線性核而已,通過(guò)兩者的公式就可以看出它們之間的關(guān)系:
上面是貝葉斯線性回歸,下面是高斯過(guò)程回歸。
?總結(jié)
?
?
?
?
?
?
?
參考文獻(xiàn):
http://www.cnblogs.com/tornadomeet
http://www.gaussianprocess.org/
http://blog.sina.com.cn/s/blog_5033f3b40102vts4.html
?
轉(zhuǎn)載于:https://www.cnblogs.com/yifdu25/p/8092881.html
總結(jié)
- 上一篇: EF学习
- 下一篇: 00084_Map接口