0.摘要
高斯过程通常根据它们的协方差函数进行参数化。 然而,这使得处理多个输出变得困难,因为确保协方差矩阵是正定的是有问题的。 另一种表述是将高斯过程视为与平滑内核卷积的白噪声源,并改为对内核进行参数化。 使用它,我们扩展高斯过程以处理多个耦合输出。
1.介绍
高斯过程回归具有许多理想的特性,例如易于获得和表达预测中的不确定性,通过简单的参数化捕获各种行为的能力,以及自然的贝叶斯解释 [15,4,9]。 正因为如此,它们被建议作为非线性回归 [8, 18] 中监督神经网络的替代品,扩展到处理分类任务 [11, 17, 6],并以各种其他方式使用(例如 [ 16、14])。 高斯过程 (GP) 作为一组联合高斯随机变量,完全由协方差矩阵表征,其中项由协方差函数确定。 传统上,此类模型是通过参数化协方差函数(即指定任意两个输入向量的输出值协方差的函数)来指定的。 一般来说,这需要是一个正定函数,以确保协方差矩阵的正定性。
大多数 GP 实现仅对单个输出变量进行建模。 处理多个输出的尝试通常涉及对每个输出使用独立的模型——一种称为多重克里金法 [18] 的方法——但此类模型无法捕获共变(非独立的,耦合的)输出中的结构。 例如,考虑图 2 顶部所示的两个紧密耦合输出,其中一个输出只是另一个输出的移位版本。 这里我们对输出 1 有详细的了解,但是输出 2 的采样是稀疏的。 将输出视为独立的模型无法利用它们明显的相似性——直观地说,我们应该使用从输出 1 和 2 中学到的知识来预测输出 2。
联合预测是可能的(例如 co-kriging [3]),但存在问题,因为尚不清楚应如何定义协方差函数 [5]。尽管有许多已知的正定自协方差函数(例如高斯和许多其他函数 [1, 9]),但很难定义导致正定协方差矩阵的交叉协方差函数。与神经网络建模形成对比,其中多个输出的处理是常规的。直接参数化协方差函数的替代方法是将 GP 视为稳定线性滤波器的输出。对于线性滤波器,响应输入 x(t) 的输出为 y ( t ) = h ( t ) ☆ x ( t ) = ∫ − ∞ + ∞ h ( t − τ ) x ( τ ) d τ y(t) = h(t) ☆ x(t) = \int_{−∞}^{+∞} h(t − τ )x(τ )dτ y(t)=h(t)☆x(t)=∫−∞+∞h(t−τ)x(τ)dτ ,其中 h(t ) 定义了滤波器的脉冲响应, ☆ ☆ ☆ 表示卷积。假设线性滤波器是稳定的并且x(t)是高斯白噪声,那么输出过程y(t)必然是高斯过程。还可以通过一组 M × N 脉冲响应来表征具有 M 个输入和 N 个输出的 p 维稳定线性滤波器。一般来说,得到的 N 个输出是相关的高斯过程。现在,我们可以通过参数化多输出线性滤波器的脉冲响应集,并从我们观察到的数据中推断参数值来对多个相关输出进行建模。我们现在指定和参数化脉冲响应h(t),而不是指定和参数化正定协方差函数。唯一的限制是滤波器是线性且稳定的,这是通过要求脉冲响应绝对可积来实现的。
通过用高斯噪声刺激线性滤波器来构造 GP 等效于通过核卷积构造 GP。 通过将连续白噪声过程
X
(
s
)
X(s)
X(s) 与平滑核
h
(
s
)
h(s)
h(s) 进行卷积,可以在区域
S
S
S 上构建高斯过程
V
(
s
)
V(s)
V(s),对于
s
∈
S
s∈ S
s∈S,
V
(
s
)
=
h
(
s
)
∗
X
(
s
)
V (s) = h(s) * X(s)
V(s)=h(s)∗X(s) ,[7]。 对此可以添加第二个白噪声源,代表测量不确定性,这共同给出了观测 Y 的模型。 GP 的这种视图以图形形式显示在图 1(a) 中。 卷积方法已被用于制定灵活的非平稳协方差函数 [13, 12]。 此外,可以通过假设一个共同的潜在过程 [7] 将这个想法扩展到对多个依赖输出过程进行建模。 例如,对于
s
∈
S
0
s ∈ S0
s∈S0,两个依赖进程
V
1
(
s
)
V1(s)
V1(s) 和
V
2
(
s
)
V2(s)
V2(s) 由对
X
(
s
)
X(s)
X(s) 的共享依赖构成,如下所示
V
1
(
s
)
=
∫
S
0
∪
S
1
h
1
(
s
−
λ
)
X
(
λ
)
d
λ
V_1(s)=\int_{S_0∪S_1}h_1(s-λ)X(λ)dλ
V1(s)=∫S0∪S1h1(s−λ)X(λ)dλ 并且
V
2
(
s
)
=
∫
S
0
∪
S
2
h
2
(
s
−
λ
)
X
(
λ
)
d
λ
V_2(s)=\int_{S_0∪S_2}h_2(s-λ)X(λ)dλ
V2(s)=∫S0∪S2h2(s−λ)X(λ)dλ
其中
S
=
S
0
∪
S
1
∪
S
2
S = S_0 ∪ S_1 ∪ S_2
S=S0∪S1∪S2 是不相交子空间的并集。
V
1
(
s
)
V_1(s)
V1(s) 依赖于
X
(
s
)
X(s)
X(s) ,
s
∈
S
1
s ∈ S1
s∈S1 但不依赖于
X
(
s
)
,
X(s),
X(s), s ∈ S2。 类似地,
V
2
(
s
)
V_2(s)
V2(s) 依赖于
X
(
s
)
X(s)
X(s),
s
∈
S
2
s ∈ S_2
s∈S2 但不依赖于
X
(
s
)
X(s)
X(s),
s
∈
S
1
s ∈ S1
s∈S1。 这允许
V
1
(
s
)
V1(s)
V1(s) 和
V
2
(
s
)
V2(s)
V2(s) 拥有独立的组件。
2.两个相关输出
在区域
R
p
R^p
Rp中,考虑两个输出:
Y
1
(
s
)
,
Y
2
(
s
)
,
s
∈
R
p
Y_1(s),Y_2(s),s∈R^p
Y1(s),Y2(s),s∈Rp,对于输出1我们有
N
1
N_1
N1个观测值,输出2有
N
2
N_2
N2个观测值,用以下下表示:
D
1
=
D_1=
D1={
s
1
,
i
,
y
1
,
i
s_{1,i},y_{1,i}
s1,i,y1,i}
i
=
1
N
1
_{i=1}^{N_1}
i=1N1、
D
2
=
D_2=
D2={
s
2
,
i
,
y
2
,
i
s_{2,i},y_{2,i}
s2,i,y2,i}
i
=
1
N
2
_{i=1}^{N_2}
i=1N2,我们希望从数据
D
=
D=
D={
D
1
,
D
2
D_1,D_2
D1,D2}中学习模型以预测
Y
1
(
s
′
)
Y_1(s')
Y1(s′)或者
Y
2
(
s
′
)
Y_2(s')
Y2(s′)如图1(b)我们可以将每个输出建模为三个平稳高斯过程的线性和。其中之一 (V) 来自该输出特有的噪声源,在与核 h 的卷积下。 第二个 (U ) 类似,但来自影响两个输出的单独噪声源 X0(尽管通过不同的内核 k)。 第三个是和以前一样的加性噪声。
因此我们有 Y i ( s ) = U i ( s ) + V i ( s ) + W i ( s ) Y_i(s)=U_i(s)+V_i(s)+W_i(s) Yi(s)=Ui(s)+Vi(s)+Wi(s)其中, W i ( s ) W_i(s) Wi(s)是方差为 σ i 2 σ^2_i σi2的平稳高斯白噪声, X 0 ( s ) , X 1 ( s ) , X 2 ( s ) X_0(s),X_1(s),X_2(s) X0(s),X1(s),X2(s)是独立的平稳高斯白噪声, U 1 ( s ) , U 2 ( s ) , V 1 ( s ) , V 2 ( s ) U_1(s),U_2(s),V_1(s),V_2(s) U1(s),U2(s),V1(s),V2(s)是由 U i ( s ) = k i ( s ) ☆ X 0 ( s ) U_i(s)=k_i(s)☆X_0(s) Ui(s)=ki(s)☆X0(s), V i ( s ) = h i ( s ) ☆ X i ( s ) V_i(s)=h_i(s)☆X_i(s) Vi(s)=hi(s)☆Xi(s)获得的高斯过程。
其中 k 1 , k 2 , h 1 , h 2 k_1,k_2,h_1,h_2 k1,k2,h1,h2 是参数化的高斯核,其中 k 1 ( s ) = v 1 e x p ( − 0.5 ∗ s T A 1 s ) , k 2 ( s ) = v 2 e x p ( − 0.5 ∗ ( s − μ ) T A 1 ( s − μ ) ) , h i ( s ) = w 1 e x p ( − 0.5 ∗ s T B i s ) , k_1(s)=v_1exp(-0.5*s^TA_1s),k_2(s)=v_2exp(-0.5*(s-μ)^TA_1(s-μ)),h_i(s)=w_1exp(-0.5*s^TB_is), k1(s)=v1exp(−0.5∗sTA1s),k2(s)=v2exp(−0.5∗(s−μ)TA1(s−μ)),hi(s)=w1exp(−0.5∗sTBis),注意 k 2 ( s ) k2(s) k2(s)从零偏移 µ µ µ,以允许对相互耦合和平移的输出进行建模。
对于任意输入
s
a
s_a
sa 和
s
b
s_b
sb 之间的给定间隔
d
d
d,我们希望导出定义输出
i
i
i 和
j
j
j 之间的自协方差
(
i
=
j
)
(i = j)
(i=j) 和交叉协方差
(
i
≠
j
)
(i ≠ j)
(i=j) 的函数集
C
i
j
Y
(
d
)
C^Y_{ij} (d)
CijY(d)。 通过求解卷积积分,
C
Y
(
d
)
C^Y(d)
CY(d) 可以表示为闭合形式 [2],并且完全由高斯核的参数和噪声方差
σ
1
2
σ^2_1
σ12 和
σ
2
2
σ^2_2
σ22 确定,如下所示:
C
11
Y
=
C
11
U
(
d
)
+
C
11
V
(
d
)
+
δ
a
b
σ
1
2
C_{11}^Y=C_{11}^U(d)+C_{11}^V(d)+δ_{ab}σ^2_1
C11Y=C11U(d)+C11V(d)+δabσ12
C 12 Y = C 12 U ( d ) C_{12}^Y=C_{12}^U(d) C12Y=C12U(d)
C 22 Y = C 22 U ( d ) + C 22 V ( d ) + δ a b σ 2 2 C_{22}^Y=C_{22}^U(d)+C_{22}^V(d)+δ_{ab}σ^2_2 C22Y=C22U(d)+C22V(d)+δabσ22
C
21
Y
=
C
21
U
(
d
)
C_{21}^Y=C_{21}^U(d)
C21Y=C21U(d)
其中,
C
i
i
U
(
d
)
=
π
(
p
2
)
v
i
2
∣
A
i
∣
e
x
p
(
−
1
4
d
T
A
i
d
)
C_{ii}^U(d)=\frac{π^{(\frac{p}2)}v_i^2}{\sqrt{|A_i|}}exp(-\frac{1}{4}d^TA_id)
CiiU(d)=∣Ai∣π(2p)vi2exp(−41dTAid)
C
12
U
(
d
)
=
π
(
p
2
)
v
i
v
2
∣
A
1
+
A
2
∣
e
x
p
(
−
1
4
(
d
−
μ
)
T
A
i
(
d
−
μ
)
)
C_{12}^U(d)=\frac{π^{(\frac{p}2)}v_iv_2}{\sqrt{|A_1+A_2|}}exp(-\frac{1}{4}(d-μ)^TA_i(d-μ))
C12U(d)=∣A1+A2∣π(2p)viv2exp(−41(d−μ)TAi(d−μ))
C
21
U
(
d
)
=
π
(
p
2
)
v
i
v
2
∣
A
1
+
A
2
∣
e
x
p
(
−
1
4
(
d
+
μ
)
T
A
i
(
d
+
μ
)
)
=
C
12
U
(
−
d
)
C_{21}^U(d)=\frac{π^{(\frac{p}2)}v_iv_2}{\sqrt{|A_1+A_2|}}exp(-\frac{1}{4}(d+μ)^TA_i(d+μ))=C_{12}^U(-d)
C21U(d)=∣A1+A2∣π(2p)viv2exp(−41(d+μ)TAi(d+μ))=C12U(−d)
C
i
i
V
(
d
)
=
π
(
p
2
)
w
i
2
∣
B
i
∣
e
x
p
(
−
1
4
d
T
B
i
d
)
C_{ii}^V(d)=\frac{π^{(\frac{p}2)}w_i^2}{\sqrt{|B_i|}}exp(-\frac{1}{4}d^TB_id)
CiiV(d)=∣Bi∣π(2p)wi2exp(−41dTBid)
且,
Σ
=
A
1
(
A
1
+
A
2
)
−
1
A
2
=
A
2
(
A
1
+
A
2
)
−
1
A
1
Σ=A_1(A_1+A_2)^{-1}A_2=A_2(A_1+A_2)^{-1}A_1
Σ=A1(A1+A2)−1A2=A2(A1+A2)−1A1
给定
C
i
j
Y
(
d
)
C_{ij}^Y(d)
CijY(d)之后,我们构建协方差矩阵
C
11
,
C
12
,
C
21
,
C
22
C{11},C{12},C{21},C{22}
C11,C12,C21,C22如下所示:
C
i
j
=
(
C
i
j
Y
(
s
i
,
1
−
s
j
,
1
)
.
.
.
C
i
j
Y
(
s
i
,
1
−
s
j
,
N
j
)
.
.
.
.
.
.
.
.
.
C
i
j
Y
(
s
i
,
N
i
−
s
j
,
1
)
.
.
.
C
i
j
Y
(
s
i
,
N
i
−
s
j
,
N
j
)
)
C{ij}=\left(\begin{matrix} C_{ij}^Y(s_{i,1}-s_{j,1}) & ... & C_{ij}^Y(s_{i,1}-s_{j,N_j}) \\ ...& ... & ... \\ C_{ij}^Y(s_{i,N_i}-s_{j,1}) & ... & C_{ij}^Y(s_{i,N_i}-s_{j,N_j}) \end{matrix} \right)
Cij=⎝⎛CijY(si,1−sj,1)...CijY(si,Ni−sj,1).........CijY(si,1−sj,Nj)...CijY(si,Ni−sj,Nj)⎠⎞
这些共同定义了组合输出数据 D 的正定对称协方差矩阵 C:
C
=
(
C
11
C
12
C
21
C
22
)
C=\left(\begin{matrix} C_{11} & C_{12} \\ C_{21} & C_{22} \end{matrix} \right)
C=(C11C21C12C22)
我们定义了一组参数化的超参数集 Θ={
v
1
,
v
2
,
w
1
,
w
2
,
A
1
,
A
2
,
B
1
,
B
2
,
µ
,
σ
1
,
σ
2
v_1,v_2,w_1,w_2,A_1,A_2,B_1,B_2, µ, σ_1, σ_2
v1,v2,w1,w2,A1,A2,B1,B2,µ,σ1,σ2},现在可以计算似然:
L
=
−
1
2
l
o
g
∣
C
∣
−
1
2
y
T
C
−
1
y
−
−
N
1
+
N
2
2
l
o
g
2
π
L=-\frac{1}2log|C|-\frac{1}2y^TC^{-1}y--\frac{N_1+N_2}2log2π
L=−21log∣C∣−21yTC−1y−−2N1+N2log2π
其中
y
T
=
[
y
1
,
1
.
.
.
.
y
1
,
N
1
y
2
,
1
.
.
.
y
2
,
N
2
]
y^T=[y_{1,1}.... y_{1,N_1} y_{2,1} ... y_{2,N_2}]
yT=[y1,1....y1,N1y2,1...y2,N2]
并且C 是 Θ 和 D 的函数。
学习模型现在对应于最大化似然 L L L 或最大化后验概率 P ( Θ ∣ D ) P (Θ | D) P(Θ∣D)。 或者,我们可以通过使用马尔可夫链蒙特卡罗方法 [10] 从联合分布 P ( y , Θ ∣ D ) P (y, Θ | D) P(y,Θ∣D) 中抽取样本来模拟 y 的预测分布。
给定 Θ 和 D 的输出
i
i
i 上点
s
′
s'
s′ 的预测分布是高斯分布,均值
y
p
′
y'_p
yp′ 和方差
σ
y
p
′
2
σ^2_{y'_p}
σyp′2 由下式给出
y
p
′
=
k
T
C
−
1
y
y'_p=k^TC^{-1}y
yp′=kTC−1y
σ
y
p
′
2
=
κ
−
k
T
C
−
1
k
σ^2_{y'_p}=κ-k^TC^{-1}k
σyp′2=κ−kTC−1k
其中
κ
=
C
i
i
Y
(
0
)
=
v
i
2
+
w
i
2
+
σ
i
2
κ=C_{ii}^Y(0)=v_i^2+w_i^2+σ_i^2
κ=CiiY(0)=vi2+wi2+σi2
k
=
[
C
i
1
Y
(
s
′
−
s
1
,
1
)
.
.
.
C
i
1
Y
(
s
′
−
s
1
,
N
1
)
C
i
2
Y
(
s
′
−
s
2
,
1
)
.
.
.
C
i
2
Y
(
s
′
−
s
2
,
N
2
)
]
T
k=[C_{i1}^Y(s'-s_{1,1})...C_{i1}^Y(s'-s_{1,N_1}) C_{i2}^Y(s'-s_{2,1})...C_{i2}^Y(s'-s_{2,N_2})]^T
k=[Ci1Y(s′−s1,1)...Ci1Y(s′−s1,N1)Ci2Y(s′−s2,1)...Ci2Y(s′−s2,N2)]T
2.1 示例1: 1维输入空间上的强依赖输出
考虑在 1d 输入空间上观察到的两个输出。令 A i = e x p ( f i ) A_i = exp(f_i) Ai=exp(fi)、 B i = e x p ( g i ) B_i = exp(g_i) Bi=exp(gi) 和 σ i = e x p ( β i ) σ_i = exp(β_i) σi=exp(βi)。我们的超参数是 Θ = Θ = Θ={ v 1 , v 2 , w 1 , w 2 , f 1 , f 2 , g 1 , g 2 , µ , β 1 , β 2 v_1, v_2 ,w_1, w_2, f_1, f_2, g_1, g_2, µ, β_1, β_2 v1,v2,w1,w2,f1,f2,g1,g2,µ,β1,β2},其中 Θ Θ Θ 的每个元素都是一个标量。如在 [2] 中,我们在 Θ Θ Θ 上设置高斯先验。
我们通过从输出 1 中获取 N 1 = 32 N_1 = 32 N1=32 个样本和从输出 2 中获取 N 2 = 16 N_2 = 16 N2=16 个样本来生成 N = 48 N = 48 N=48 个数据点。来自输出 1 的样本在区间 [-1, 1] 中线性分布,来自输出 2 的样本均匀分布在 [−1, −0.15]∪[0.65, 1] 区域内。所有样本均在加性高斯噪声下采集, σ = 0.025 σ = 0.025 σ=0.025。为了构建我们的模型,我们使用多起点共轭梯度算法最大化 P ( Θ ∣ D ) ∝ P ( D ∣ Θ ) P ( Θ ) P (Θ|D) ∝ P (D | Θ) P (Θ) P(Θ∣D)∝P(D∣Θ)P(Θ),初始条件为 5 个起点,从 P ( Θ ) P (Θ) P(Θ) 采样。
生成的依赖模型以及一个没有耦合的独立(控制)模型如图 2 所示(参见图 1)。观察到依赖模型已经学习了输出之间的耦合和转换,并在输出 2 中填充了缺失样本的地方。控制模型无法实现这样的填充,因为它由两个独立的高斯过程组成。
2.2 示例2: 2维输入空间上的强依赖输出
5 结论
我们已经展示了如何将高斯过程框架扩展到多个输出变量,而不假设它们是独立的。可以通过推断卷积核而不是协方差函数来处理多个过程。这使得为协变输出构建所需的正定协方差矩阵变得容易。
这项工作的一个应用是学习输出之间的空间转换。然而,这里开发的框架比这更通用,因为它可以对来自多个来源的数据进行建模,其中只有一些是共享的。我们的示例显示了在允许输出之间耦合的模型中填充稀疏采样区域成为可能。另一个应用是依赖时间序列的预测。我们的示例显示了学习多个时间序列之间的耦合如何有助于预测,特别是当要预测的序列依赖于其他序列的先前或当前值时。
相关高斯过程在一个输出采样成本高但与第二个输出便宜的情况下强烈协变的情况下应该特别有价值。通过推断数据的耦合和独立方面,可以使用廉价观测值作为昂贵观测值的代理。