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