随机变量 X 满足如下概率分布:
P
(
X
;
θ
)
=
∑
j
=
1
k
α
j
φ
(
X
;
θ
j
)
P(X ; theta)=sum_{j=1}^{k} alpha_{j} varphileft(X ; theta_{j}right)
P(X;θ)=j=1∑kαjφ(X;θj)
其中
α
j
alpha_{j}
αj 是满足
α
j
>
0
alpha_{j}>0
αj>0且
∑
j
=
1
k
α
j
=
1
sum_{j=1}^{k} alpha_{j}=1
∑j=1kαj=1的系数;
φ
(
X
;
θ
j
)
varphileft(X ; theta_{j}right)
φ(X;θj)是参数
θ
j
=
(
μ
j
,
σ
j
2
)
theta_{j}=left(mu_{j}, sigma_{j}^{2}right)
θj=(μj,σj2)的高斯分布密度函数。
假设
α
j
alpha_j
αj为随机变量
z
j
z_j
zj服从概率分布
z
j
P
(
Z
;
λ
)
z_j ~ P(Z; lambda)
zj P(Z;λ),则参数
θ
=
{
λ
,
μ
,
∑
}
theta={lambda,mu,sum}
θ={λ,μ,∑}
由于样本集X的变量相互独立,因此想要找到一组参数
θ
theta
θ使事件发生的概率最大
arg
max
θ
^
P
(
X
;
θ
)
=
arg
max
θ
^
∏
i
=
1
m
∑
j
=
1
n
P
(
X
=
x
i
,
Z
=
z
j
;
θ
)
=
arg
max
θ
^
∏
X
∑
Z
P
(
X
,
Z
;
θ
)
=
arg
max
θ
^
L
(
θ
)
begin{aligned} arg max _{hat{theta}} P(X ; theta) &=arg max _{hat{theta}} prod_{i=1}^{m} sum_{j=1}^{n} Pleft(X=x_{i}, Z=z_{j} ; thetaright) \ &=arg max _{hat{theta}} prod_{X} sum_{Z} P(X, Z ; theta) \ &=arg max _{hat{theta}} L(theta) end{aligned}
argθ^maxP(X;θ)=argθ^maxi=1∏mj=1∑nP(X=xi,Z=zj;θ)=argθ^maxX∏Z∑P(X,Z;θ)=argθ^maxL(θ)
Z是函数的隐变量,通常是要求解多个概率的系数,且
∑
j
=
1
P
(
Z
=
z
j
)
=
1
sum_{j=1} P(Z=z_j) = 1
∑j=1P(Z=zj)=1
(1) 变换似然函数并寻找下界
对似然函数取对数,用
l
o
g
(
∑
i
=
1
x
i
)
>
=
∑
i
=
1
l
o
g
(
x
i
)
log(sum_{i=1} x_i) >= sum_{i=1} log(x_i)
log(∑i=1xi)>=∑i=1log(xi)凹函数的性质求解下界
L
(
θ
)
=
∑
i
=
1
m
log
∑
j
=
1
n
P
(
X
=
x
i
,
Z
=
z
j
;
θ
)
=
∑
i
=
1
m
log
∑
j
=
1
n
Q
(
Z
=
z
j
;
θ
z
)
P
(
X
=
x
i
,
Z
=
z
j
;
θ
)
Q
(
Z
=
z
j
;
θ
z
)
≥
∑
i
=
1
m
∑
j
=
1
n
Q
(
Z
=
z
j
;
θ
z
)
log
P
(
X
=
x
i
,
Z
=
z
j
;
θ
)
Q
(
Z
=
z
j
;
θ
z
)
=
∑
X
∑
Z
Q
(
Z
;
θ
z
)
log
P
(
X
,
Z
;
θ
)
Q
(
Z
;
θ
z
)
begin{aligned} mathcal{L}(theta) &=sum_{i=1}^{m} log sum_{j=1}^{n} Pleft(X=x_{i}, Z=z_{j} ; thetaright) \ &=sum_{i=1}^{m} log sum_{j=1}^{n} Qleft(Z=z_{j} ; theta_{z}right) frac{Pleft(X=x_{i}, Z=z_{j} ; thetaright)}{Qleft(Z=z_{j} ; theta_{z}right)} \ & geq sum_{i=1}^{m} sum_{j=1}^{n} Qleft(Z=z_{j} ; theta_{z}right) log frac{Pleft(X=x_{i}, Z=z_{j} ; thetaright)}{Qleft(Z=z_{j} ; theta_{z}right)} \ &=sum_{X} sum_{Z} Qleft(Z ; theta_{z}right) log frac{P(X, Z ; theta)}{Qleft(Z ; theta_{z}right)} end{aligned}
L(θ)=i=1∑mlogj=1∑nP(X=xi,Z=zj;θ)=i=1∑mlogj=1∑nQ(Z=zj;θz)Q(Z=zj;θz)P(X=xi,Z=zj;θ)≥i=1∑mj=1∑nQ(Z=zj;θz)logQ(Z=zj;θz)P(X=xi,Z=zj;θ)=X∑Z∑Q(Z;θz)logQ(Z;θz)P(X,Z;θ)
高斯混合模型产生了 m 个样例,每个样例
x
i
x_i
xi 的隐含类别
Z
=
z
j
Z = z_j
Z=zj 的概率,E步即求解隐变量
z
j
z_j
zj的过程,先估计参数
θ
=
{
α
,
μ
,
∑
}
theta={ alpha, mu,sum}
θ={α,μ,∑}的初值,则Z的后验概率为
Q
i
(
Z
=
z
j
)
=
P
(
Z
=
z
j
∣
X
=
x
i
;
θ
)
=
P
(
Z
=
z
j
,
X
=
x
i
;
θ
)
P
(
X
=
x
i
;
θ
)
=
P
(
Z
=
z
j
,
X
=
x
i
;
θ
)
∑
r
=
1
k
P
(
Z
=
z
r
,
X
=
x
i
;
θ
)
=
α
j
φ
(
X
=
x
i
;
θ
j
)
∑
r
=
1
k
α
r
φ
(
X
=
x
i
;
θ
r
)
begin{aligned} Q_{i}left(Z=z_{j}right) &=Pleft(Z=z_{j} mid X=x_{i} ; thetaright) \ &=frac{Pleft(Z=z_{j}, X=x_{i} ; thetaright)}{Pleft(X=x_{i} ; thetaright)} \ &=frac{Pleft(Z=z_{j}, X=x_{i} ; thetaright)}{sum_{r=1}^{k} Pleft(Z=z_{r}, X=x_{i} ; thetaright)} \ &=frac{alpha_{j} varphileft(X=x_{i} ; theta_{j}right)}{sum_{r=1}^{k} alpha_{r} varphileft(X=x_{i} ; theta_{r}right)} end{aligned}
Qi(Z=zj)=P(Z=zj∣X=xi;θ)=P(X=xi;θ)P(Z=zj,X=xi;θ)=∑r=1kP(Z=zr,X=xi;θ)P(Z=zj,X=xi;θ)=∑r=1kαrφ(X=xi;θr)αjφ(X=xi;θj)
M步其实就是在求解出
Q
i
(
Z
=
z
j
)
Q_i(Z=z_j)
Qi(Z=zj)之后,根据极大似然函数求极值求解参数
θ
theta
θ的值
L
(
θ
)
=
∑
X
∑
Z
Q
(
Z
;
θ
z
)
log
P
(
X
,
Z
;
θ
)
Q
(
Z
;
θ
z
)
=
∑
i
=
1
m
∑
j
=
1
k
Q
i
(
Z
=
z
j
;
θ
)
log
P
(
X
=
x
i
,
Z
=
z
j
;
θ
)
Q
i
(
Z
=
z
j
;
θ
)
=
∑
i
=
1
m
∑
j
=
1
k
Q
i
(
Z
=
z
j
)
log
P
(
X
=
x
i
;
μ
,
Σ
)
P
(
Z
=
z
j
;
λ
)
Q
i
(
Z
=
z
j
)
begin{aligned} mathcal{L}(theta) &=sum_{X} sum_{Z} Qleft(Z ; theta_{z}right) log frac{P(X, Z ; theta)}{Qleft(Z ; theta_{z}right)} \ &=sum_{i=1}^{m} sum_{j=1}^{k} Q_{i}left(Z=z_{j} ; thetaright) log frac{Pleft(X=x_{i}, Z=z_{j} ; thetaright)}{Q_{i}left(Z=z_{j} ; thetaright)} \ &=sum_{i=1}^{m} sum_{j=1}^{k} Q_{i}left(Z=z_{j}right) log frac{Pleft(X=x_{i} ; mu, Sigmaright) Pleft(Z=z_{j} ; lambdaright)}{Q_{i}left(Z=z_{j}right)} end{aligned}
L(θ)=X∑Z∑Q(Z;θz)logQ(Z;θz)P(X,Z;θ)=i=1∑mj=1∑kQi(Z=zj;θ)logQi(Z=zj;θ)P(X=xi,Z=zj;θ)=i=1∑mj=1∑kQi(Z=zj)logQi(Z=zj)P(X=xi;μ,Σ)P(Z=zj;λ)
求解参数
μ
l
mu_{l}
μl,公式就和我们平时求解均值的公式一样,这里
w
i
,
j
=
Q
i
(
Z
=
z
j
)
w_{i,j}=Q_i(Z=z_j)
wi,j=Qi(Z=zj)
μ
l
=
∑
i
=
1
m
w
i
,
l
x
i
∑
i
=
1
m
w
i
,
l
mu_{l}=frac{sum_{i=1}^{m} w_{i, l} x_{i}}{sum_{i=1}^{m} w_{i, l}}
μl=∑i=1mwi,l∑i=1mwi,lxi求解参数
∑
l
sum_l
∑l
Σ
l
=
∑
i
=
1
m
(
x
i
−
μ
l
)
(
x
i
−
μ
l
)
T
w
i
,
l
∑
i
=
1
m
w
i
,
l
Sigma_{l}=frac{sum_{i=1}^{m}left(x_{i}-mu_{l}right)left(x_{i}-mu_{l}right)^{T} w_{i, l}}{sum_{i=1}^{m} w_{i, l}}
Σl=∑i=1mwi,l∑i=1m(xi−μl)(xi−μl)Twi,l求解
α
l
alpha_l
αl
α
l
=
1
m
∑
i
=
1
m
w
i
,
l
alpha_{l}=frac{1}{m} sum_{i=1}^{m} w_{i, l}
αl=m1i=1∑mwi,l
详细过程
高斯混合回归 GMR
高斯混合回归 ( Gaussian Mixture Regression)是另一种流行的时间序列和运动表示技术。它依赖于多元高斯分布的线性变换和条件反射性质。GMR提供了一种综合机制来计算输出分布,其计算时间与用于训练模型的数据点的数量无关。GMR的一个特点是它不直接对回归函数进行建模。相反,它首先以高斯混合模型(GMM)的形式来模拟数据的联合概率密度。然后可以从学习的联合密度模型计算回归函数,从而非常快速地计算条件分布。
在GMR中,输入变量和输出变量都可以是多维的。可以选择输入-输出维度的任何子集,如果需要,它可以在每个时间步长中进行更改。因此,可以考虑输入-输出映射的任何组合,其中对其余维度的期望被计算为一个多元分布。下面,我们将在时间步
t
t
t的数据点
x
t
∈
R
D
boldsymbol{x}_{t} in mathbb{R}^{D}
xt∈RD的块分解,将GMM中第
k
k
k个高斯分布的中心
μ
k
mu_k
μk和协方差
Σ
k
Sigma_k
Σk表示为
x
t
=
[
x
t
I
x
t
O
]
,
μ
k
=
[
μ
k
I
μ
k
O
]
,
Σ
k
=
[
Σ
k
I
Σ
k
I
O
Σ
k
O
I
Σ
k
O
]
boldsymbol{x}_{t}=left[begin{array}{c} boldsymbol{x}_{t}^{I} \ boldsymbol{x}_{t}^{O} end{array}right], quad boldsymbol{mu}_{k}=left[begin{array}{l} boldsymbol{mu}_{k}^{I} \ boldsymbol{mu}_{k}^{O} end{array}right], quad boldsymbol{Sigma}_{k}=left[begin{array}{cc} boldsymbol{Sigma}_{k}^{I} & boldsymbol{Sigma}_{k}^{I O} \ boldsymbol{Sigma}_{k}^{O I} & boldsymbol{Sigma}_{k}^{O} end{array}right]
xt=[xtIxtO],μk=[μkIμkO],Σk=[ΣkIΣkOIΣkIOΣkO]
我们首先考虑基于时间的轨迹的例子,使用
x
t
I
boldsymbol{x}_{t}^I
xtI的时间变量。在每个时间步长
t
t
t,
P
(
x
t
O
∣
x
t
I
)
P(boldsymbol{x}_t^O|boldsymbol{x}_t^I)
P(xtO∣xtI)可以计算为多元高斯条件分布
P
(
x
t
o
∣
x
t
I
)
=
∑
k
=
1
K
h
k
(
x
t
I
)
N
(
μ
^
k
o
(
x
t
I
)
,
Σ
^
k
o
)
,
mathcal{P}left(boldsymbol{x}_{t}^{o} mid boldsymbol{x}_{t}^{I}right)=sum_{k=1}^{K} h_{k}left(boldsymbol{x}_{t}^{I}right) mathcal{N}left(hat{boldsymbol{mu}}_{k}^{o}left(boldsymbol{x}_{t}^{I}right), hat{boldsymbol{Sigma}}_{k}^{o}right),
P(xto∣xtI)=k=1∑Khk(xtI)N(μ^ko(xtI),Σ^ko),
则高斯分布的参数更新为:
μ
^
k
o
(
x
t
I
)
=
μ
k
o
+
Σ
k
O
I
Σ
k
I
−
1
(
x
t
I
−
μ
k
I
)
Σ
^
k
o
=
Σ
k
O
−
Σ
k
O
I
Σ
k
I
−
1
Σ
k
I
O
and
h
k
(
x
t
I
)
=
π
k
N
(
x
t
I
∣
μ
k
I
,
Σ
k
I
)
∑
i
=
1
K
π
i
N
(
x
t
I
∣
μ
i
I
,
Σ
i
I
)
hat{boldsymbol{mu}}_{k}^{o}left(boldsymbol{x}_{t}^{I}right)=boldsymbol{mu}_{k}^{o}+boldsymbol{Sigma}_{k}^{O I} boldsymbol{Sigma}_{k}^{I-1}left(boldsymbol{x}_{t}^{I}-boldsymbol{mu}_{k}^{I}right) \ begin{aligned} hat{boldsymbol{Sigma}}_{k}^{o} &=boldsymbol{Sigma}_{k}^{O}-boldsymbol{Sigma}_{k}^{O I} boldsymbol{Sigma}_{k}^{I-1} boldsymbol{Sigma}_{k}^{I O} \ text { and } quad h_{k}left(boldsymbol{x}_{t}^{I}right) &=frac{pi_{k} mathcal{N}left(boldsymbol{x}_{t}^{I} mid boldsymbol{mu}_{k}^{I}, boldsymbol{Sigma}_{k}^{I}right)}{sum_{i=1}^{K} pi_{i} mathcal{N}left(boldsymbol{x}_{t}^{I} mid boldsymbol{mu}_{i}^{I}, boldsymbol{Sigma}_{i}^{I}right)} end{aligned}
μ^ko(xtI)=μko+ΣkOIΣkI−1(xtI−μkI)Σ^ko and hk(xtI)=ΣkO−ΣkOIΣkI−1ΣkIO=∑i=1KπiN(xtI∣μiI,ΣiI)πkN(xtI∣μkI,ΣkI)
其中
h
k
h_k
hk是EM算法估计的E步,求解隐变量
当需要单峰输出分布时,可以使用总均值和方差定律(见图,右)来用高斯分布来近似该分布
P
(
x
t
o
∣
x
t
I
)
=
N
(
x
t
o
∣
μ
^
O
(
x
t
I
)
,
Σ
^
o
(
x
t
I
)
)
μ
^
O
(
x
t
I
)
=
∑
k
=
1
K
h
k
(
x
t
I
)
μ
^
k
O
(
x
t
I
)
Σ
^
O
(
x
t
I
)
=
∑
k
=
1
K
h
k
(
x
t
I
)
(
Σ
^
k
o
+
μ
^
k
O
(
x
t
I
)
μ
^
k
O
(
x
t
I
)
⊤
)
−
μ
^
O
(
x
t
I
)
μ
^
O
(
x
t
I
)
⊤
begin{aligned} mathcal{P}left(boldsymbol{x}_{t}^{o} mid boldsymbol{x}_{t}^{I}right) &=mathcal{N}left(boldsymbol{x}_{t}^{o} mid hat{boldsymbol{mu}}^{O}left(boldsymbol{x}_{t}^{I}right), hat{boldsymbol{Sigma}}^{o}left(boldsymbol{x}_{t}^{I}right)right) \ hat{boldsymbol{mu}}^{O}left(boldsymbol{x}_{t}^{I}right) &=sum_{k=1}^{K} h_{k}left(boldsymbol{x}_{t}^{I}right) hat{boldsymbol{mu}}_{k}^{O}left(boldsymbol{x}_{t}^{I}right) \ hat{boldsymbol{Sigma}}^{O}left(boldsymbol{x}_{t}^{I}right) &=sum_{k=1}^{K} h_{k}left(boldsymbol{x}_{t}^{I}right)left(hat{boldsymbol{Sigma}}_{k}^{o}+hat{boldsymbol{mu}}_{k}^{O}left(boldsymbol{x}_{t}^{I}right) hat{boldsymbol{mu}}_{k}^{O}left(boldsymbol{x}_{t}^{I}right)^{top}right)-hat{boldsymbol{mu}}^{O}left(boldsymbol{x}_{t}^{I}right) hat{boldsymbol{mu}}^{O}left(boldsymbol{x}_{t}^{I}right)^{top} end{aligned}
P(xto∣xtI)μ^O(xtI)Σ^O(xtI)=N(xto∣μ^O(xtI),Σ^o(xtI))=k=1∑Khk(xtI)μ^kO(xtI)=k=1∑Khk(xtI)(Σ^ko+μ^kO(xtI)μ^kO(xtI)⊤)−μ^O(xtI)μ^O(xtI)⊤
高斯过程(Gaussian Process)指高斯分布与随机过程,是定义在连续域上的无限多个高斯随机变量组成的随机过程,即高斯过程是一个无限维的高斯分布
对于一个连续域
T
T
T(假设他是一个时间轴),如果我们在连续域上任选
n
n
n个时刻:
t
1
,
t
2
,
t
3
,
.
.
.
,
t
n
∈
T
t_1, t_2, t_3, ...,t_n in T
t1,t2,t3,...,tn∈T,使得获得的一个
n
n
n维向量
{
ξ
1
,
ξ
2
,
ξ
3
,
…
,
ξ
n
}
left{xi_{1}, xi_{2}, xi_{3}, ldots, xi_{n}right}
{ξ1,ξ2,ξ3,…,ξn}都满足其是一个
n
n
n维高斯分布,那么这个
{
ξ
t
}
{xi_t}
{ξt}就是一个高斯过程。
核函数以径向基函数为例,其中
s
s
s和
t
t
t表示任意两个时刻,核函数也称协方差函数。
k
(
s
,
t
)
=
σ
2
exp
(
−
∥
s
−
t
∥
2
2
l
2
)
k(s, t)=sigma^{2} exp left(-frac{|s-t|^{2}}{2 l^{2}}right)
k(s,t)=σ2exp(−2l2∥s−t∥2)
用 μ ( t ) mu(t) μ(t)和 k ( s , t ) k(s,t) k(s,t)来定义高斯过程,因为没有观测值,因此是一个先验,如果获取一组观测值后,如何修正高斯过程的均值函数与核函数,使之得到后验过程?
假设一个回归问题: x O = f ( x I ) + η boldsymbol{x}^O = f(boldsymbol{x}^I) +boldsymbol{eta} xO=f(xI)+η, f f f是未知函数, η eta η是高斯噪声,通过假设观测数据集作为输入-输出对 { x t I , x t O } t = 1 N left{boldsymbol{x}_{t}^{mathcal{I}}, boldsymbol{x}_{t}^{mathcal{O}}right}_{t=1}^{N} {xtI,xtO}t=1N,目的是评估函数 f f f的形式和相应的输出分布 x O boldsymbol{x}^O xO, 即 x O ∗ ∼ P ( x O ∣ x I ∗ ) boldsymbol{x}^{mathcal{O} *} sim mathcal{P}left(boldsymbol{x}^{mathcal{O}} mid boldsymbol{x}^{mathcal{I} *}right) xO∗∼P(xO∣xI∗)
协方差是高斯过程的核心,通过使用核函数
k
(
x
i
I
,
x
j
I
)
k(boldsymbol{x}_i^I , boldsymbol{x}_j^I)
k(xiI,xjI)定义,提供两个样本
x
i
I
boldsymbol{x}_i^I
xiI和
x
j
I
boldsymbol{x}_j^I
xjI之间的协方差元素。对于一组输入
x
I
=
{
X
1
I
,
X
2
I
,
…
,
X
N
I
}
boldsymbol{x}^I={X_1^I,X_2^I,…,X_N^I }
xI={X1I,X2I,…,XNI},协方差矩阵(也称为GM矩阵)被定义为:
K
(
x
I
,
x
I
)
=
[
k
(
x
1
I
,
x
1
I
)
k
(
x
1
I
,
x
2
I
)
⋯
k
(
x
1
I
,
x
N
I
)
k
(
x
2
I
,
x
1
I
)
k
(
x
2
I
,
x
2
I
)
⋯
k
(
x
2
I
,
x
N
I
)
⋮
⋮
⋱
⋮
k
(
x
N
I
,
x
1
I
)
k
(
x
N
I
,
x
2
I
)
⋯
k
(
x
N
I
,
x
N
I
)
]
boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right)=left[begin{array}{cccc} kleft(boldsymbol{x}_{1}^{mathcal{I}}, boldsymbol{x}_{1}^{mathcal{I}}right) & kleft(boldsymbol{x}_{1}^{mathcal{I}}, boldsymbol{x}_{2}^{mathcal{I}}right) & cdots & kleft(boldsymbol{x}_{1}^{mathcal{I}}, boldsymbol{x}_{N}^{mathcal{I}}right) \ kleft(boldsymbol{x}_{2}^{mathcal{I}}, boldsymbol{x}_{1}^{mathcal{I}}right) & kleft(boldsymbol{x}_{2}^{mathcal{I}}, boldsymbol{x}_{2}^{mathcal{I}}right) & cdots & kleft(boldsymbol{x}_{2}^{mathcal{I}}, boldsymbol{x}_{N}^{mathcal{I}}right) \ vdots & vdots & ddots & vdots \ kleft(boldsymbol{x}_{N}^{mathcal{I}}, boldsymbol{x}_{1}^{mathcal{I}}right) & kleft(boldsymbol{x}_{N}^{mathcal{I}}, boldsymbol{x}_{2}^{mathcal{I}}right) & cdots & kleft(boldsymbol{x}_{N}^{mathcal{I}}, boldsymbol{x}_{N}^{mathcal{I}}right) end{array}right]
K(xI,xI)=⎣⎢⎢⎢⎡k(x1I,x1I)k(x2I,x1I)⋮k(xNI,x1I)k(x1I,x2I)k(x2I,x2I)⋮k(xNI,x2I)⋯⋯⋱⋯k(x1I,xNI)k(x2I,xNI)⋮k(xNI,xNI)⎦⎥⎥⎥⎤
即混合高斯分布服从
x
O
∼
N
(
μ
(
x
I
)
,
K
(
x
I
,
x
I
)
)
boldsymbol{x}^O sim mathcal{N}left(boldsymbol{mu}left(boldsymbol{x}^{mathcal{I}}right), boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right)right)
xO∼N(μ(xI),K(xI,xI))
当存在与观测值相关的相关的噪声时,
I
I
I是单位矩阵,即噪声仅添加在对角线上
K
~
(
x
I
,
x
I
)
=
K
(
x
I
,
x
I
)
+
Θ
G
P
I
tilde{boldsymbol{K}}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right)=boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right)+Theta^{mathrm{GP}} boldsymbol{I}
K~(xI,xI)=K(xI,xI)+ΘGPI
对于回归问题,我们感兴趣的是给定输入数据
x
I
∗
boldsymbol{x}^{I*}
xI∗的后验分布
x
O
∗
boldsymbol{x}^{O*}
xO∗,那么输入输出对
{
x
I
,
x
O
}
{ boldsymbol{x}^I, boldsymbol{x}^O}
{xI,xO}增加输入新的输入
x
I
∗
boldsymbol{x}^{I*}
xI∗和输出
x
O
∗
boldsymbol{x}^{O*}
xO∗的联合分布为:
[
x
O
x
O
∗
]
∼
N
(
[
μ
(
x
I
)
μ
(
x
I
∗
)
]
,
[
K
(
x
I
,
x
I
)
K
(
x
I
,
x
I
∗
)
K
(
x
I
∗
,
x
I
)
K
(
x
I
∗
,
x
I
∗
)
]
)
left[begin{array}{c} boldsymbol{x}^{mathcal{O}} \ boldsymbol{x}^{mathcal{O} *} end{array}right] sim mathcal{N}left(left[begin{array}{c} boldsymbol{mu}left(boldsymbol{x}^{mathcal{I}}right) \ boldsymbol{mu}left(boldsymbol{x}^{mathcal{I} *}right) end{array}right],left[begin{array}{cc} boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right) & boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I} *}right) \ boldsymbol{K}left(boldsymbol{x}^{mathcal{I} *}, boldsymbol{x}^{mathcal{I}}right) & boldsymbol{K}left(boldsymbol{x}^{mathcal{I} *}, boldsymbol{x}^{mathcal{I} *}right) end{array}right]right)
[xOxO∗]∼N([μ(xI)μ(xI∗)],[K(xI,xI)K(xI∗,xI)K(xI,xI∗)K(xI∗,xI∗)])
利用条件高斯分布可以估计出输出
x
O
∗
boldsymbol{x}^{O*}
xO∗的后验分布:
x
O
∗
∣
x
O
∼
N
(
μ
∗
,
Σ
∗
)
boldsymbol{x}^{mathcal{O} *} mid boldsymbol{x}^{mathcal{O}} sim mathcal{N}left(boldsymbol{mu}^{*}, boldsymbol{Sigma}^{*}right)
xO∗∣xO∼N(μ∗,Σ∗)
其中均值与协方差:
μ
∗
=
μ
(
x
I
∗
)
+
K
(
x
I
∗
,
x
I
)
K
(
x
I
,
x
I
)
−
1
(
x
O
−
μ
(
x
I
)
)
Σ
∗
=
K
(
x
I
∗
,
x
I
∗
)
−
K
(
x
I
∗
,
x
I
)
K
(
x
I
,
x
I
)
−
1
K
(
x
I
,
x
I
∗
)
begin{aligned} boldsymbol{mu}^{*} &=boldsymbol{mu}left(boldsymbol{x}^{mathcal{I} *}right)+boldsymbol{K}left(boldsymbol{x}^{mathcal{I} *}, boldsymbol{x}^{mathcal{I}}right) boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right)^{-1}left(boldsymbol{x}^{mathcal{O}}-boldsymbol{mu}left(boldsymbol{x}^{mathcal{I}}right)right) \ boldsymbol{Sigma}^{*} &=boldsymbol{K}left(boldsymbol{x}^{mathcal{I} *}, boldsymbol{x}^{mathcal{I} *}right)-boldsymbol{K}left(boldsymbol{x}^{mathcal{I} *}, boldsymbol{x}^{mathcal{I}}right) boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I}}right)^{-1} boldsymbol{K}left(boldsymbol{x}^{mathcal{I}}, boldsymbol{x}^{mathcal{I} *}right) end{aligned}
μ∗Σ∗=μ(xI∗)+K(xI∗,xI)K(xI,xI)−1(xO−μ(xI))=K(xI∗,xI∗)−K(xI∗,xI)K(xI,xI)−1K(xI,xI∗)
也就是说,设置了高斯过程的先验参数,一旦拿到一些观测值,那么就可以对高斯过程的均值函数和核函数进行修正,得到一个修正后的后验高斯过程,而更新后验参数的信息就来自于观测值。
概率运动基元ProMP(probabilistic movement primitive)模型假设每一条演示的轨迹
m
∈
{
1
,
…
,
M
}
m in {1,…,M}
m∈{1,…,M} 可以用
K
K
K个归一化RBF的加权和来近似
ξ
m
=
Ψ
w
m
+
ϵ
,
ϵ
∼
N
(
0
,
λ
I
)
boldsymbol{xi}_{m}=boldsymbol{Psi} boldsymbol{w}_{m}+boldsymbol{epsilon}, quad boldsymbol{epsilon} sim mathcal{N}(0,lambda boldsymbol{I} )
ξm=Ψwm+ϵ,ϵ∼N(0,λI)
基函数的定义为
Ψ
=
[
I
ϕ
1
(
t
1
)
I
ϕ
2
(
t
1
)
⋯
I
ϕ
K
(
t
1
)
I
ϕ
1
(
t
2
)
I
ϕ
2
(
t
2
)
⋯
I
ϕ
K
(
t
2
)
⋮
⋮
⋱
⋮
I
ϕ
1
(
t
T
)
I
ϕ
2
(
t
T
)
⋯
I
ϕ
K
(
t
T
)
]
boldsymbol{Psi}=left[begin{array}{cccc} boldsymbol{I} phi_{1}left(t_{1}right) & boldsymbol{I} phi_{2}left(t_{1}right) & cdots & boldsymbol{I} phi_{K}left(t_{1}right) \ boldsymbol{I} phi_{1}left(t_{2}right) & boldsymbol{I} phi_{2}left(t_{2}right) & cdots & boldsymbol{I} phi_{K}left(t_{2}right) \ vdots & vdots & ddots & vdots \ boldsymbol{I} phi_{1}left(t_{T}right) & boldsymbol{I} phi_{2}left(t_{T}right) & cdots & boldsymbol{I} phi_{K}left(t_{T}right) end{array}right]
Ψ=⎣⎢⎢⎢⎡Iϕ1(t1)Iϕ1(t2)⋮Iϕ1(tT)Iϕ2(t1)Iϕ2(t2)⋮Iϕ2(tT)⋯⋯⋱⋯IϕK(t1)IϕK(t2)⋮IϕK(tT)⎦⎥⎥⎥⎤
其中
Ψ
∈
R
D
T
×
D
K
boldsymbol{Psi} in mathbb{R}^{DT times DK}
Ψ∈RDT×DK,
I
∈
R
D
I in mathbb{R}^{D}
I∈RD,根据最小二乘法,求解最小标准差,向量
w
m
∈
R
D
K
boldsymbol{w}_m in mathbb{R}^{DK}
wm∈RDK可以被估计为
w
m
=
(
Ψ
⊤
Ψ
)
−
1
Ψ
⊤
ξ
m
boldsymbol{w}_{m}=left(boldsymbol{Psi}^{top} boldsymbol{Psi}right)^{-1} boldsymbol{Psi}^{top} boldsymbol{xi}_{m}
wm=(Ψ⊤Ψ)−1Ψ⊤ξm
假设
{
w
m
}
m
=
1
M
left{boldsymbol{w}_{m}right}_{m=1}^{M}
{wm}m=1M服从高斯分布
N
(
μ
w
,
Σ
w
)
mathcal{N}(boldsymbol{mu}^{boldsymbol{w}} ,boldsymbol{Sigma}^{boldsymbol{w}})
N(μw,Σw),则轨迹分布表示为
P
(
ξ
)
=
∫
P
(
ξ
∣
w
)
P
(
w
)
d
w
mathcal{P}(boldsymbol{xi})=int mathcal{P}(boldsymbol{xi} mid boldsymbol{w}) mathcal{P}(boldsymbol{w}) d boldsymbol{w}
P(ξ)=∫P(ξ∣w)P(w)dw
积分去掉权重系数
w
boldsymbol{w}
w,从而得到轨迹的高斯分布
ξ
∼
N
(
Ψ
μ
w
,
Ψ
Σ
w
Ψ
⊤
+
λ
I
)
boldsymbol{xi} sim mathcal{N}left(boldsymbol{Psi} boldsymbol{mu}^{boldsymbol{w}}, boldsymbol{Psi} boldsymbol{Sigma}^{w} boldsymbol{Psi}^{top}+lambda boldsymbol{I}right)
ξ∼N(Ψμw,ΨΣwΨ⊤+λI)
ProMP 参数为 θ = { λ , μ k I , Σ k I , μ w , Σ w } theta = {lambda, mu_k^I , Sigma_k^I , boldsymbol{mu}^{boldsymbol{w}}, boldsymbol{Sigma}^{boldsymbol{w}}} θ={λ,μkI,ΣkI,μw,Σw},估计DK维的高斯分布,提供运动的紧凑表示,分离时间分量 Ψ Psi Ψ和空间分量 N ( μ w , Σ w ) mathcal{N}(boldsymbol{mu}^{boldsymbol{w}} ,boldsymbol{Sigma}^{boldsymbol{w}}) N(μw,Σw)。与DMP类似,ProMP可以与GMM/GMR结合,作为联合分布问题自动估计基函数的参数和泛化,而不是人工指定它们。



