天天看點

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

一、什麼是高斯過程

  高斯過程是一種随機過程,即按時間或者空間索引的随機變量的集合。這個集合中的有限個随機變量構成多元高斯分布。高斯過程就是這個集合中所有随機變量(無限多個)的聯合分布。

二、高斯分布

2.1 一進制高斯分布

  一進制高斯分布的機率密度函數為:

f ( x ) = 1 σ 2 π e − 1 2 ( x − μ σ ) 2 (1) f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2}\tag{1} f(x)=σ2π

​1​e−21​(σx−μ​)2(1)

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

2.2 多元高斯分布

  多元高斯分布是單元正态分布向多元的推廣。我們以二進制為例進行介紹。

假設變量為 [ X , Y ] T [X,Y]^T [X,Y]T, 其機率密度函數為:

f ( x , y ) = 1 2 π σ X σ Y 1 − ρ 2 e − 1 2 ( 1 − ρ 2 ) [ ( x − μ X σ X ) 2 − 2 ρ ( x − μ X σ X ) ( y − m u Y σ Y ) + ( y − μ Y σ Y ) 2 ] (2) f(x,y) = \frac{1}{2\pi\sigma_X \sigma_Y\sqrt{1-\rho^2}}e^{-\frac{1}{2(1-\rho^2)}[(\frac{x-\mu_X}{\sigma_X})^2-2\rho(\frac{x-\mu_X}{\sigma_X})(\frac{y-_mu_Y}{\sigma_Y})+(\frac{y-\mu_Y}{\sigma_Y})^2]}\tag{2} f(x,y)=2πσX​σY​1−ρ2

​1​e−2(1−ρ2)1​[(σX​x−μX​​)2−2ρ(σX​x−μX​​)(σY​y−m​uY​​)+(σY​y−μY​​)2](2)

ρ \rho ρ是 X , Y X,Y X,Y之間的相關系數,

ρ = c o v ( X , Y ) σ X 2 σ Y 2 = E ( X Y ) − E ( X ) E ( Y ) σ X σ Y (3) \rho = \frac{cov(X,Y)}{\sqrt{\sigma_X^2\sigma_Y^2}}=\frac{E(XY)-E(X)E(Y)}{\sigma_X\sigma_Y}\tag{3} ρ=σX2​σY2​

​cov(X,Y)​=σX​σY​E(XY)−E(X)E(Y)​(3)

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

如果 X , Y X,Y X,Y之間互相獨立,則 ρ = 0 \rho=0 ρ=0

μ = ( μ X μ Y ) , Σ = ( σ X 2 ρ σ X σ Y ρ σ X σ Y σ Y 2 ) = ( c o v ( X , X ) c o v ( X , Y ) c o v ( X , Y ) c o v ( Y , Y ) ) (4) \mu = \begin{pmatrix} \mu_X\\ \mu_Y \end{pmatrix}, \Sigma= \begin{pmatrix} \sigma_X^2 & \rho\sigma_X\sigma_Y\\ \rho\sigma_X\sigma_Y & \sigma_Y^2 \end{pmatrix} =\begin{pmatrix} cov(X,X) & cov(X,Y)\\ cov(X,Y) & cov(Y,Y) \end{pmatrix} \tag{4} μ=(μX​μY​​),Σ=(σX2​ρσX​σY​​ρσX​σY​σY2​​)=(cov(X,X)cov(X,Y)​cov(X,Y)cov(Y,Y)​)(4)

三、從高斯分布到高斯過程

  高斯過程是無限個随機變量的聯合高斯分布,如下圖所示,橫軸表示連續的時間域,縱軸表示某時刻内随機變量的取值。其中采樣了四個随機變量( ζ 1 , ζ 2 , ζ 3 , ζ 4 \zeta_1,\zeta_2,\zeta_3,\zeta_4 ζ1​,ζ2​,ζ3​,ζ4​), 任意一個 t t t時刻的随機變量都符合高斯分布(如圖中藍色線)。圖中對同一時刻的随機變量分别采樣了兩次,構成了兩次高斯過程的采樣(如圖中橙線和綠線)。

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

  從圖中可以看出高斯過程不像高斯分布那樣有一個确定的均值和方差,而是與時間(/空間)相關的函數确定每個時刻的均值和方差。這兩個函數分别就是mean function 和 convariance function。mean function 決定了樣本出現的整體位置,covariance function也稱為kernel function 用于捕捉不同輸入點之間的距離關系,我們可以利用點與點之間的關系來對未知點進行預測。

  常用的kernel function有:

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

四、高斯過程回歸

  高斯過程回歸指現有資料集 { ( x 1 , f 1 ) , ( x 2 , f 2 ) , … , ( x n , f n ) } \{(x_1,f_1),(x_2,f_2),\dots,(x_n,f_n)\} {(x1​,f1​),(x2​,f2​),…,(xn​,fn​)},高斯過程回歸假設資料集符合高斯過程分布,且 f ∼ N ( μ f , K f ) f\sim N(\mu_f, K_{f}) f∼N(μf​,Kf​), 現給定新資料 x ∗ x^* x∗,求其對應的 y ∗ y^* y∗.

  從高斯過程的性質可得,有限維的随機變量符合聯合高斯分布,即:

