高斯分布
我們定義一個將輸入x映射到輸出y的函數(shù),在統(tǒng)計學中,我們使用隨機模型來定義這種關系的概率分布。例如,一個3.8 GPA的學生可以獲得平均$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ù)概率分布來進行數(shù)據(jù)采樣。從分布中采樣數(shù)據(jù)的符號表示為:
在現(xiàn)實生活中,許多數(shù)據(jù)都遵循高斯分布。
例如,讓我們建立舊金山居民身高和體重之間的關系模型。我們從1000名成年居民中收集信息,并將數(shù)據(jù)繪制如下圖所示,每個紅點代表1個人:
對應的三維概率密度函數(shù)(PDF)如下圖所示:
讓我們首先將模型推廣到多元高斯分布,即概率密度函數(shù)取決于多個變量。
一個多元向量:
多元高斯分布的概率密度函數(shù)定義如下:
其中,Σ表示協(xié)方差矩陣:
讓我們回到身高和體重的例子中,來說明這個公式的應用。
從我們的訓練數(shù)據(jù)中,我們計算得到=190,=70:
協(xié)方差矩陣Σ是用來做什么的?協(xié)方差矩陣中的每個元素都代表著兩個變量之間的關系。例如,表示身高()與體重()的相關性。如果體重隨身高的增加而增加,那么為正值。
讓我們詳細介紹如何計算上述的。為了簡化,我們假設我們只有兩個數(shù)據(jù)點(150磅,66英寸)和(200磅,72英寸)。
在計算了所有1000個數(shù)據(jù)之后,協(xié)方差矩陣Σ的值如下所示:
協(xié)方差矩陣Σ中的正元素值表示兩個變量呈正相關關系。不出所料,是正值,因為體重隨身高的增加而增加。如果兩個變量彼此獨立,則值應為0,如下所示:
計算的概率
計算在給定的條件下的概率:
其中,Φ是累積分布函數(shù)(cumulative distribution function,CDF):
我們將協(xié)方差變量Σ重寫為以下形式:
代碼
我們從一個二元高斯分布中采樣數(shù)據(jù)。從協(xié)方差矩陣中,我們可以看出x和y呈正相關關系,因為和是正的。
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個訓練數(shù)據(jù)點創(chuàng)建一個高斯分布模型來預測給定GPA情況下的薪水P(salary|GPA),
這里不詳細介紹公式的推理過程。但是假設x服從高斯分布。和之間的相關性由μ和Σ定義。因此,給定的值,我們可以計算出的概率分布:p(|)。
例如,我們知道舊金山居民的身高服從高斯分布。在下一節(jié)中,我們將應用高斯過程來預測在給定身高的情況下體重的值。
高斯過程
高斯過程(Gaussian Process,GP)的直觀理解很簡單。如果兩個點具有相似的輸入,那么它們的輸出也應該相似。對于有兩個數(shù)據(jù)點的情況,如果一個數(shù)據(jù)點比另一個數(shù)據(jù)點更接近已知的訓練數(shù)據(jù)點,那么它的預測結(jié)果會更加可靠。
例如,如果一個GPA為3.5的學生一年掙$70K,那么另一個GPA為3.45的學生應該會掙類似的薪水。在高斯過程中,我們使用訓練數(shù)據(jù)集來構(gòu)建高斯分布,以進行預測。對于每個預測,我們輸出一個均值和一個σ。例如,使用高斯過程,我們可以預測一個GPA為3.3的學生可以掙到μ=$65K,σ=$5K,而一個GPA為2.5的學生可以掙到μ=$50K和σ=$15K。σ衡量了我們預測的不確定性。因為3.3 GPA更接近于我們的3.5 GPA訓練數(shù)據(jù),所以我們對于3.3 GPA學生的薪水預測比2.5 GPA學生更有信心。
在高斯過程中,我們不是計算Σ,而是計算K來衡量數(shù)據(jù)點和之間的相似性。
其中,核函數(shù)k是一個度量兩個數(shù)據(jù)點相似性的函數(shù)(值為1表示相同)。有許多可能的核函數(shù),我們將使用指數(shù)平方距離作為核函數(shù)。
注意:上面的表示數(shù)據(jù)點的體重。表示數(shù)據(jù)點1。
有了所有的訓練數(shù)據(jù),我們可以創(chuàng)建一個高斯模型:
讓我們再次用兩個訓練數(shù)據(jù)點(150磅,66英寸)和(200磅,72英寸)來演示。這里我們正在為我們的訓練數(shù)據(jù)構(gòu)建一個高斯模型。
其中175是體重的平均值,衡量了數(shù)據(jù)點和之間身高的相似性。上面的符號表示我們可以在體重上采樣一個向量f。
從由數(shù)據(jù)點(150,66)和(200,72)建模的中進行采樣。
現(xiàn)在假設我們要預測輸入,時的,。模型變?yōu)椋?/p>
讓我們再次理解一下這是什么意思。例如,我們有一個包含4個人身高的向量:
我們可以使用來采樣這些人可能的體重:
我們知道前兩個值來自訓練數(shù)據(jù),我們嘗試計算出和的分布(它們的μ和σ是多少)。現(xiàn)在,我們不僅可以預測2個值,還可以對一系列輸入值進行預測。
然后使用來采樣向量:
例如,我們從中采樣的第一個輸出樣本是:
-
函數(shù)
+關注
關注
3文章
4307瀏覽量
62432 -
隨機
+關注
關注
0文章
12瀏覽量
9727 -
映射
+關注
關注
0文章
45瀏覽量
15797 -
高斯分布
+關注
關注
0文章
6瀏覽量
2743
發(fā)布評論請先 登錄
相關推薦
評論