EM算法
高斯混合模型
随机变量 X 满足如下概率分布:
P
(
X
;
θ
)
=
∑
j
=
1
k
α
j
φ
(
X
;
θ
j
)
P(X ; \theta)=\sum_{j=1}^{k} \alpha_{j} \varphi\left(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
)
\varphi\left(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} P\left(X=x_{i}, Z=z_{j} ; \theta\right) \\ &=\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} P\left(X=x_{i}, Z=z_{j} ; \theta\right) \\ &=\sum_{i=1}^{m} \log \sum_{j=1}^{n} Q\left(Z=z_{j} ; \theta_{z}\right) \frac{P\left(X=x_{i}, Z=z_{j} ; \theta\right)}{Q\left(Z=z_{j} ; \theta_{z}\right)} \\ & \geq \sum_{i=1}^{m} \sum_{j=1}^{n} Q\left(Z=z_{j} ; \theta_{z}\right) \log \frac{P\left(X=x_{i}, Z=z_{j} ; \theta\right)}{Q\left(Z=z_{j} ; \theta_{z}\right)} \\ &=\sum_{X} \sum_{Z} Q\left(Z ; \theta_{z}\right) \log \frac{P(X, Z ; \theta)}{Q\left(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;θ)
E 步
高斯混合模型产生了 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) &=P\left(Z=z_{j} \mid X=x_{i} ; \theta\right) \\ &=\frac{P\left(Z=z_{j}, X=x_{i} ; \theta\right)}{P\left(X=x_{i} ; \theta\right)} \\ &=\frac{P\left(Z=z_{j}, X=x_{i} ; \theta\right)}{\sum_{r=1}^{k} P\left(Z=z_{r}, X=x_{i} ; \theta\right)} \\ &=\frac{\alpha_{j} \varphi\left(X=x_{i} ; \theta_{j}\right)}{\sum_{r=1}^{k} \alpha_{r} \varphi\left(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步
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} Q\left(Z ; \theta_{z}\right) \log \frac{P(X, Z ; \theta)}{Q\left(Z ; \theta_{z}\right)} \\ &=\sum_{i=1}^{m} \sum_{j=1}^{k} Q_{i}\left(Z=z_{j} ; \theta\right) \log \frac{P\left(X=x_{i}, Z=z_{j} ; \theta\right)}{Q_{i}\left(Z=z_{j} ; \theta\right)} \\ &=\sum_{i=1}^{m} \sum_{j=1}^{k} Q_{i}\left(Z=z_{j}\right) \log \frac{P\left(X=x_{i} ; \mu, \Sigma\right) P\left(Z=z_{j} ; \lambda\right)}{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)
高斯过程回归 GPR
用 μ ( 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} k\left(\boldsymbol{x}_{1}^{\mathcal{I}}, \boldsymbol{x}_{1}^{\mathcal{I}}\right) & k\left(\boldsymbol{x}_{1}^{\mathcal{I}}, \boldsymbol{x}_{2}^{\mathcal{I}}\right) & \cdots & k\left(\boldsymbol{x}_{1}^{\mathcal{I}}, \boldsymbol{x}_{N}^{\mathcal{I}}\right) \\ k\left(\boldsymbol{x}_{2}^{\mathcal{I}}, \boldsymbol{x}_{1}^{\mathcal{I}}\right) & k\left(\boldsymbol{x}_{2}^{\mathcal{I}}, \boldsymbol{x}_{2}^{\mathcal{I}}\right) & \cdots & k\left(\boldsymbol{x}_{2}^{\mathcal{I}}, \boldsymbol{x}_{N}^{\mathcal{I}}\right) \\ \vdots & \vdots & \ddots & \vdots \\ k\left(\boldsymbol{x}_{N}^{\mathcal{I}}, \boldsymbol{x}_{1}^{\mathcal{I}}\right) & k\left(\boldsymbol{x}_{N}^{\mathcal{I}}, \boldsymbol{x}_{2}^{\mathcal{I}}\right) & \cdots & k\left(\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结合,作为联合分布问题自动估计基函数的参数和泛化,而不是人工指定它们。