高斯分布
我們定義一個將輸入x映射到輸出y的函數(shù)
,在統(tǒng)計學(xué)中,我們使用隨機模型來定義這種關(guān)系的概率分布。例如,一個3.8 GPA的學(xué)生可以獲得平均$60K的薪水,方差(σ2)為$10K。

p(Salary=x|GPA=3.8)(一個均值為$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ù)的符號表示為:

在現(xiàn)實生活中,許多數(shù)據(jù)都遵循高斯分布。
例如,讓我們建立舊金山居民身高和體重之間的關(guān)系模型。我們從1000名成年居民中收集信息,并將數(shù)據(jù)繪制如下圖所示,每個紅點代表1個人:

對應(yīng)的三維概率密度函數(shù)(PDF)如下圖所示:

讓我們首先將模型推廣到多元高斯分布,即概率密度函數(shù)取決于多個變量。
一個多元向量:

多元高斯分布的概率密度函數(shù)定義如下:

其中,Σ表示協(xié)方差矩陣:

讓我們回到身高和體重的例子中,來說明這個公式的應(yīng)用。

從我們的訓(xùn)練數(shù)據(jù)中,我們計算得到
=190,
=70:

協(xié)方差矩陣Σ是用來做什么的?協(xié)方差矩陣中的每個元素都代表著兩個變量之間的關(guān)系。例如,
表示身高(
)與體重(
)的相關(guān)性。如果體重隨身高的增加而增加,那么
為正值。

讓我們詳細(xì)介紹如何計算上述的
。為了簡化,我們假設(shè)我們只有兩個數(shù)據(jù)點(150磅,66英寸)和(200磅,72英寸)。

在計算了所有1000個數(shù)據(jù)之后,協(xié)方差矩陣Σ的值如下所示:

協(xié)方差矩陣Σ中的正元素值表示兩個變量呈正相關(guān)關(guān)系。不出所料,
是正值,因為體重隨身高的增加而增加。如果兩個變量彼此獨立,則值應(yīng)為0,如下所示:

計算
的概率
計算在給定
的條件下
的概率:

其中,Φ是累積分布函數(shù)(cumulative distribution function,CDF):

我們將協(xié)方差變量Σ重寫為以下形式:

代碼
我們從一個二元高斯分布中采樣數(shù)據(jù)。從協(xié)方差矩陣中,我們可以看出x和y呈正相關(guān)關(guān)系,因為
和
是正的。
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()

多元高斯分布定理
給定一個高斯分布:

后驗條件概率
的計算公式如下所示。這個公式在后面的高斯過程中非常重要。例如,如果我們有1000個畢業(yè)生的GPA和薪水樣本,我們可以使用這個定理通過1000個訓(xùn)練數(shù)據(jù)點創(chuàng)建一個高斯分布模型來預(yù)測給定GPA情況下的薪水P(salary|GPA),
這里不詳細(xì)介紹公式的推理過程。但是假設(shè)x服從高斯分布。
和
之間的相關(guān)性由μ和Σ定義。因此,給定
的值,我們可以計算出
的概率分布:p(
|
)。

例如,我們知道舊金山居民的身高服從高斯分布。在下一節(jié)中,我們將應(yīng)用高斯過程來預(yù)測在給定身高的情況下體重的值。
高斯過程
高斯過程(Gaussian Process,GP)的直觀理解很簡單。如果兩個點具有相似的輸入,那么它們的輸出也應(yīng)該相似。對于有兩個數(shù)據(jù)點的情況,如果一個數(shù)據(jù)點比另一個數(shù)據(jù)點更接近已知的訓(xùn)練數(shù)據(jù)點,那么它的預(yù)測結(jié)果會更加可靠。
例如,如果一個GPA為3.5的學(xué)生一年掙$70K,那么另一個GPA為3.45的學(xué)生應(yīng)該會掙類似的薪水。在高斯過程中,我們使用訓(xùn)練數(shù)據(jù)集來構(gòu)建高斯分布,以進(jìn)行預(yù)測。對于每個預(yù)測,我們輸出一個均值和一個σ。例如,使用高斯過程,我們可以預(yù)測一個GPA為3.3的學(xué)生可以掙到μ=$65K,σ=$5K,而一個GPA為2.5的學(xué)生可以掙到μ=$50K和σ=$15K。σ衡量了我們預(yù)測的不確定性。因為3.3 GPA更接近于我們的3.5 GPA訓(xùn)練數(shù)據(jù),所以我們對于3.3 GPA學(xué)生的薪水預(yù)測比2.5 GPA學(xué)生更有信心。
在高斯過程中,我們不是計算Σ,而是計算K來衡量數(shù)據(jù)點
和
之間的相似性。

其中,核函數(shù)k是一個度量兩個數(shù)據(jù)點相似性的函數(shù)(值為1表示相同)。有許多可能的核函數(shù),我們將使用指數(shù)平方距離作為核函數(shù)。
注意:上面的
表示數(shù)據(jù)點的體重。
表示數(shù)據(jù)點1。
有了所有的訓(xùn)練數(shù)據(jù),我們可以創(chuàng)建一個高斯模型:

讓我們再次用兩個訓(xùn)練數(shù)據(jù)點(150磅,66英寸)和(200磅,72英寸)來演示。這里我們正在為我們的訓(xùn)練數(shù)據(jù)構(gòu)建一個高斯模型。

其中175是體重的平均值,
衡量了數(shù)據(jù)點
和
之間身高的相似性。上面的符號表示我們可以在體重上采樣一個向量f。

從由數(shù)據(jù)點(150,66)和(200,72)建模的
中進(jìn)行采樣。
現(xiàn)在假設(shè)我們要預(yù)測輸入
,
時的
,
。模型變?yōu)椋?/p>

讓我們再次理解一下這是什么意思。例如,我們有一個包含4個人身高的向量:

我們可以使用
來采樣這些人可能的體重:

我們知道前兩個值來自訓(xùn)練數(shù)據(jù),我們嘗試計算出
和
的分布(它們的μ和σ是多少)?,F(xiàn)在,我們不僅可以預(yù)測2個值,還可以對一系列輸入值進(jìn)行預(yù)測。

然后使用
來采樣向量:

例如,我們從
中采樣的第一個輸出樣本是:

-
函數(shù)
+關(guān)注
關(guān)注
3文章
4421瀏覽量
67822 -
隨機
+關(guān)注
關(guān)注
0文章
12瀏覽量
9867 -
映射
+關(guān)注
關(guān)注
0文章
49瀏覽量
16512 -
高斯分布
+關(guān)注
關(guān)注
0文章
6瀏覽量
2889
發(fā)布評論請先 登錄
高斯過程回歸GPR和多任務(wù)高斯過程MTGP
基于高斯過程回歸學(xué)習(xí)的頻譜分配算法
機器學(xué)習(xí)的個人學(xué)習(xí)筆記
python機器學(xué)習(xí)筆記資料免費下載
什么是高斯過程 神經(jīng)網(wǎng)絡(luò)高斯過程解析
機器學(xué)習(xí)筆記之高斯過程(下)
機器學(xué)習(xí)筆記之高斯過程(上)
評論