已知
高斯过程:任意给定一批样本点
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(F??∣X??,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(x?1?),f(x?2?),...,f(x?m?)],根据高斯过程的定义,有:
[
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??)?],[KK?T??K??K????]) 其中
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+σ2IK?T??K??K????]) 根据多维高斯分布的性质:
F
?
∣
Y
,
X
,
X
?
F_*|Y,X,X_*
F??∣Y,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)
x~N(μ,Σ)。
求
p
(
x
b
∣
x
a
)
p(x_b|x_a)
p(xb?∣xa?)
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}
xb?a?=xb??Σba?Σaa?1?xa?μb?a?=μb??Σba?Σaa?1?μa?Σbb?a?=Σbb??Σba?Σaa?1?Σ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}
xb?a?=(?Σba?Σaa?1??In×n??)(xa?xb??)
从而
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[xb?a?]Var[xb?a?]?=(?Σba?Σaa?1??In×n??)(μa?μb??)=μb?a?=(?Σba?Σaa?1??In×n??)(Σaa?Σba??Σab?Σbb??)(?Σaa?1?ΣbaT?In×n??)=Σbb?a?? 可得
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}
?xb?∣xa?=xb?a?+Σba?Σaa?1?xa?E[xb?∣xa?]=μb?a?+Σba?Σaa?1?xa?Var[xb?∣xa?]=Σbb?a?? 其中,
x
b
.
a
x_{b.a}
xb.a?与
x
a
x_a
xa?的独立性证明过程如图,该图来自B站大佬shuhuai008的白板推导视频勘误
根据上面得到的结论,我们把以下映射带入公式:
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}
xa?xb?ua?ub?Σaa?Σab?Σba?Σbb??=Y=F??=0=0=K=K??=K?T?=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}
μ??Σ???=K?T?K?1Y=K????K?T?K?1K??? 所以
P
(
F
?
∣
X
?
,
X
,
Y
)
=
N
(
F
?
∣
u
?
,
Σ
?
)
\mathbf{P(F_*|X_*,X,Y) = N(F_*|u_*,\Sigma_*)}
P(F??∣X??,X,Y)=N(F??∣u??,Σ??)
|