[ f y ∗ ] ∼ ( [ μ f μ y ] , [ K f f K f y K f y T K y y ] ) (5) \begin{bmatrix} f\\ y^* \end{bmatrix} \sim \begin{pmatrix} \begin{bmatrix} \mu_f\\ \mu_y \end{bmatrix}, \begin{bmatrix} K_{ff} & K_{fy}\\ K_{fy}^T & K_{yy} \end{bmatrix} \end{pmatrix} \tag{5} [fy∗​]∼([μf​μy​​],[Kff​KfyT​​Kfy​Kyy​​]​)(5)

其中 K f f = k ( x , x ) , K f y = k ( x , x ∗ ) , k y y = k ( x ∗ , x ∗ ) K_{ff} = k(x,x), K_{fy} = k(x,x^*), k_{yy} = k(x^*,x^*) Kff​=k(x,x),Kfy​=k(x,x∗),kyy​=k(x∗,x∗).

  上式(5)确定了已有資料和未知資料的聯合分布,我們的目标是即在已知 { x n , f n } 和 x ∗ \{x_n,f_n\}和x^* {xn​,fn​}和x∗的條件下求 y ∗ y^* y∗,即 y ∗ y^* y∗的條件機率分布,

P ( f , y ∗ ) ⟶ P ( y ∗ ∣ f , x ∗ ) (6) P(f,y^*) \longrightarrow P(y^*|f,x^*)\tag{6} P(f,y∗)⟶P(y∗∣f,x∗)(6)

下面引入一個不加證明的公式,由聯合高斯分布變換為條件分布:

假設

x ∼ N ( μ , Σ ) x = ( x a x b ) , μ = ( μ a μ b ) , Σ = ( Σ a a Σ a b Σ b a Σ b b ) x \sim N(\mu,\Sigma)\\ x = \begin{pmatrix} x_a\\ x_b \end{pmatrix}, \mu= \begin{pmatrix} \mu_a\\ \mu_b \end{pmatrix}, \Sigma= \begin{pmatrix} \Sigma_{aa}& \Sigma_{ab}\\ \Sigma_{ba}& \Sigma_{bb} \end{pmatrix}\\ x∼N(μ,Σ)x=(xa​xb​​),μ=(μa​μb​​),Σ=(Σaa​Σba​​Σab​Σbb​​)

則有:

⇒ x b ∣ x a ∼ N ( μ b ∣ a , Σ b ∣ a ) μ b ∣ a = Σ b a Σ a a − 1 ( x a − μ a ) + μ b Σ b ∣ a = Σ b b − Σ b a Σ a a − 1 Σ a b (7) \Rightarrow\\ x_b|x_a \sim N(\mu_{b|a},\Sigma_{b|a})\\ \mu_{b|a} = \Sigma_{ba}\Sigma_{aa}^{-1}(x_a-\mu_a)+\mu_b\\ \Sigma_{b|a} = \Sigma_{bb} - \Sigma_{ba}\Sigma_{aa}^{-1}\Sigma{ab} \tag{7} ⇒xb​∣xa​∼N(μb∣a​,Σb∣a​)μb∣a​=Σba​Σaa−1​(xa​−μa​)+μb​Σb∣a​=Σbb​−Σba​Σaa−1​Σab(7)

是以

y ∗ ∣ f ; x , x ∗ ∼ N ( K f y T K f f − 1 f , K y y − K f y T K f f − 1 K f y ) y^*|f;x,x^* \sim N(K_{fy}^TK_{ff}^{-1}f,K_{yy}-K_{fy}^TK_{ff}^{-1}K_{fy}) y∗∣f;x,x∗∼N(KfyT​Kff−1​f,Kyy​−KfyT​Kff−1​Kfy​)

上式中我們将高斯過程中的均值假設為0。可以看出整個條件高斯分布的均值是原先觀測值的一個線性函數,協方差項是項表示在觀測資料的到來後其不确定性在減少,這與我們的常識相符。其中其均值 K f y T K f f − 1 f K_{fy}^TK_{ff}^{-1}f KfyT​Kff−1​f就可作為 y ∗ y^* y∗的預測值,協方差 K y y − K f y T K f f − 1 K f y K_{yy}-K_{fy}^TK_{ff}^{-1}K_{fy} Kyy​−KfyT​Kff−1​Kfy​就可作為該點預測的不确定性。

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

5個觀測點

高斯過程 Gaussian Process一、什麼是高斯過程二、高斯分布三、從高斯分布到高斯過程四、高斯過程回歸五、參考

10個觀測點

完整代碼請移步我的github。

五、參考

https://zhuanlan.zhihu.com/p/75589452

https://en.wikipedia.org/wiki/Gaussian_process