高斯过程部分数学推导

发布时间:2023-03-30 16:00

已知

高斯过程:任意给定一批样本点 X = [ x 1 , x 2 , . . . , x n ] \mathbf{X=[x_1,x_2,...,x_n]} X=[x1,x2,...,xn] 为其随机分配 F = [ f ( x 1 ) , f ( x 2 ) , . . . , f ( x n ) ] \mathbf{F = [f(x_1),f(x_2),...,f(x_n)]} F=[f(x1),f(x2),...,f(xn)] F \bold F F 服从多维高斯分布。

假设 F \mathbf{F} F 的实际观测为 Y = [ y 1 , y 2 , . . . , y n ] \mathbf{Y=[y_1,y_2,...,y_n]} Y=[y1,y2,...,yn] ,且观测噪声服从均值 0 \bold 0 0,方差 σ 2 \mathbf{\sigma^2} σ2 的高斯分布。

问题

最终问题:给定一批新数据点 X ∗ \mathbf{X_*} X ,预测新的观测 Y ∗ \mathbf{Y_*} Y

隐含问题:给出 P ( F ∗ ∣ X ∗ , X , Y ) \mathbf{P(F_*|X_*,X,Y)} P(FX,X,Y) 后验预测分布

根据后验分布我们就能在该分布上随机采样从而得到新的观测值,这是一个随机过程

解决

在新数据点 X ∗ \bold X{_*} X 上分配的值为 F ∗ = [ f ( x ∗ 1 ) , f ( x ∗ 2 ) , . . . , f ( x ∗ m ) ] \bold F_*=[f(x_{*1}),f(x_{*2}),...,f(x_{*m})] F=[f(x1),f(x2),...,f(xm)],根据高斯过程的定义,有:
[ F F ∗ ] ∣ [ X X ∗ ] ∼ N ( [ u ( X ) u ( X ∗ ) ] , [ K K ∗ K ∗ T K ∗ ∗ ] ) \begin{bmatrix} \mathbf{F} \\ \mathbf{F_*} \end{bmatrix}|\begin{bmatrix} \mathbf{X} \\ \mathbf{X_*} \end{bmatrix} \sim N( \begin{bmatrix} \mathbf{u(X)} \\ \mathbf{u(X_*)} \end{bmatrix}, \begin{bmatrix} \mathbf{K} & \mathbf{K_*} \\ \mathbf{K_{*}^T} & \mathbf{K_{**}} \end{bmatrix} ) [FF][XX]N([u(X)u(X)],[KKTKK])
其中

K = k e r n e l ( X , X ) K ∗ = k e r n e l ( X , X ∗ ) K ∗ ∗ = k e r n e l ( X ∗ , X ∗ ) \begin{aligned} &\mathbf{K = kernel(X,X)} \\ &\mathbf{K_{*} = kernel(X,X_{*})} \\ &\mathbf{K_{**} = kernel(X_{*},X_{*})} \\ \end{aligned} K=kernel(X,X)K=kernel(X,X)K=kernel(X,X)


y n = f ( x n ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) \mathbf{y_n = f(x_n)+\epsilon ,\epsilon \sim N(0,\sigma ^2)} yn=f(xn)+ϵ,ϵN(0,σ2)

因此有
[ Y F ∗ ] ∣ [ X X ∗ ] ∼ N ( [ u ( X ) u ( X ∗ ) ] , [ K + σ 2 I K ∗ K ∗ T K ∗ ∗ ] ) \begin{bmatrix} \mathbf{Y} \\ \mathbf{F_*} \end{bmatrix}|\begin{bmatrix} \mathbf{X} \\ \mathbf{X_*} \end{bmatrix}\sim N( \begin{bmatrix} \mathbf{u(X)} \\ \mathbf{u(X_*)} \end{bmatrix}, \begin{bmatrix} \mathbf{K+\sigma^2I} & \mathbf{K_*} \\ \mathbf{K_{*}^T} & \mathbf{K_{**}} \end{bmatrix} ) [YF][XX]N([u(X)u(X)],[K+σ2IKTKK])
根据多维高斯分布的性质: F ∗ ∣ Y , X , X ∗ F_*|Y,X,X_* FY,X,X服从高斯分布 N ( u ∗ , Σ ∗ ) N(u_*,\Sigma_*) N(u,Σ). 求 u ∗ u_* u Σ ∗ \Sigma_{*} Σ的方法如下.

我们先介绍一个普遍的结论,下面的推导引自白板推导笔记

x = ( x 1 , x 2 , ⋯   , x p ) T = ( x a , m × 1 , x b , n × 1 ) T , μ = ( μ a , m × 1 , μ b , n × 1 ) , Σ = ( Σ a a Σ a b Σ b a Σ b b ) x=(x_1, x_2,\cdots,x_p)^T=(x_{a,m\times 1}, x_{b,n\times1})^T,\mu=(\mu_{a,m\times1}, \mu_{b,n\times1}),\Sigma=\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix} x=(x1,x2,,xp)T=(xa,m×1,xb,n×1)T,μ=(μa,m×1,μb,n×1),Σ=(ΣaaΣbaΣabΣbb),已知 x ∼ N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma) xN(μ,Σ)

