本小节我们将进入Gaussian Process 的学习。Gaussian 自然指的就是Gaussian Distribution,而Process 指的就是随机过程。在一维的 Gaussian Distribution 中我们可以令
p
(
x
)
=
N
(
μ
,
σ
2
)
p(x)=\mathcal{N}\left(\mu, \sigma^{2}\right)
p(x)=N(μ,σ2) 。如果 对应到高维高斯分布的话,也就是 (Multivariate Gaussian Distribution) 也就是我们通常意义上说的 Gaussian Network,对于任意的
x
∈
R
p
,
x \in \mathbb{R}^{p},
x∈Rp, 有
p
(
x
)
=
N
(
μ
,
Σ
)
,
p(x)=\mathcal{N}(\mu, \Sigma),
p(x)=N(μ,Σ), 且
Σ
\Sigma
Σ 是一个
p
×
p
p \times p
p×p 维的向量,
p
<
+
∞
p<+\infty
p<+∞ 如果是一个无限维的 Gaussian Distribution,那么就是我们今天要讨论的 Gaussian Process 了。首先 我们给出 Gaussian Process 的详细定义, Gaussian Process:定义在连续域上的无限多个高维随机变 量所组成的随机过程。所谓连续域指的就是时间或者空间。下面我们来进行详细的解释。
1 简单介绍
1.1 Gaussian Process 解释
我们假设有一组随机变量
{
ξ
t
}
t
∈
T
,
T
\left\{\xi_{t}\right\}_{t \in T}, T
{ξt}t∈T,T 是一个连续域,如果
∀
n
∈
N
+
,
\forall n \in N^{+},
∀n∈N+, 都有
t
1
,
t
2
,
⋯
,
t
n
∈
T
,
t_{1}, t_{2}, \cdots, t_{n} \in T,
t1,t2,⋯,tn∈T, 并 且存在一个约束条件
s
.
t
.
{
ξ
t
1
,
ξ
t
2
,
⋯
,
ξ
t
n
}
≜
ξ
t
1
∼
t
n
∼
N
(
μ
t
1
∼
t
n
,
Σ
t
1
∼
t
n
)
∙
s . t .\left\{\xi_{t_{1}}, \xi_{t_{2}}, \cdots, \xi_{t_{n}}\right\} \triangleq \xi_{t_{1} \sim t_{n}} \sim \mathcal{N}\left(\mu_{t_{1} \sim t_{n}}, \Sigma_{t_{1} \sim t_{n}}\right)_{\bullet}
s.t.{ξt1,ξt2,⋯,ξtn}≜ξt1∼tn∼N(μt1∼tn,Σt1∼tn)∙ 那么我们就称
{
ξ
t
}
t
∈
T
\left\{\xi_{t}\right\}_{t \in T}
{ξt}t∈T 是一个 Gaussian Process。那么,我们怎么来通俗的理解这个概念呢?也就是说有一系列在时间上或空间上 连续的点,他们之间分开看都是符合一个高斯分布的,而合起来看则是符合一个多维高斯分布的。也 就是如下图所示的,在五个不同的时刻有 5 个不同的点,之上的随机变量为
{
ξ
t
1
,
ξ
t
2
,
ξ
t
3
,
ξ
t
4
,
ξ
t
5
}
,
\left\{\xi_{t_{1}}, \xi_{t_{2}}, \xi_{t_{3}}, \xi_{t_{4}}, \xi_{t_{5}}\right\},
{ξt1,ξt2,ξt3,ξt4,ξt5}, 他们分别都符合一个高斯分布。
1.2 Gaussian Process 举例说明
为了帮助大家更好的来理解高斯分布,我们在这里讲一个故事。假如一个人的一生可以活到 100岁,横坐标就为时间
t
,
t,
t, 而纵坐标表示的为在这个时间点的表现值。(大概就这样将就的理解一下)。其中,
t
∈
[
0
,
100
]
,
t \in[0,100],
t∈[0,100], 每一个
ξ
t
∼
N
(
μ
t
,
σ
t
)
\xi_{t} \sim \mathcal{N}\left(\mu_{t}, \sigma_{t}\right)
ξt∼N(μt,σt) 。这是什么意思,也就是在每一个时刻这个人的表现值都符合一个独立的高斯分布,也就是在
t
t
t 时刻他的表现为[0; 100]。
现在,我们做一个假设,假设一个人,当t = 0 的时刻,他的一生就已经确定了,也就是他的每一个时刻的表现值都会符合一个确定的Gaussian Distribution,
μ
t
\mu_t
μt 和
σ
t
2
\sigma_{t}^2
σt2都是确定的。假设人可以活很多次,每个点的表现值都是一个高斯分布,那么他每一生都将是不一样的,每过一生都是从高斯过程中的一次采样,如下图所示,
所以,
{
ξ
t
1
,
ξ
t
2
,
⋯
,
ξ
t
n
}
,
\left\{\xi_{t_{1}}, \xi_{t_{2}}, \cdots, \xi_{t_{n}}\right\},
{ξt1,ξt2,⋯,ξtn}, 本身就是一个高斯分布,他们联合起来也是高斯分布,任何一个采样都 属于高斯分布,我们可以看成是高斯过程(GP)的一个样本。用符号的语言描述就是
G
P
(
m
(
t
)
,
k
(
s
,
t
)
)
G P(m(t), k(s, t))
GP(m(t),k(s,t)) 。其中
m
t
=
E
[
ξ
t
]
=
mean function
k
(
s
,
t
)
=
covariancefunction
=
E
[
[
ξ
s
−
m
(
s
)
]
[
ξ
t
−
m
(
t
)
]
T
]
\begin{array}{c} m_{t}=\mathbb{E}\left[\xi_{t}\right]=\text { mean function } \\ k(s, t)=\text { covariancefunction }=\mathbb{E}\left[\left[\xi_{s}-m(s)\right]\left[\xi_{t}-m(t)\right]^{T}\right] \end{array}
mt=E[ξt]= mean function k(s,t)= covariancefunction =E[[ξs−m(s)][ξt−m(t)]T]
也就是说,一个高斯过程属于一个多维高斯分布,服从分布的形式为
N
(
m
t
,
k
(
s
,
t
)
)
\mathcal{N}\left(m_{t}, k(s, t)\right)
N(mt,k(s,t))
2 权重空间角度(Weight Space)
Gaussian Process 在这里我们主要讲解的是Gaussian Process Regression。我们从Bayesian Linear Regression 的角度来引出的Gaussian Progress Regression。
2.1 Recall Bayesian Linear Regression
首先,我们需要回顾一下Bayesian Linear Regression。
- 首先对于一个,参数符合的分布,
p
(
w
∣
Data
)
=
N
(
w
∣
μ
w
,
Σ
w
)
p(w | \text {Data})=\mathcal{N}\left(w | \mu_{w}, \Sigma_{w}\right)
p(w∣Data)=N(w∣μw,Σw) 。其中,
μ
w
=
σ
−
2
A
−
1
X
T
Y
\mu_{w}=\sigma^{-2} A^{-1} X^{T} Y
μw=σ−2A−1XTY
Σ w = A − 1 , \Sigma_{w}=A^{-1}, Σw=A−1, 其中, A = σ − 2 X T X + Σ p − 1 A=\sigma^{-2} X^{T} X+\Sigma_{p}^{-1} A=σ−2XTX+Σp−1 。从这一步我们就成功的得到了在已知 Data 的情况下,未知 参数的分布形式。 - 在给定一个新的未知数向量 X*的情况下,我们可以首先利用 noise-free 形式:
f
(
x
)
=
w
T
x
=
f(x)=w^{T} x=
f(x)=wTx=
x
T
w
,
x^{T} w,
xTw, 然后再求得 noise 形式:
y
=
f
(
x
)
+
ϵ
,
y=f(x)+\epsilon,
y=f(x)+ϵ, 而
ϵ
∼
N
(
0
,
σ
2
)
\epsilon \sim \mathcal{N}\left(0, \sigma^{2}\right)
ϵ∼N(0,σ2) 。来获得我们想要的 prediction 值。这 样,我们就可以得到:
p ( f ( x ∗ ) ∣ Data , x ∗ ) ∼ N ( x ∗ T μ w , x ∗ T Σ w x ∗ ) p ( y ∗ ∣ Data , x ∗ ) ∼ N ( x ∗ T μ w , x ∗ T Σ w x ∗ + σ 2 ) \begin{array}{c} p\left(f\left(x^{*}\right) | \text {Data}, x^{*}\right) \sim \mathcal{N}\left(x^{* T} \mu_{w}, x^{* T} \Sigma_{w} x^{*}\right) \\ p\left(y^{*} | \text {Data}, x^{*}\right) \sim \mathcal{N}\left(x^{* T} \mu_{w}, x^{* T} \Sigma_{w} x^{*}+\sigma^{2}\right) \end{array} p(f(x∗)∣Data,x∗)∼N(x∗Tμw,x∗TΣwx∗)p(y∗∣Data,x∗)∼N(x∗Tμw,x∗TΣwx∗+σ2)
但是,问题马上就来了,因为很多时候,我们不能仅仅使用线性分类的方法来解决问题。现实生活中有许多非线性的问题来待我们求解。而一种经常使用的方法,也就是将数据投影到高维空间中来将非线性问题,转换成一个高维空间中的线性可分问题。或者是使用Bayesian Logistics Regression 来进行分类。如果,是将数据投影到高维空间中的话,我们很自然的就想到了Kernel Bayesian Linear Regression。
那么这个非线性转换可以被我们写成:If ϕ : x ↦ z , x ∈ R p , x ∈ R p , z ∈ R q , z = ϕ ( x ) \phi: x \mapsto z, x \in \mathbb{R}^{p}, x \in \mathbb{R}^{p}, z \in \mathbb{R}^{q}, z=\phi(x) ϕ:x↦z,x∈Rp,x∈Rp,z∈Rq,z=ϕ(x)
2.2 非线性转换后的表达
数据集被我们描述为
:
X
=
(
x
1
,
x
2
,
⋯
,
x
N
)
T
,
Y
=
(
y
1
,
y
2
,
⋯
,
y
N
)
T
: X=\left(x_{1}, x_{2}, \cdots, x_{N}\right)^{T}, Y=\left(y_{1}, y_{2}, \cdots, y_{N}\right)^{T}
:X=(x1,x2,⋯,xN)T,Y=(y1,y2,⋯,yN)T 。根据之前我们得到的 Bayesian Linear Regression 结果,我们代入可以得到:
f
(
x
∗
)
∣
X
,
Y
,
x
∗
∼
N
(
x
∗
T
(
σ
2
A
−
1
X
T
Y
)
,
x
∗
T
A
−
1
x
∗
)
f\left(x^{*}\right) | X, Y, x^{*}\sim \mathcal{N}\left(x^{* T}\left(\sigma^{2} A^{-1} X^{T} Y\right), x^{* T} A^{-1} x^{*}\right)
f(x∗)∣X,Y,x∗∼N(x∗T(σ2A−1XTY),x∗TA−1x∗)
而其中,
A
=
σ
−
2
X
T
X
+
Σ
p
−
1
,
A=\sigma^{-2} X^{T} X+\Sigma_{p}^{-1},
A=σ−2XTX+Σp−1,
If ϕ : x ↦ z , x ∈ R p , x ∈ R p , z ∈ R q , z = ϕ ( x ) ( q > p ) \phi: x \mapsto z, x \in \mathbb{R}^{p}, x \in \mathbb{R}^{p}, z \in \mathbb{R}^{q}, z=\phi(x)(\mathrm{q}>\mathrm{p}) ϕ:x↦z,x∈Rp,x∈Rp,z∈Rq,z=ϕ(x)(q>p) 。这里的 ϕ \phi ϕ 是一个非线性转换。
我们定义: Φ = ( ϕ ( x 1 ) , ϕ ( x 2 ) , ⋯ , ϕ ( x N ) ) N × q T \Phi=\left(\phi\left(x_{1}\right), \phi\left(x_{2}\right), \cdots, \phi\left(x_{N}\right)\right)_{N \times q}^{T} Φ=(ϕ(x1),ϕ(x2),⋯,ϕ(xN))N×qT
y
=
x
T
w
y=x^Tw
y=xTw转换之后为:
f
(
x
)
=
ϕ
(
x
)
T
w
。
f(x)=\phi(x)^{T} w 。
f(x)=ϕ(x)Tw。 那么
p
(
f
(
x
∗
)
∣
X
,
Y
,
x
∗
)
∼
N
(
σ
−
2
ϕ
(
x
∗
)
T
(
A
−
1
Φ
(
X
)
T
Y
)
,
ϕ
(
x
∗
)
T
A
−
1
ϕ
(
x
∗
)
)
p\left(f\left(x^{*}\right) | X, Y, x^{*}\right) \sim \mathcal{N}\left(\sigma^{-2} \phi\left(x^{*}\right)^{T}\left(A^{-1} \Phi(X)^{T} Y\right), \phi\left(x^{*}\right)^{T} A^{-1} \phi\left(x^{*}\right)\right)
p(f(x∗)∣X,Y,x∗)∼N(σ−2ϕ(x∗)T(A−1Φ(X)TY),ϕ(x∗)TA−1ϕ(x∗))
而其中,
A
=
σ
−
2
Φ
(
X
)
T
Φ
(
X
)
+
Σ
p
−
1
A=\sigma^{-2} \Phi(X)^{T} \Phi(X)+\Sigma_{p}^{-1}
A=σ−2Φ(X)TΦ(X)+Σp−1 。但是,很快我们又将面临一个新的问题,也就是
A
−
1
A^{-1}
A−1 应该 如何计算呢?这里我们就要使用到一个公式为,Woodbury Formula 公式:
(
A
+
U
C
V
)
−
1
=
A
−
1
−
A
−
1
U
(
C
−
1
+
V
A
−
1
U
)
−
1
V
A
−
1
(A+U C V)^{-1}=A^{-1}-A^{-1} U\left(C^{-1}+V A^{-1} U\right)^{-1} V A^{-1}
(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1
所以,
A
=
σ
−
2
Φ
(
X
)
T
Φ
(
X
)
+
Σ
p
−
1
A
Σ
p
=
σ
−
2
Φ
(
X
)
T
Φ
(
X
)
Σ
p
+
I
A
Σ
p
Φ
(
X
)
T
=
σ
−
2
Φ
(
X
)
T
Φ
(
X
)
Σ
p
Φ
(
X
)
T
+
Φ
(
X
)
T
=
σ
−
2
Φ
(
X
)
T
(
K
+
σ
2
I
)
σ
−
2
A
−
1
Φ
(
X
)
T
=
Σ
p
Φ
(
X
)
T
(
K
+
σ
2
I
)
−
1
\begin{array}{c} A=\sigma^{-2} \Phi(X)^{T} \Phi(X)+\Sigma_{p}^{-1} \\ \\ A \Sigma_{p}=\sigma^{-2} \Phi(X)^{T} \Phi(X) \Sigma_{p}+I \\ \\ A \Sigma_{p} \Phi(X)^{T}=\sigma^{-2} \Phi(X)^{T} \Phi(X) \Sigma_{p} \Phi(X)^{T}+\Phi(X)^{T}=\sigma^{-2} \Phi(X)^{T}\left(K+\sigma^{2} I\right) \\ \\ \sigma^{-2} A^{-1} \Phi(X)^{T}=\Sigma_{p} \Phi(X)^{T}\left(K+\sigma^{2} I\right)^{-1} \end{array}
A=σ−2Φ(X)TΦ(X)+Σp−1AΣp=σ−2Φ(X)TΦ(X)Σp+IAΣpΦ(X)T=σ−2Φ(X)TΦ(X)ΣpΦ(X)T+Φ(X)T=σ−2Φ(X)T(K+σ2I)σ−2A−1Φ(X)T=ΣpΦ(X)T(K+σ2I)−1
然后,两边同乘一个
ϕ
(
x
∗
)
\phi\left(x^{*}\right)
ϕ(x∗) 和
Y
Y
Y 就可以得到:
σ
−
2
ϕ
(
x
∗
)
A
−
1
Φ
(
X
)
T
Y
=
ϕ
(
x
∗
)
Σ
p
Φ
(
X
)
T
(
K
+
σ
2
I
)
−
1
Y
\sigma^{-2} \phi\left(x^{*}\right) A^{-1} \Phi(X)^{T} Y=\phi\left(x^{*}\right) \Sigma_{p} \Phi(X)^{T}\left(K+\sigma^{2} I\right)^{-1} Y
σ−2ϕ(x∗)A−1Φ(X)TY=ϕ(x∗)ΣpΦ(X)T(K+σ2I)−1Y
而这个
σ
−
2
ϕ
(
x
∗
)
A
−
1
Φ
(
X
)
T
Y
\sigma^{-2} \phi\left(x^{*}\right) A^{-1} \Phi(X)^{T} Y
σ−2ϕ(x∗)A−1Φ(X)TY 正好就是
p
(
f
(
x
∗
)
∣
X
,
Y
,
x
∗
)
′
p\left(f\left(x^{*}\right) | X, Y, x^{*}\right)^{\prime}
p(f(x∗)∣X,Y,x∗)′ 's Expectation 。而这里的
Σ
p
=
p
(
w
)
\Sigma_{p}=p(w)
Σp=p(w) 是一个先验
∼
N
(
0
,
Σ
p
)
,
\sim \mathcal{N}\left(0, \Sigma_{p}\right),
∼N(0,Σp), 而
σ
2
\sigma^{2}
σ2 为先验分布的噪声
,
X
∗
, X^{*}
,X∗ 是一个 new input
,
,
, 而
K
=
Φ
Σ
p
Φ
T
K=\Phi \Sigma_{p} \Phi^{T}
K=ΦΣpΦT 。所以,使用类似的方法我们可以得到,
p
(
f
(
x
∗
)
∣
X
,
Y
,
x
∗
)
p\left(f\left(x^{*}\right) | X, Y, x^{*}\right)
p(f(x∗)∣X,Y,x∗) 's Covarience 为:
ϕ
(
x
∗
)
T
Σ
p
ϕ
(
x
∗
)
−
ϕ
(
x
∗
)
T
Σ
p
Φ
(
X
)
T
(
K
+
σ
2
I
)
−
1
Φ
(
X
)
Σ
p
ϕ
(
x
∗
)
,
\phi\left(x^{*}\right)^{T} \Sigma_{p} \phi\left(x^{*}\right)-\phi\left(x^{*}\right)^{T} \Sigma_{p} \Phi(X)^{T}(K+\left.\sigma^{2} I\right)^{-1} \Phi(X) \Sigma_{p} \phi\left(x^{*}\right),
ϕ(x∗)TΣpϕ(x∗)−ϕ(x∗)TΣpΦ(X)T(K+σ2I)−1Φ(X)Σpϕ(x∗), 所以:
p
(
f
(
x
∗
)
∣
X
,
Y
,
x
∗
)
∼
N
(
ϕ
(
x
∗
)
Σ
p
Φ
(
X
)
T
(
K
+
σ
2
I
)
−
1
Y
,
ϕ
(
x
∗
)
T
Σ
p
ϕ
(
x
∗
)
−
ϕ
(
x
∗
)
T
Σ
p
Φ
(
X
)
T
(
K
+
σ
2
I
)
−
1
Φ
(
X
)
Σ
p
ϕ
(
x
∗
)
)
p\left(f\left(x^{*}\right) | X, Y, x^{*}\right) \sim \mathcal{N}\left(\phi\left(x^{*}\right) \Sigma_{p} \Phi(X)^{T}\left(K+\sigma^{2} I\right)^{-1} Y, \phi\left(x^{*}\right)^{T} \Sigma_{p} \phi\left(x^{*}\right)-\phi\left(x^{*}\right)^{T} \Sigma_{p} \Phi(X)^{T}\left(K+\sigma^{2} I\right)^{-1} \Phi(X) \Sigma_{p} \phi\left(x^{*}\right)\right)
p(f(x∗)∣X,Y,x∗)∼N(ϕ(x∗)ΣpΦ(X)T(K+σ2I)−1Y,ϕ(x∗)TΣpϕ(x∗)−ϕ(x∗)TΣpΦ(X)T(K+σ2I)−1Φ(X)Σpϕ(x∗))
而大家注意观察一下,下面几个等式:
ϕ
(
x
∗
)
T
Σ
p
Φ
T
ϕ
(
x
∗
)
T
Σ
p
ϕ
(
x
∗
)
Φ
Σ
p
Φ
T
Φ
Σ
p
ϕ
(
x
∗
)
(
9
)
\phi\left(x^{*}\right)^{T} \Sigma_{p} \Phi^{T} \quad \phi\left(x^{*}\right)^{T} \Sigma_{p} \phi\left(x^{*}\right) \quad \Phi \Sigma_{p} \Phi^{T} \quad \Phi \Sigma_{p} \phi\left(x^{*}\right) \ \ \ \ \ \ (9)
ϕ(x∗)TΣpΦTϕ(x∗)TΣpϕ(x∗)ΦΣpΦTΦΣpϕ(x∗) (9)
我们再来看看这里的这个
Φ
\Phi
Φ 是个什么东西?
Φ
N
×
q
=
(
ϕ
(
x
1
)
,
ϕ
(
x
2
)
,
⋯
,
ϕ
(
x
N
)
)
N
×
q
T
\Phi_{N \times q}=\left(\phi\left(x_{1}\right), \phi\left(x_{2}\right), \cdots, \phi\left(x_{N}\right)\right)_{N \times q}^{T}
ΦN×q=(ϕ(x1),ϕ(x2),⋯,ϕ(xN))N×qT
所以大家想一想就知道了,公式 (9) 中的四个公式实际上是一个东西,而
Φ
(
X
)
\Phi(X)
Φ(X) 只不过是将多个向量拼接在了一起而已。而
K
(
x
,
x
′
)
=
ϕ
(
x
)
T
Σ
p
ϕ
(
x
′
)
,
x
,
x
′
K\left(x, x^{\prime}\right)=\phi(x)^{T} \Sigma_{p} \phi\left(x^{\prime}\right), x, x^{\prime}
K(x,x′)=ϕ(x)TΣpϕ(x′),x,x′ 是两个不一样的样本,矩阵展开以后,形式都是一样的。那么下一个问题就是
K
(
x
,
x
′
)
K\left(x, x^{\prime}\right)
K(x,x′) 是否可以表达为一个 Kernel Function 的形式? 那么, 相关的探究就变得有趣了。
2.3 Kernel Trick
因为
Σ
p
\Sigma_{p}
Σp 是一个 positive define matrix,并且它也是 symmetry 的。所以,令
Σ
p
=
(
Σ
p
1
2
)
2
\Sigma_{p}=\left(\Sigma_{p}^{\frac{1}{2}}\right)^{2}
Σp=(Σp21)2 。那么 我们可以做如下的推导:
K
(
x
,
x
′
)
=
ϕ
(
x
)
T
Σ
p
1
2
Σ
p
1
2
ϕ
(
x
′
)
=
(
Σ
p
1
2
ϕ
(
x
)
)
T
⋅
Σ
p
1
2
ϕ
(
x
)
=
⟨
φ
(
x
)
,
φ
(
x
′
)
⟩
\begin{aligned} K\left(x, x^{\prime}\right) &=\phi(x)^{T} \Sigma_{p}^{\frac{1}{2}} \Sigma_{p}^{\frac{1}{2}} \phi\left(x^{\prime}\right) \\ &=\left(\Sigma_{p}^{\frac{1}{2}} \phi(x)\right)^{T} \cdot \Sigma_{p}^{\frac{1}{2}} \phi(x) \\ &=\left\langle\varphi(x), \varphi\left(x^{\prime}\right)\right\rangle \end{aligned}
K(x,x′)=ϕ(x)TΣp21Σp21ϕ(x′)=(Σp21ϕ(x))T⋅Σp21ϕ(x)=⟨φ(x),φ(x′)⟩
其中,
φ
(
x
)
=
Σ
p
1
2
ϕ
(
x
)
\varphi(x)=\Sigma_{p}^{\frac{1}{2}} \phi(x)
φ(x)=Σp21ϕ(x) 。那么,我们利用 Kernel Trick 可以有效的避免求
ϕ
(
X
)
,
\phi(X),
ϕ(X), 而是直接通过
K
(
x
,
x
′
)
K\left(x, x^{\prime}\right)
K(x,x′) 中包含的高维空间的转化。而Bayesian Linear Regression + Kernel Trick 中就了一个 Non-Linear Transformation inner product。我们就可以将这个转换定义到一个核空间中,避免了直接 来求这个复杂的转化。这也就是 Kernel Trick。 看到了这里,大家很容易会产生一个疑惑,那就是,好像这里的 GPR 并没有和 GP 有一毛钱的关系。而实际上这里的 GPR 有两种不同的思考角度,也就是两种 View,而这两种 View 可以得到 equal result:
- Weight-Space view,也就是我们这一小节所讲的东西。指的就是那两个等式, f ( x ) = ϕ ( x ) T w f(x)=\phi(x)^{T} w f(x)=ϕ(x)Tw 和 y = f ( x ) + ϵ ∘ y=f(x)+\epsilon_{\circ} y=f(x)+ϵ∘ 在这里我们的研究对象就是 w , w, w, 假设 w w w 的先验,需要求得 w w w 的后验,所以是从 Weight-Space 的角度分析的。
- Function-Space view,我们将 f ( x ) f(x) f(x) 看成是一个随机变量, f ( x ) ∼ G P ( m ( x ) , K ( x , x ′ ) ) f(x) \sim G P\left(m(x), K\left(x, x^{\prime}\right)\right) f(x)∼GP(m(x),K(x,x′)) 。这个我 们会在后面的小节中进行详细的描述,大家就可以看到 GP 的思想在其中的运用了。
而有一句话对GPR 的总结,非常的有意思,Gaussian Process Regress is the extension of Bayesian Linear Regression with kernel trick. 仔细想一想就知道了,我们把逻辑思路理一下,我们想用贝叶斯线性回归来解决非线性的问题,所以我们需要把输入空间投射到一个高维空间中,低维空间中的线性不可分问题将可以转化为高维空间中的线性可分问题。那么,我们就需要一个转换函数来完成这个工作,但是这个转换函数怎么求?有可能会很难求,而且维度很高。那么,我们就不求了,直接使用核技巧,也就是两个向量的内积等于一个核函数的值就可以了。这大概就是本节中Weight-Space View 的一个主线的思路。
3 权重空间到函数空间
在上一小节中,我们从Weight-Space View 来看Gaussian Process Regression,好像和Gaussian Process 并没有什么关系。但是这一小节,我们从函数的角度来看就可以看到了。
3.1 Recall Gaussian Process
对于一组随机变量
{
ξ
t
}
t
∈
T
,
T
:
\left\{\xi_{t}\right\}_{t \in T}, T:
{ξt}t∈T,T: continuous space or time
∘
_{\circ}
∘ If:
∀
n
∈
N
+
(
n
≥
1
)
,
Index
:
{
t
1
,
t
2
,
⋯
,
t
n
}
\forall n \in N^{+}(n \geq 1), \operatorname{Index}:\left\{t_{1}, t_{2}, \cdots, t_{n}\right\}
∀n∈N+(n≥1),Index:{t1,t2,⋯,tn}
→
\rightarrow
→ random variable :
{
ξ
t
1
,
ξ
t
2
,
⋯
,
ξ
t
n
}
∘
\left\{\xi_{t_{1}}, \xi_{t_{2}}, \cdots, \xi_{t_{n}}\right\}_{\circ}
{ξt1,ξt2,⋯,ξtn}∘ 令
ξ
1
:
n
=
{
ξ
t
1
,
ξ
t
2
,
⋯
,
ξ
t
n
}
T
\xi_{1: n}=\left\{\xi_{t_{1}}, \xi_{t_{2}}, \cdots, \xi_{t_{n}}\right\}^{T}
ξ1:n={ξt1,ξt2,⋯,ξtn}T 。If
ξ
1
:
n
∼
N
(
μ
1
:
n
,
Σ
1
:
n
)
,
\xi_{1: n} \sim \mathcal{N}\left(\mu_{1: n}, \Sigma_{1: n}\right),
ξ1:n∼N(μ1:n,Σ1:n), 那么我们称
{
ξ
t
}
t
∈
T
\left\{\xi_{t}\right\}_{t \in T}
{ξt}t∈T is a Gaussian Distribution
并且
,
ξ
t
∼
G
P
(
m
(
t
)
,
k
(
t
,
s
)
)
,
m
(
t
)
_{\text {并且 }}, \xi_{t} \sim G P(m(t), k(t, s)), m(t)
并且 ,ξt∼GP(m(t),k(t,s)),m(t) 为 mean function,
k
(
t
,
s
)
k(t, s)
k(t,s) 为 covariance function。下面我们回到 Weight-Space View 中。
3.2 Weight-Space view to Function-Space view
在这里
w
w
w 是一个先验分布,
f
(
x
)
f(x)
f(x) 是一个随机变量。
f
(
x
)
=
ϕ
(
x
)
T
w
,
y
=
f
(
x
)
+
ϵ
,
ϵ
∼
N
(
0
,
σ
2
)
f(x)=\phi(x)^{T} w, y=f(x)+\epsilon, \epsilon \sim \mathcal{N}\left(0, \sigma^{2}\right)
f(x)=ϕ(x)Tw,y=f(x)+ϵ,ϵ∼N(0,σ2)在 Bayesian 的方法中,对于给定的先验信息 (prior):
w
∼
N
(
0
,
Σ
p
)
w \sim \mathcal{N}\left(0, \Sigma_{p}\right)
w∼N(0,Σp) 。因为
,
f
(
x
)
=
ϕ
(
x
)
T
w
,
, f(x)=\phi(x)^{T} w,
,f(x)=ϕ(x)Tw, 所以可以得到:
E
w
[
f
(
x
)
]
=
E
w
[
ϕ
(
x
)
T
w
]
=
ϕ
(
x
)
T
E
w
[
w
]
=
0
\begin{aligned} \mathbb{E}_{w}[f(x)] &=\mathbb{E}_{w}\left[\phi(x)^{T} w\right]=\phi(x)^{T} \mathbb{E}_{w}[w]=0 \end{aligned}
Ew[f(x)]=Ew[ϕ(x)Tw]=ϕ(x)TEw[w]=0
那么对于
∀
x
,
x
′
∈
R
p
\forall x, x^{\prime} \in \mathbb{R}^{p}
∀x,x′∈Rp
cov
(
f
(
x
)
,
f
(
x
′
)
)
=
E
[
(
f
(
x
)
−
E
[
f
(
x
)
]
)
(
f
(
x
′
)
−
E
[
f
(
x
′
)
]
)
]
=
E
[
f
(
x
)
f
(
x
′
)
]
=
E
[
ϕ
(
x
)
T
w
ϕ
(
x
′
)
T
w
]
=
E
[
ϕ
(
x
)
T
w
w
T
ϕ
(
x
′
)
]
\begin{aligned} \operatorname{cov}\left(f(x), f\left(x^{\prime}\right)\right) &=\mathbb{E}\left[(f(x)-\mathbb{E}[f(x)])\left(f\left(x^{\prime}\right)-\mathbb{E}\left[f\left(x^{\prime}\right)\right]\right)\right] \\ &=\mathbb{E}\left[f(x) f\left(x^{\prime}\right)\right] \\ &=\mathbb{E}\left[\phi(x)^{T} w \phi\left(x^{\prime}\right)^{T} w\right] \\ &=\mathbb{E}\left[\phi(x)^{T} w w^{T} \phi\left(x^{\prime}\right)\right] \end{aligned}
cov(f(x),f(x′))=E[(f(x)−E[f(x)])(f(x′)−E[f(x′)])]=E[f(x)f(x′)]=E[ϕ(x)Twϕ(x′)Tw]=E[ϕ(x)TwwTϕ(x′)]
因为
ϕ
(
x
′
)
T
w
\phi\left(x^{\prime}\right)^{T} w
ϕ(x′)Tw 的结果是一个实数,所以它的转置就等于它自己。又因为
w
∼
N
(
0
,
Σ
p
)
,
w \sim \mathcal{N}\left(0, \Sigma_{p}\right),
w∼N(0,Σp), 均值为 0 协方差为
Σ
p
\Sigma_{p }
Σp 。并且有
E
[
w
w
T
]
=
E
[
(
w
−
0
)
(
w
T
−
0
)
]
,
\mathbb{E}\left[w w^{T}\right]=\mathbb{E}\left[(w-0)\left(w^{T}-0\right)\right],
E[wwT]=E[(w−0)(wT−0)], 这个东西不就是协方差矩阵
cov
(
w
)
=
Σ
p
\operatorname{cov}(w)=\Sigma_{p^{}}
cov(w)=Σp。
而
ϕ
(
x
)
T
Σ
p
ϕ
(
x
′
)
\phi(x)^{T} \Sigma_{p} \phi\left(x^{\prime}\right)
ϕ(x)TΣpϕ(x′) 是一个 kernel function, 前面我们已经证明过了,
φ
(
x
)
=
Σ
p
1
2
\varphi(x)=\Sigma_{p}^{\frac{1}{2}}
φ(x)=Σp21 。而
ϕ
(
x
)
Σ
p
ϕ
(
x
′
)
=
<
φ
(
x
)
,
φ
(
x
′
)
>
=
K
(
x
,
x
′
)
\phi(x) \Sigma_{p} \phi\left(x^{\prime}\right)=<\varphi(x), \varphi\left(x^{\prime}\right)>=K\left(x, x^{\prime}\right)
ϕ(x)Σpϕ(x′)=<φ(x),φ(x′)>=K(x,x′)
推导进行到了这里,我们就知道了
f
(
x
)
f(x)
f(x) 的期望为
0
,
0,
0, 协方差矩阵为一个核函数
K
(
x
,
x
′
)
K\left(x, x^{\prime}\right)
K(x,x′) 。那么我 们是不是惊奇的发现,这个和我们高斯过程的定义:
ξ
t
∼
G
P
(
m
(
t
)
,
K
(
t
,
s
)
)
,
\xi_{t} \sim G P(m(t), K(t, s)),
ξt∼GP(m(t),K(t,s)), 是多么惊人的相似呼。所以,这里可以启发我们:
f
(
x
)
f(x)
f(x) 的组成是否可以看成一个 GP,而
{
f
(
x
)
}
x
∈
R
p
\{f(x)\}_{x \in \mathbb{R}^{p}}
{f(x)}x∈Rp。 那么,首先
f
(
x
)
f(x)
f(x) 是一个function,而且f(x) 还是一个服从高斯分布的随机变量,
m
(
t
)
m(t)
m(t) 是一个mean function,
K
(
t
,
s
)
K(t,s)
K(t,s) 是一个covariance function。为了加深大家的理解,我们做进一步清晰的对比:
{
t
⟶
ξ
t
,
{
ξ
t
}
t
∈
T
∼
G
P
x
⟶
f
(
x
)
,
{
f
(
x
)
}
x
∈
R
p
∼
G
P
\left\{\begin{array}{l} t \longrightarrow \xi_{t},\left\{\xi_{t}\right\}_{t \in T} \sim G P \\ \\ x \longrightarrow f(x),\{f(x)\}_{x \in \mathbb{R}^{p}} \sim G P \end{array}\right.
⎩⎨⎧t⟶ξt,{ξt}t∈T∼GPx⟶f(x),{f(x)}x∈Rp∼GP
其实,我这样一对比,就非常的清晰了。在 GPR 的算法中,
- Weight-Space view 中关注的是
w
,
w,
w, 即为:
x ∗ → y ∗ p ( y ∗ ∣ Data , x ∗ ) = ∫ p ( y ∗ ∣ Data , x ∗ , w ) p ( w ) d w x^{*} \rightarrow y^{*} \quad p\left(y^{*} | \text { Data }, x^{*}\right)=\int p\left(y^{*} | \text { Data }, x^{*}, w\right) p(w) d w x∗→y∗p(y∗∣ Data ,x∗)=∫p(y∗∣ Data ,x∗,w)p(w)dw
又因为 w 本身就是从 Data 中,推导得到的,所以 p ( y ∗ ∣ Data , x ∗ , w ) = p ( y ∗ ∣ x ∗ , w ) p\left(y^{*} | \text {Data}, x^{*}, w\right)=p\left(y^{*} | x^{*}, w\right) p(y∗∣Data,x∗,w)=p(y∗∣x∗,w) - Function-Space view 中关注的是
f
(
x
)
,
f(x),
f(x), 即为:
p ( y ∗ ∣ Data , x ∗ ) = ∫ p ( y ∗ ∣ f ( x ) , x ∗ ) p ( f ( x ) ) d f ( x ) p\left(y^{*} | \text { Data }, x^{*}\right)=\int p\left(y^{*} | f(x), x^{*}\right) p(f(x)) d f(x) p(y∗∣ Data ,x∗)=∫p(y∗∣f(x),x∗)p(f(x))df(x)
写到了这里,不知道大家有没有y一点感觉了,这里就是把 f ( x ) f(x) f(x) 当成了一个随机变量来看的。这 里也就是通过 f ( x ) f(x) f(x) 来直接推导出 y ∗ y^{*} y∗ 。在 Weight-Space View 中,我们没有明确的提到 GP,但是在 Weight-Space view 中, f ( x ) f(x) f(x) 是符合 GP 的,只不过是没有显性的表示出来而已。我们可以用一个不 是很恰当的例子来表述一个,Weight-Space view 就是两个情侣之间,什么都有了,孩子都有了,但是 就是没有领结婚证,那么他们两个之间的关系就会比较复杂。而 Function-Space view 就是两个情侣之 间先领结婚证,在有了孩子,按部就班的来进行,所以他们之间的关系就会比较简单。
3.3 Function-Space View
上一小节中,我们从Weight-Space View 过渡到了Function-Space View,而Weight 指的就是参数。
{
f
(
x
)
}
x
∈
R
p
∼
G
P
(
m
(
x
)
,
K
(
x
,
x
′
)
)
m
(
x
)
=
E
[
f
(
x
)
]
K
(
x
,
x
′
)
=
E
[
(
f
(
x
)
−
m
(
x
)
)
(
f
(
x
′
)
−
m
(
x
′
)
)
]
\begin{array}{l} \{f(x)\}_{x \in \mathbb{R}^{p}} \sim G P\left(m(x), K\left(x, x^{\prime}\right)\right) \\ \\ m(x)=\mathbb{E}[f(x)] \quad K\left(x, x^{\prime}\right)=\mathbb{E}\left[(f(x)-m(x))\left(f\left(x^{\prime}\right)-m\left(x^{\prime}\right)\right)\right] \end{array}
{f(x)}x∈Rp∼GP(m(x),K(x,x′))m(x)=E[f(x)]K(x,x′)=E[(f(x)−m(x))(f(x′)−m(x′))]
Regression 问题被我们描述为:
Data:
{
(
x
i
,
y
i
)
}
i
=
1
N
,
x
=
(
x
1
,
x
2
,
⋯
,
x
N
)
N
×
p
T
,
Y
=
(
y
1
,
y
2
,
⋯
,
y
N
)
N
×
1
∘
T
又因为
f
(
x
)
符合一个
\text { Data: }\left\{\left(x_{i}, y_{i}\right)\right\}_{i=1}^{N}, x=\left(x_{1}, x_{2}, \cdots, x_{N}\right)_{N \times p}^{T}, Y=\left(y_{1}, y_{2}, \cdots, y_{N}\right)_{N \times 1^{\circ}}^{T} \text { 又因为 } f(x) \text { 符合一个 }
Data: {(xi,yi)}i=1N,x=(x1,x2,⋯,xN)N×pT,Y=(y1,y2,⋯,yN)N×1∘T 又因为 f(x) 符合一个
GP, 所以,
f
(
x
)
∼
N
(
μ
(
x
)
,
K
(
x
,
x
′
)
)
f(x) \sim \mathcal{N}\left(\mu(x), K\left(x, x^{\prime}\right)\right)
f(x)∼N(μ(x),K(x,x′)), 且
Y
=
f
(
x
)
+
ϵ
,
Y=f(x)+\epsilon,
Y=f(x)+ϵ, 所以
Y
∼
N
(
μ
(
x
)
,
K
(
x
,
x
′
)
+
σ
2
I
)
Y \sim \mathcal{N}\left(\mu(x), K\left(x, x^{\prime}\right)+\sigma^{2} I\right)
Y∼N(μ(x),K(x,x′)+σ2I) 。那么
给定 new input:
X
∗
=
(
x
1
∗
,
x
2
∗
,
⋯
,
x
N
∗
)
,
X^{*}=\left(x_{1}^{*}, x_{2}^{*}, \cdots, x_{N}^{*}\right),
X∗=(x1∗,x2∗,⋯,xN∗), 我们想要的 Prediction output 为
Y
∗
=
f
(
x
∗
)
+
ϵ
∘
Y^{*}=f\left(x^{*}\right)+\epsilon_{\circ}
Y∗=f(x∗)+ϵ∘ 那么,我 们可以得到 Y 和
f
(
x
∗
)
f\left(x^{*}\right)
f(x∗) 的联合概率密度分布为:
[
Y
f
(
x
∗
)
]
∼
N
(
[
μ
(
x
)
μ
(
x
∗
)
]
,
[
K
(
X
,
X
)
+
σ
2
I
K
(
X
,
X
∗
)
K
(
X
∗
,
X
)
K
(
X
∗
,
X
∗
)
]
)
\left[\begin{array}{c} Y \\ f\left(x^{*}\right) \end{array}\right] \sim \mathcal{N}\left(\left[\begin{array}{c} \mu(x) \\ \mu\left(x^{*}\right) \end{array}\right],\left[\begin{array}{cc} K(X, X)+\sigma^{2} I & K\left(X, X^{*}\right) \\ K\left(X^{*}, X\right) & K\left(X^{*}, X^{*}\right) \end{array}\right]\right)
[Yf(x∗)]∼N([μ(x)μ(x∗)],[K(X,X)+σ2IK(X∗,X)K(X,X∗)K(X∗,X∗)])
在这里,我必须要首先列举一下,前面我们曾经提到的更加联合概率密度求边缘概率密度的方法。
已知,
X
∼
N
(
μ
,
Σ
)
X \sim \mathcal{N}(\mu, \Sigma)
X∼N(μ,Σ)
x
=
[
x
a
x
b
]
μ
=
[
μ
a
μ
b
]
Σ
=
[
Σ
a
a
Σ
a
b
Σ
b
a
Σ
b
b
]
(
8
)
x=\left[\begin{array}{l} x_{a} \\ x_{b} \end{array}\right] \quad \mu=\left[\begin{array}{l} \mu_{a} \\ \mu_{b} \end{array}\right] \quad \Sigma=\left[\begin{array}{cc} \Sigma_{a a} & \Sigma_{a b} \\ \Sigma_{b a} & \Sigma_{b b} \end{array}\right] \ \ \ \ \ \ (8)
x=[xaxb]μ=[μaμb]Σ=[ΣaaΣbaΣabΣbb] (8)
而我们可以得到:
p
(
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
(
9
)
\begin{array}{l} p\left(x_{b} | x_{a}\right) \sim \mathcal{N}\left(\mu_{b | a}, \Sigma_{b | a}\right) \\ \mu_{b | a}=\Sigma_{b a} \Sigma_{a a}^{-1}\left(x_{a}-\mu_{a}\right)+\mu_{b} \\ \Sigma_{b | a}=\Sigma_{b b}-\Sigma_{b a} \Sigma_{a a}^{-1} \Sigma_{a b} \end{array} \ \ \ \ \ \ (9)
p(xb∣xa)∼N(μb∣a,Σb∣a)μb∣a=ΣbaΣaa−1(xa−μa)+μbΣb∣a=Σbb−ΣbaΣaa−1Σab (9)
我们要求的梅率为
p
(
f
(
x
∗
)
∣
Y
,
X
,
x
∗
)
,
p\left(f\left(x^{*}\right) | Y, X, x^{*}\right),
p(f(x∗)∣Y,X,x∗), 就是一个我们要求的条件概率,有的同学可能就会有疑惑
了,不应该是
p
(
f
(
x
∗
)
∣
Y
)
p(f(x *) | Y)
p(f(x∗)∣Y) 吗?为什么这里可以把
X
,
x
∗
X, x^{*}
X,x∗ 给忽略掉了? 因为
X
X
X 和
Y
Y
Y 相关,因为
Y
=
Y=
Y=
ϕ
(
X
)
T
w
+
ϵ
0
\phi(X)^{T} w+\epsilon_{0}
ϕ(X)Tw+ϵ0 而
∣
X
∗
| X^{*}
∣X∗ 涵盖在了
f
(
x
∗
)
f\left(x^{*}\right)
f(x∗) 中,因为
f
(
x
∗
)
=
ϕ
(
X
∗
)
T
w
f\left(x^{*}\right)=\phi\left(X^{*}\right)^{T} w
f(x∗)=ϕ(X∗)Tw
所以,我们的目标也就是求
p
(
f
(
x
∗
)
∣
Y
,
p(f(x *) | Y,
p(f(x∗)∣Y, 也就是已知联合樞率分布的情况下求条件概率分布。 我们对比公式 (8) 和公式 (9) 就可以发现
,
Y
→
x
a
,
f
(
x
∗
)
→
x
b
,
K
(
X
,
X
)
+
σ
2
I
→
Σ
a
a
,
K
(
X
,
X
∗
)
→
, Y \rightarrow x_{a}, f\left(x^{*}\right) \rightarrow x_{b}, K(X, X)+\sigma^{2} I \rightarrow \Sigma_{a a}, K\left(X, X^{*}\right) \rightarrow
,Y→xa,f(x∗)→xb,K(X,X)+σ2I→Σaa,K(X,X∗)→
Σ
b
a
,
K
(
X
∗
,
X
∗
)
→
Σ
b
b
∘
\Sigma_{b a}, K(X *, X *) \rightarrow \Sigma_{b b \circ}
Σba,K(X∗,X∗)→Σbb∘ 那么,我们可以令
p
(
f
(
x
∗
)
∣
Y
,
X
,
x
∗
)
∼
N
(
μ
∗
,
Σ
∗
)
,
p\left(f\left(x^{*}\right) | Y, X, x^{*}\right) \sim \mathcal{N}\left(\mu^{*}, \Sigma^{*}\right),
p(f(x∗)∣Y,X,x∗)∼N(μ∗,Σ∗), 代入之前获得的公式的结
果我们就可以得到:
μ
∗
=
K
(
X
∗
,
X
)
(
K
(
X
,
X
)
+
σ
2
I
)
−
1
(
Y
−
μ
(
X
)
)
+
μ
(
X
∗
)
Σ
∗
=
K
(
X
∗
,
X
∗
)
−
K
(
X
∗
,
X
)
(
K
(
X
,
X
)
+
σ
2
I
)
−
1
\begin{array}{l} \mu^{*}=K\left(X^{*}, X\right)\left(K(X, X)+\sigma^{2} I\right)^{-1}(Y-\mu(X))+\mu\left(X^{*}\right) \\ \Sigma^{*}=K\left(X^{*}, X^{*}\right)-K\left(X^{*}, X\right)\left(K(X, X)+\sigma^{2} I\right)^{-1} \end{array}
μ∗=K(X∗,X)(K(X,X)+σ2I)−1(Y−μ(X))+μ(X∗)Σ∗=K(X∗,X∗)−K(X∗,X)(K(X,X)+σ2I)−1
并且,
y
∗
=
f
(
X
∗
)
+
ϵ
∘
y *=f\left(X^{*}\right)+\epsilon_{\circ}
y∗=f(X∗)+ϵ∘ 那么 noise-free 的形式可以被我们写完:
p
(
f
(
x
∗
)
∣
Y
,
X
,
x
∗
)
=
N
(
μ
∗
,
Σ
∗
)
p\left(f\left(x^{*}\right) | Y, X, x^{*}\right)=\mathcal{N}\left(\mu^{*}, \Sigma^{*}\right)
p(f(x∗)∣Y,X,x∗)=N(μ∗,Σ∗)
而
p
(
f
(
y
∗
)
∣
Y
,
X
,
x
∗
)
=
N
(
μ
y
∗
,
Σ
y
∗
)
,
p\left(f\left(y^{*}\right) | Y, X, x^{*}\right)=\mathcal{N}\left(\mu_{y}^{*}, \Sigma_{y}^{*}\right),
p(f(y∗)∣Y,X,x∗)=N(μy∗,Σy∗), 而
y
∗
=
f
(
X
∗
)
+
ϵ
,
y^{*}=f\left(X^{*}\right)+\epsilon,
y∗=f(X∗)+ϵ, 而
μ
y
∗
=
μ
∗
,
Σ
y
∗
=
Σ
∗
+
σ
2
I
\mu_{y}^{*}=\mu^{*}, \Sigma_{y}^{*}=\Sigma^{*}+\sigma^{2} I
μy∗=μ∗,Σy∗=Σ∗+σ2I
在 Function-Space View 中,
f
(
x
)
f(x)
f(x) 本身是符合 GP 的,那么我们可以直接写出 Prediction 矩阵, 并将其转化为已知联合概率密度分布求条件概率密度的问题。Function-Space View 和 Weight-Space View 得到的结果是一样的,但是更加的简单。