python 高斯烟羽模型_GPR(高斯过程回归)详细推导
GPR(高斯過(guò)程回歸)詳細(xì)推導(dǎo)
一、綜述
GPR來(lái)源于線性模型,有兩種方式可以推導(dǎo)出GPR,一種是weight space view,另外一種是function space view。兩者考察方式假設(shè)不同,關(guān)注的對(duì)象不同,但是最后導(dǎo)出的結(jié)果是相同的。其中,function view的推導(dǎo)方式更加簡(jiǎn)單,GPR最終的為了實(shí)現(xiàn)回歸,即已知X,y,x*,求y*。最終的推導(dǎo)出的公式如下:
X,y是已知的數(shù)據(jù),我們要求未知數(shù)據(jù)x*處的函數(shù)值,K是核函數(shù)。我們接下來(lái)會(huì)從weight space view和function space view兩種方式推導(dǎo)出GPR。最后一部分是GPR的算法流程圖。
參考資料:
1.《Gaussian Processes for Machine Learning》
2. https://www.bilibili.com/video/BV1aE411o7qd?p=114
3. https://zhuanlan.zhihu.com/p/75589452 (python的代碼演示,包含可視化)
4. python的GPy庫(kù)和MATLAB中的ooDACE里面集成有GPR
二、weight space view(將w看作變量)
我們考慮下面一個(gè)問(wèn)題:
這是一個(gè)線性模型,GPR的想法就是把w看做正態(tài)分布的隨機(jī)變量,求出了w的分布,就知道了y的分布。這里的ε是噪聲,在推導(dǎo)中是必須的。如果把
ε=0就是一個(gè)無(wú)噪的預(yù)測(cè),考慮到ε的影響就是一個(gè)有噪聲的預(yù)測(cè)。
整個(gè)推導(dǎo)分成三部分:
1.已知w的先驗(yàn)分布,通過(guò)更多的數(shù)據(jù)(X,y)求得w的后驗(yàn)分布
2.已知w的后驗(yàn)分布,就能求得f*的概率分布(可以簡(jiǎn)單地理解為用
來(lái)代替)
3.將f*概率分布中均值和方差寫成核函數(shù)的形式,這個(gè)形式與function space view推導(dǎo)出的結(jié)果一致,完成!
注:本文的所有推導(dǎo)前面是推導(dǎo)的主干部分,細(xì)致的證明在后面。
2.1 w的后驗(yàn)分布
如果我們已經(jīng)知道了w的確定值,要預(yù)測(cè)xi處的函數(shù)值yi可以表達(dá)如下:
上述公式寫出了某一點(diǎn)的預(yù)測(cè)值yi,如果有多個(gè)點(diǎn)的值需要預(yù)測(cè),將每個(gè)點(diǎn)的值看作是獨(dú)立的,可以得到
由于我們不知道w的分布是怎樣的,我們可以假設(shè)w的先驗(yàn)為,p是代表先驗(yàn)prior的意思。
這里的p(y|X)是marginal likelihood, GPR中的超參數(shù)調(diào)節(jié)就是使得marginal likelihood最大!
由于p(y|X)與w無(wú)關(guān),我們把w看作變量,p(y|X)是一個(gè)常量,因此
所以即為我們要求的后驗(yàn)概率。隨著數(shù)據(jù)的增多,后驗(yàn)概率會(huì)逐漸地逼近w的真實(shí)概率。
證明部分:
(2-2)想要求yi的概率密度函數(shù),可以通過(guò)概率分布的微分來(lái)求得。
所以對(duì)概率分布函數(shù)求導(dǎo)即可得到概率密度函數(shù):
(2-5)這個(gè)公式為貝葉斯公式,用條件概率證明即可。
X為常量,先不看X,根據(jù)條件概率,則
(2-7)這個(gè)等式的證明不復(fù)雜,兩邊展開(kāi)對(duì)應(yīng)相等即可。上述等式成立,常數(shù)可以不用看,只要指數(shù)部分相等即可,因?yàn)槌?shù)可以通過(guò)概率密度積分為1這個(gè)條件來(lái)得到。上式等價(jià)于證明下式
所以等式左邊=等式右邊,得證!
2.2 f*的概率分布
我們已知了w的后驗(yàn)分布,結(jié)合線性關(guān)系,就能知道預(yù)測(cè)點(diǎn)x*的函數(shù)值
從可以看出,預(yù)測(cè)值實(shí)際上就是在w的基礎(chǔ)上均值乘以x*,方差乘以x*Tx,這有專門的定理可以證明,一步得出,詳細(xì)推導(dǎo)過(guò)程在本節(jié)最后。
由于原來(lái)是基底是x本身,擬合你能力有限,為了提高模型的描述能力,我們可以選擇某種函數(shù)把輸入的D維空間映射到N維空間,即:
注意到,我們把w看成變量的時(shí)候,phi(x)是常數(shù),該模型對(duì)于w而言仍然是線性的,以上的結(jié)論仍然可以用。因此:
這是我們想要得到的內(nèi)容:對(duì)f*的預(yù)測(cè),但還不是最終的形式,因?yàn)榇藭r(shí)它跟phi(x)還有關(guān)系。為了簡(jiǎn)便,我們還需做轉(zhuǎn)換
證明部分:
(2-9)有一個(gè)定理可以直接證明:
2.3 核函數(shù)形式
(2-11)和(2-12)完全相同,只是換了一個(gè)形式而已,但是這樣就能得到我們想要的核函數(shù)形式!
定義核函數(shù):
所以上式可以改寫為:
因?yàn)棣瞤為正定矩陣,所以
這樣就定義了一個(gè)內(nèi)積形式,這種方法被稱作kernel trick。
證明部分:
三、function space view(將f看作多維隨機(jī)變量)
1.對(duì)于高斯過(guò)程的基本認(rèn)識(shí)
定義:高斯過(guò)程是一組隨機(jī)變量的組合,任意有限個(gè)變量都服從聯(lián)合高斯分布。
為了推導(dǎo)出GPR,我們?nèi)匀患僭O(shè)用貝葉斯線性回歸模型和w的先驗(yàn)
這樣就能求出均值和方差
協(xié)方差函數(shù),即核函數(shù),我們經(jīng)常取squared exponential
2.高斯回歸推導(dǎo)
重新整理一下,可得:
這就變成了一個(gè)已知聯(lián)合高斯分布,求條件概率。這個(gè)問(wèn)題有標(biāo)準(zhǔn)解法,直接套用公式即可,詳細(xì)推導(dǎo)過(guò)程在后面(我們假設(shè)均值為0 ):
考慮到y(tǒng)是f(x)加上噪聲,則分布為
如果噪聲為0,即為noise-free的預(yù)測(cè):
推導(dǎo)完成!
證明部分:
定理證明:
證明這個(gè)定理使用的是構(gòu)造法,還需要用到上一章提到的一個(gè)定理,會(huì)用兩次,在這里我重新寫一遍:
可以根據(jù)上面上式來(lái)求得xb|a,,因?yàn)榍蟮氖菞l件概率,此時(shí)和a有關(guān)的量都可以看作已知量,所以:
得證!
四、GPR算法流程圖
GPR的算法流程可以從上述公式中做出說(shuō)明:
在GPR建模中核函數(shù)里面的參數(shù)稱為超參數(shù),調(diào)節(jié)這些超參數(shù)的標(biāo)準(zhǔn)就是最大化marginal likelihood p(y|X)。
五、數(shù)學(xué)基礎(chǔ)
總結(jié)
以上是生活随笔為你收集整理的python 高斯烟羽模型_GPR(高斯过程回归)详细推导的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux mmu的实现的讲解_Linu
- 下一篇: ssh长时间不操作便断开_不懂Excel