赞
踩
利用概率混合模型的方法,表征机器人运动轨迹。
写一下自己对高斯混合模型GMM的理解,如何采用GMR 进行数据回归
一维高斯分布:
f
(
x
)
=
1
2
π
⋅
δ
⋅
e
−
(
x
−
μ
)
2
2
δ
2
f(x)=\frac{1}{\sqrt{2\pi} \cdot \delta}\cdot e^{-\frac{(x-\mu)^2}{2 \delta^2}}
f(x)=2π
⋅δ1⋅e−2δ2(x−μ)2
二维高斯分布:
假设两变量
x
1
,
x
2
x_1,x_2
x1,x2相对独立,且都服从高斯分布,存在以下等式:
f
(
x
1
,
x
2
)
=
f
(
x
1
)
⋅
f
(
x
2
)
f(x_1,x_2)=f(x_1)\cdot f(x_2)
f(x1,x2)=f(x1)⋅f(x2)
式中
f
(
x
1
)
f(x_1)
f(x1):
f
(
x
1
)
=
1
2
π
⋅
δ
1
⋅
e
−
(
x
1
−
μ
1
)
2
2
δ
1
2
f(x_1)=\frac{1}{\sqrt{2\pi} \cdot \delta_1}\cdot e^{-\frac{(x_1-\mu_1)^2}{2 \delta_1^2}}
f(x1)=2π
⋅δ11⋅e−2δ12(x1−μ1)2
其中
δ
1
\delta_1
δ1和
μ
1
\mu_1
μ1是变量
x
1
x_1
x1的标准差和均值,二维的高斯分布函数可以表示为:
f
(
x
1
,
x
2
)
=
f
(
x
1
)
⋅
f
(
x
2
)
f(x_1,x_2)=f(x_1)\cdot f(x_2)
f(x1,x2)=f(x1)⋅f(x2)
=
1
2
π
⋅
δ
1
δ
2
⋅
e
−
δ
2
2
(
x
1
−
μ
1
)
2
+
δ
1
2
(
x
2
−
μ
2
)
2
2
δ
1
2
δ
2
2
=\frac{1}{{2\pi} \cdot \delta_1\delta_2}\cdot e^{-\frac{\delta_2^2(x_1-\mu_1)^2+\delta_1^2(x_2-\mu_2)^2}{2 \delta_1^2\delta_2^2}}
=2π⋅δ1δ21⋅e−2δ12δ22δ22(x1−μ1)2+δ12(x2−μ2)2
扩展多维高斯分布:
N ( X → ∣ μ → , Σ ) = 1 ( 2 π ) D 2 ⋅ ∣ Σ ∣ 1 2 ⋅ e − ( X → − μ → ) T ⋅ Σ − 1 ⋅ ( X → − μ → ) 2 N(\overrightarrow{X} | \overrightarrow{\mu},\Sigma)=\frac{1}{(2\pi)^{ \frac{D}{2} } \cdot |\Sigma|^{\frac{1}{2}} } \cdot e ^{-\frac{(\overrightarrow{X}-\overrightarrow{\mu})^{T}\cdot \Sigma^{-1}\cdot(\overrightarrow{X}-\overrightarrow{\mu})}{2}} N(X ∣μ ,Σ)=(2π)2D⋅∣Σ∣211⋅e−2(X −μ )T⋅Σ−1⋅(X −μ )
如果是二维高斯分布
X
→
=
[
x
1
,
x
2
]
\overrightarrow{X}=[x_1,x_2]
X
=[x1,x2]
μ → = [ μ 1 , μ 2 ] \overrightarrow{\mu}=[\mu_1,\mu_2] μ =[μ1,μ2]
Σ
−
1
=
\Sigma^{-1}=
Σ−1=
[
1
δ
1
2
0
0
1
δ
2
2
]
式中:
X
→
\overrightarrow{X}
X
表示维度为D的向量
μ
→
\overrightarrow{\mu}
μ
表示
X
→
\overrightarrow{X}
X
各维度的均值组成的向量
Σ
\Sigma
Σ代表所有向量的协方差矩阵,是一D×D维的矩阵
补充一下协方差的定义,帮助理解:如何理解协方差矩阵(散布矩阵)
以上都是单高斯模型 ,高斯混合模型(GMM)可以看作是由 E 个单高斯模型组合而成的模型,每个单高斯模型称为一个“Component”,这些 Component 线性加成在一起就组成了 GMM 的概率密度函数
p
(
x
)
p(x)
p(x),参见(高斯混合模型的一个例子)以及很好的讲解漫谈 Clustering (3): Gaussian Mixture Model,高斯混合模型能够平滑地近似任意形状的密度分布,公式为:
p
(
x
)
=
∑
e
=
1
E
π
e
N
(
μ
e
,
Σ
e
)
p(x)=\sum_{e=1}^E \pi_e N(\mu_e,\Sigma_e)
p(x)=e=1∑EπeN(μe,Σe)
终极目的:找出x→y的映射;
高斯混合回归(GMR)的基本假设是,联合输入(x)×输出(y)空间中的数据可以用一组高斯分布很好地表示,这被称为高斯混合模型(GMM)。输入可以是时间位置或者其他外部状态,输出是机器人的轨迹变量,如末端位置、速度、加速度。两种典型的轨迹是:
1)x表示时间,y为机器人末端位置、关节位置或力等,则示教轨迹表示时间驱动(Time-driven) 的技能
2)如果x表示位置,y为速度, 则示教轨迹对应自治的 (Autonomous) 动态系统
左图:在20个示例数据点上具有3个高斯的高斯混合模型(gmm)。该模型是在联合输入×输出空间上通过无监督学习(EM)获得的。右图:高斯混合回归,调节输入空间X,获得输出空间Y的均值和方差
通过EM方法训练,得到高斯混合模型 p(x,y):
p
(
x
,
y
)
=
∑
e
=
1
E
π
e
N
(
μ
e
,
Σ
e
)
p(x,y)=\sum_{e=1}^E \pi_e N(\mu_e,\Sigma_e)
p(x,y)=e=1∑EπeN(μe,Σe)
对于高斯混合回归,我们的目的在于预测: y ‾ = E ( y ∣ x ) \overline{y}=E(y|x) y=E(y∣x)(x→y的映射了),给定x时y的期望。为此,可以按如下方式分解 µ e µ_e µe和 ∑ e ∑_e ∑e
µ
e
=
[
µ
e
,
X
T
,
µ
e
,
Y
T
]
T
µ_e=[µ_{e,X}^T,µ_{e,Y}^T]^T
µe=[µe,XT,µe,YT]T
Σ
e
=
[
Σ
e
,
X
Σ
e
,
X
Y
Σ
e
,
Y
X
Σ
e
,
Y
]
\Sigma_e=
给定输入x的情况下,y的输出可以用条件概率分布来描述(GMR回归是怎么回归的我也不知道,这是结果)
p
(
y
∣
x
)
=
∑
e
=
1
E
h
e
(
x
)
N
(
µ
e
,
Y
+
Σ
e
,
Y
X
Σ
e
,
X
−
1
(
x
−
µ
e
,
X
)
,
Σ
e
,
Y
X
Σ
e
,
X
−
1
Σ
e
,
X
Y
)
p(y|x)=\sum_{e=1}^Eh_e(x)N(µ_{e,Y}+ \Sigma_{e,YX}\Sigma^{-1}_{e,X}(x-µ_{e,X}),\Sigma_{e,YX}\Sigma^{-1}_{e,X}\Sigma_{e,XY})
p(y∣x)=e=1∑Ehe(x)N(µe,Y+Σe,YXΣe,X−1(x−µe,X),Σe,YXΣe,X−1Σe,XY)
得到分布后,可得给定输入x,y的期望为:
y
‾
=
∑
e
=
1
E
h
e
(
x
)
(
µ
e
,
Y
+
Σ
e
,
Y
X
Σ
e
,
X
−
1
(
x
−
µ
e
,
X
)
)
\overline{y}=\sum_{e=1}^Eh_e(x)(µ_{e,Y}+ \Sigma_{e,YX}\Sigma^{-1}_{e,X}(x-µ_{e,X}))
y=e=1∑Ehe(x)(µe,Y+Σe,YXΣe,X−1(x−µe,X))
其中
h
e
(
x
)
h_e(x)
he(x)为
h
e
(
x
)
=
π
e
N
(
x
;
µ
e
,
X
,
Σ
e
,
X
)
∑
l
=
1
E
π
l
N
(
x
;
µ
l
,
X
,
Σ
l
,
X
)
h_e(x)=\frac{\pi_e N(x;µ_{e,X},\Sigma_{e,X})}{\sum_{l=1}^E\pi_l N(x;µ_{l,X},\Sigma_{l,X})}
he(x)=∑l=1EπlN(x;µl,X,Σl,X)πeN(x;µe,X,Σe,X)
参考
[1] 基于模仿学习的机械臂运动规划与柔顺控制研究
[2] 漫谈 Clustering (3): Gaussian Mixture Model
[3] 高斯混合模型GMM
[4] Many Regression Algorithms, One Unified Model – A Review
[5] 基于增量高斯混合回归的自适应软测量方法_李德阳
[6] A tutorial on task-parameterized movement learning and retrieval
[7] Reinforcement Learning for Imitating Constrained Reaching Movements
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。