高斯分布
我們定義一個(gè)將輸入x映射到輸出y的函數(shù),在統(tǒng)計(jì)學(xué)中,我們使用隨機(jī)模型來定義這種關(guān)系的概率分布。例如,一個(gè)3.8 GPA的學(xué)生可以獲得平均$60K的薪水,方差(σ2)為$10K。
p(Salary=x|GPA=3.8)(一個(gè)均值為$60K,方差為$10k的高斯分布)
概率密度函數(shù)(Probability density function,PDF)
在下面的圖表中,p(X=x) 服從高斯分布:
在高斯分布中,68%的數(shù)據(jù)在距離μ 1σ之內(nèi),95%的數(shù)據(jù)在距離μ 2σ之內(nèi)。我們可以根據(jù)概率分布來進(jìn)行數(shù)據(jù)采樣。從分布中采樣數(shù)據(jù)的符號(hào)表示為:
在現(xiàn)實(shí)生活中,許多數(shù)據(jù)都遵循高斯分布。
例如,讓我們建立舊金山居民身高和體重之間的關(guān)系模型。我們從1000名成年居民中收集信息,并將數(shù)據(jù)繪制如下圖所示,每個(gè)紅點(diǎn)代表1個(gè)人:
對(duì)應(yīng)的三維概率密度函數(shù)(PDF)如下圖所示:
讓我們首先將模型推廣到多元高斯分布,即概率密度函數(shù)取決于多個(gè)變量。
一個(gè)多元向量:
多元高斯分布的概率密度函數(shù)定義如下:
其中,Σ表示協(xié)方差矩陣:
讓我們回到身高和體重的例子中,來說明這個(gè)公式的應(yīng)用。
從我們的訓(xùn)練數(shù)據(jù)中,我們計(jì)算得到=190,
=70:
協(xié)方差矩陣Σ是用來做什么的?協(xié)方差矩陣中的每個(gè)元素都代表著兩個(gè)變量之間的關(guān)系。例如,表示身高(
)與體重(
)的相關(guān)性。如果體重隨身高的增加而增加,那么
為正值。
讓我們?cè)敿?xì)介紹如何計(jì)算上述的。為了簡化,我們假設(shè)我們只有兩個(gè)數(shù)據(jù)點(diǎn)(150磅,66英寸)和(200磅,72英寸)。
在計(jì)算了所有1000個(gè)數(shù)據(jù)之后,協(xié)方差矩陣Σ的值如下所示:
協(xié)方差矩陣Σ中的正元素值表示兩個(gè)變量呈正相關(guān)關(guān)系。不出所料,是正值,因?yàn)轶w重隨身高的增加而增加。如果兩個(gè)變量彼此獨(dú)立,則值應(yīng)為0,如下所示:
計(jì)算的概率
計(jì)算在給定的條件下
的概率:
其中,Φ是累積分布函數(shù)(cumulative distribution function,CDF):
我們將協(xié)方差變量Σ重寫為以下形式:
代碼
我們從一個(gè)二元高斯分布中采樣數(shù)據(jù)。從協(xié)方差矩陣中,我們可以看出x和y呈正相關(guān)關(guān)系,因?yàn)?img src="http://file1.elecfans.com/web2/M00/88/E2/wKgaomR1uC6AZm5MAAAC5ncdwbc679.jpg" alt="圖片" />和是正的。
mean = [0, 2]
cov = [[1, 2], [3, 1]]
x, y = np.random.multivariate_normal(mean, cov, 5000).T
plt.plot(x, y, 'x')
plt.axis('equal')
plt.show()
下面繪制(y,x)的概率分布圖:
from scipy.stats import multivariate_normal
x, y = np.mgrid[-1:1:.01, -1:1:.01] # x (200, 200) y (200, 200)
pos = np.empty(x.shape + (2,))
pos[:, :, 0] = x; pos[:, :, 1] = y # pos (200, 200, 2)
mean = [-0.4, -0.3]
cov = [[2.1, 0.2], [0.4, 0.5]]
rv = multivariate_normal(mean, cov)
p = rv.pdf(pos) # (200, 200)
plt.contourf(x, y, p)
plt.show()
多元高斯分布定理
給定一個(gè)高斯分布:
后驗(yàn)條件概率的計(jì)算公式如下所示。這個(gè)公式在后面的高斯過程中非常重要。例如,如果我們有1000個(gè)畢業(yè)生的GPA和薪水樣本,我們可以使用這個(gè)定理通過1000個(gè)訓(xùn)練數(shù)據(jù)點(diǎn)創(chuàng)建一個(gè)高斯分布模型來預(yù)測(cè)給定GPA情況下的薪水P(salary|GPA),
這里不詳細(xì)介紹公式的推理過程。但是假設(shè)x服從高斯分布。和
之間的相關(guān)性由μ和Σ定義。因此,給定
的值,我們可以計(jì)算出
的概率分布:p(
|
)。
例如,我們知道舊金山居民的身高服從高斯分布。在下一節(jié)中,我們將應(yīng)用高斯過程來預(yù)測(cè)在給定身高的情況下體重的值。
高斯過程
高斯過程(Gaussian Process,GP)的直觀理解很簡單。如果兩個(gè)點(diǎn)具有相似的輸入,那么它們的輸出也應(yīng)該相似。對(duì)于有兩個(gè)數(shù)據(jù)點(diǎn)的情況,如果一個(gè)數(shù)據(jù)點(diǎn)比另一個(gè)數(shù)據(jù)點(diǎn)更接近已知的訓(xùn)練數(shù)據(jù)點(diǎn),那么它的預(yù)測(cè)結(jié)果會(huì)更加可靠。
例如,如果一個(gè)GPA為3.5的學(xué)生一年掙$70K,那么另一個(gè)GPA為3.45的學(xué)生應(yīng)該會(huì)掙類似的薪水。在高斯過程中,我們使用訓(xùn)練數(shù)據(jù)集來構(gòu)建高斯分布,以進(jìn)行預(yù)測(cè)。對(duì)于每個(gè)預(yù)測(cè),我們輸出一個(gè)均值和一個(gè)σ。例如,使用高斯過程,我們可以預(yù)測(cè)一個(gè)GPA為3.3的學(xué)生可以掙到μ=$65K,σ=$5K,而一個(gè)GPA為2.5的學(xué)生可以掙到μ=$50K和σ=$15K。σ衡量了我們預(yù)測(cè)的不確定性。因?yàn)?.3 GPA更接近于我們的3.5 GPA訓(xùn)練數(shù)據(jù),所以我們對(duì)于3.3 GPA學(xué)生的薪水預(yù)測(cè)比2.5 GPA學(xué)生更有信心。
在高斯過程中,我們不是計(jì)算Σ,而是計(jì)算K來衡量數(shù)據(jù)點(diǎn)和
之間的相似性。
其中,核函數(shù)k是一個(gè)度量兩個(gè)數(shù)據(jù)點(diǎn)相似性的函數(shù)(值為1表示相同)。有許多可能的核函數(shù),我們將使用指數(shù)平方距離作為核函數(shù)。
注意:上面的表示數(shù)據(jù)點(diǎn)的體重。
表示數(shù)據(jù)點(diǎn)1。
有了所有的訓(xùn)練數(shù)據(jù),我們可以創(chuàng)建一個(gè)高斯模型:
讓我們?cè)俅斡脙蓚€(gè)訓(xùn)練數(shù)據(jù)點(diǎn)(150磅,66英寸)和(200磅,72英寸)來演示。這里我們正在為我們的訓(xùn)練數(shù)據(jù)構(gòu)建一個(gè)高斯模型。
其中175是體重的平均值,衡量了數(shù)據(jù)點(diǎn)
和
之間身高的相似性。上面的符號(hào)表示我們可以在體重上采樣一個(gè)向量f。
從由數(shù)據(jù)點(diǎn)(150,66)和(200,72)建模的中進(jìn)行采樣。
現(xiàn)在假設(shè)我們要預(yù)測(cè)輸入,
時(shí)的
,
。模型變?yōu)椋?/p>
讓我們?cè)俅卫斫庖幌逻@是什么意思。例如,我們有一個(gè)包含4個(gè)人身高的向量:
我們可以使用來采樣這些人可能的體重:
我們知道前兩個(gè)值來自訓(xùn)練數(shù)據(jù),我們嘗試計(jì)算出和
的分布(它們的μ和σ是多少)。現(xiàn)在,我們不僅可以預(yù)測(cè)2個(gè)值,還可以對(duì)一系列輸入值進(jìn)行預(yù)測(cè)。
然后使用來采樣向量:
例如,我們從中采樣的第一個(gè)輸出樣本是:
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4381瀏覽量
64897 -
隨機(jī)
+關(guān)注
關(guān)注
0文章
12瀏覽量
9813 -
映射
+關(guān)注
關(guān)注
0文章
48瀏覽量
16190 -
高斯分布
+關(guān)注
關(guān)注
0文章
6瀏覽量
2821
發(fā)布評(píng)論請(qǐng)先 登錄
吳恩達(dá)機(jī)器學(xué)習(xí)筆記分享
高斯過程回歸GPR和多任務(wù)高斯過程MTGP
基于高斯過程回歸學(xué)習(xí)的頻譜分配算法

機(jī)器學(xué)習(xí)的個(gè)人學(xué)習(xí)筆記

python機(jī)器學(xué)習(xí)筆記資料免費(fèi)下載
什么是高斯過程 神經(jīng)網(wǎng)絡(luò)高斯過程解析
機(jī)器學(xué)習(xí)筆記之高斯過程(下)

PyTorch教程18.1之高斯過程簡介

PyTorch教程18.2之高斯過程先驗(yàn)

PyTorch教程18.3之高斯過程推理

評(píng)論