p ( x b ∣ x a ) p(x_b|x_a) p(xbxa)
x b ⋅ a = x b − Σ b a Σ a a − 1 x a μ b ⋅ a = μ b − Σ b a Σ a a − 1 μ a Σ b b ⋅ a = Σ b b − Σ b a Σ a a − 1 Σ a b x_{b\cdot a}=x_b-\Sigma_{ba}\Sigma_{aa}^{-1}x_a\\ \mu_{b\cdot a}=\mu_b-\Sigma_{ba}\Sigma_{aa}^{-1}\mu_a\\ \Sigma_{bb\cdot a}=\Sigma_{bb}-\Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{ab} xba=xbΣbaΣaa1xaμba=μbΣbaΣaa1μaΣbba=ΣbbΣbaΣaa1Σab
于是有
x b ⋅ a = ( − Σ b a Σ a a − 1 I n × n ) ( x a x b ) x_{b\cdot a}=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}x_a\\x_b\end{pmatrix} xba=(ΣbaΣaa1In×n)(xaxb)

从而
E [ x b ⋅ a ] = ( − Σ b a Σ a a − 1 I n × n ) ( μ a μ b ) = μ b ⋅ a V a r [ x b ⋅ a ] = ( − Σ b a Σ a a − 1 I n × n ) ( Σ a a Σ a b Σ b a Σ b b ) ( − Σ a a − 1 Σ b a T I n × n ) = Σ b b ⋅ a \begin{aligned} \mathbb{E}[x_{b\cdot a}] & = \begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}\mu_a\\\mu_b\end{pmatrix} = \mu_{b\cdot a}\\ Var[x_{b\cdot a}] & = \begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}\begin{pmatrix}-\Sigma_{aa}^{-1}\Sigma_{ba}^T\\\mathbb{I}_{n\times n}\end{pmatrix} = \Sigma_{bb\cdot a} \end{aligned} E[xba]Var[xba]=(ΣbaΣaa1In×n)(μaμb)=μba=(ΣbaΣaa1In×n)(ΣaaΣbaΣabΣbb)(Σaa1ΣbaTIn×n)=Σbba
可得
x b ∣ x a = x b ⋅ a + Σ b a Σ a a − 1 x a E [ x b ∣ x a ] = μ b ⋅ a + Σ b a Σ a a − 1 x a V a r [ x b ∣ x a ] = Σ b b ⋅ a \begin{aligned} &x_b|x_a =x_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a \\\\ &\mathbb{E}[x_b|x_a]=\mu_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a \\\\ &Var[x_b|x_a]=\Sigma_{bb\cdot a}\\ \end{aligned} xbxa=xba+ΣbaΣaa1xaE[xbxa]=μba+ΣbaΣaa1xaVar[xbxa]=Σbba
其中, x b . a x_{b.a} xb.a x a x_a xa的独立性证明过程如图,该图来自B站大佬shuhuai008的白板推导视频勘误

高斯过程部分数学推导_第1张图片

根据上面得到的结论,我们把以下映射带入公式:
x a = Y x b = F ∗ u a = 0 u b = 0 Σ a a = K Σ a b = K ∗ Σ b a = K ∗ T Σ b b = K ∗ ∗ \begin{aligned} x_a & = \mathbf{Y} \\ x_b & = \mathbf{F_*} \\ u_a & = 0 \\ u_b & = 0 \\ \Sigma_{aa} & = \mathbf{K} \\ \Sigma_{ab} & = \mathbf{K_*} \\ \Sigma_{ba} & = \mathbf{K_*^T} \\ \Sigma_{bb} & = \mathbf{K_{**}} \\ \end{aligned} xaxbuaubΣaaΣabΣbaΣbb=Y=F=0=0=K=K=KT=K
代入的计算略,读者可自己完成。最终可得
μ ∗ = K ∗ T K − 1 Y Σ ∗ = K ∗ ∗ − K ∗ T K − 1 K ∗ \begin{aligned} \boldsymbol{\mu}_{*} &=\mathbf{K}_{*}^{T} \mathbf{K}^{-1} \mathbf{Y} \\ \mathbf{\Sigma}_{*} &=\mathbf{K}_{* *}-\mathbf{K}_{*}^{T} \mathbf{K}^{-1} \mathbf{K}_{*} \end{aligned} μΣ=KTK1Y=KKTK1K
所以
P ( F ∗ ∣ X ∗ , X , Y ) = N ( F ∗ ∣ u ∗ , Σ ∗ ) \mathbf{P(F_*|X_*,X,Y) = N(F_*|u_*,\Sigma_*)} P(FX,X,Y)=N(Fu,Σ)

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号