流形学习中使用到的一些概念
流形学习 假设所处理的数据点分布在嵌入于外维欧式空间的一个潜在的流形体上,或者说这些数据点可以构成这样一个潜在的流形体。
- Manifold - Many+Fold,许多曲面片的叠加。
- 欧几里得性质 - 是局部具有欧几里得空间性质的空间,是欧几里得空间中的曲线、曲面等概念的推广。具体内容可以参考维基百科的讲解。
文章目录
介绍流形
流形学习 认为我们所能观察到的数据实际上是由一个低维流形映射到高维空间上的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上只需要比较低的维度就能唯一地表示。
流形学习方法是模式识别中的基本方法,分为线性流形学习算法和非线性流形学习算法,线性方法就是传统的方法如主成分分析(PCA)和线性判别分析(LDA)。非线行流形学习算法包括等距映射(Isomap),局部线性嵌入(LLE)、拉普拉斯特征映射(LE)等。
降维
对于拥有很多特征的数据而言,它所在空间的维度可能很高,但是特征之间并不是完全独立的,它们之间会有一些关联性,比如描述房屋的特征中的面积和卧室的数量往往是有着紧密的联系的,那么在在具体的描述房屋时,我们就可以选择丢弃其中一个,但基本上不影响表达的准确性。因此,我们认为数据在高维空间中是有冗余的,而在低维空间是没有冗余的,通过流行学习我们就可以找到数据在低维空间中的关键特征,这样就减小了处理的难度,又保留了数据的大部分重要的信息,原理可以类比PCA。
因为流形是在局部与欧式空间同胚的空间,即它在局部具有欧式空间的性质,能用欧式距离进行距离的计算。例如我们的地球就是一个二维的流形,但是在局部可以认为是欧式空间。
主成分分析(Principal Component Analysis,PCA)
PCA属于投影的一种,那么什么是投影?在很多问题中,我们得到的训练数据往往是高维数据集,同时数据不是在每一个维度均匀分布的,很多的特征之间有着一定的关联。因此可以说高维的数据空间近似于受一个低得多的低维子空间所影响,所以我们可以将高维的数据投影到一个和它相关联的低维的子空间中,尽可能的保留数据之间的信息,又方便我们使用。
在PCA中我们寻找类似于SVM中分类的那个最优的超平面,但要使得数据点距离超平面足够的近,满足最近重构性,;又要使得在超平面上的投影尽可能分开,满足最大可分性。根据在SVM中的思想,我们需要找到一个标准来衡量我们超平面的选择,根据PCA对超平面的要求,我们可以从两个角度思考这个问题
- 最近重构性
在线性回归中我们希望在二维平面的数据集中,找到一条直线可以很好的拟合数据,同时又要防止过拟合。那里通常使用的衡量标准是均方误差,可以使用最小二乘法求得闭式解,也可以通过梯度下降法求得结果。它衡量是预测值和真实值之间的差距,在PCA中没有这个需求,但同样可以借鉴这种思想,我们可以使用点到直线的距离来判断是否满足最近重构性。 - 最大可分性
要使投影后的图满足最大可分性,即使得投影到直线上的点距离就要尽量的远,也可以说数据在某一个轴上的投影方差最大。
PCA求解
-
使用特征向量的协方差求解
假设 X X X是 m ∗ n m\ast n m∗n的矩阵, m m m表示测量类型数, n n n表示样本数,我们的目标就是找到最优的 P P P,使得 Y = P X Y= PX Y=PX,得到它的协方差矩阵
C Y = 1 n − 1 Y Y T C_{Y}=\frac {1}{n-1}YY^T CY=n−11YYT
则 P P P的行就是 X X X的主成分。 -
使用SVD求解PCA
关于SVD可见奇异值分解,根据公式求解即可。
步骤如下:
- 将数据集整理成一个 m ∗ n m*n m∗n的矩阵,其中 m m m是测量的类型数, n n n是样本的数量;
- 将每一种类型的 X i X_i Xi减去它们的均值,进行规范化;
- 计算SVD,得到主成分。
等度量映射(Isometric Mapping,Isomp)
根据前面的叙述前面我们知道,直接在高维的空间中计算直线距离有时是不可行的,因为两点之间距离最短的路径在低维空间中有时是不可达的。在低维流形中计算的是代表两点之间本真距离的“测地线距离”,那么如何在高维空间中正确的计算两点之间的最短距离呢?
借助高维流形的局部和欧式空间同胚的性质,我们可以将整体细分为很多的局部,在局部寻找每一个点基于欧式距离的近邻点,那么就可以建立一个高维流形的近邻连接图。这样两点之间最短距离的计算就转换成了近邻连接图中两点之间的最短路径,而图的最短路径的求解,我们可以直接使用Dijkstra算法或是Floyed算法。
Isomap的算法流程
- 在输入空间 X X X一对数据点 i , j i,j i,j,根据距离 d x ( i , j ) d_x(i,j) dx(i,j)找到在高维流形 M M M的邻域上的近邻点,而近邻点的选择可以根据设定的计算距离的阈值 ϵ \epsilon ϵ或是近邻点的最大个数 K K K;
- 通过计算 G G G中 i i i和 j j j之间的最短路径 d G ( i , j ) d_G(i,j) dG(i,j)来计算高维流形 M M M上两个点之间的测地线距离 d M ( i , j ) d_M(i,j) dM(i,j);
- 将MDS应用到图距离矩阵 D G ( d g ( i , j ) ) D_{G}(d_{g}(i,j)) DG(dg(i,j))中,构造在 d d d维欧式空间 Y Y Y中的数据嵌入,通过最小化代价函数 E = ∥ τ ( D G ) − τ ( D Y ) ∥ L 2 E=\left\|\tau\left(D_{G}\right)-\tau\left(D_{Y}\right)\right\|_{L^{2}} E=∥τ(DG)−τ(DY)∥L2来选择 Y Y Y中点的坐标向量 y i y_{i} yi,使其能最好的保留高维流形固有的几何结构。
Isomap的特点
- 不同于PCA、MDS只能应用于线性降维,Isomap可以发现高维流形中复杂的非线性的低维嵌入空间
- Isomap算法是全局的,它要找到所有样本全局的最优解,当数据量很大时或者样本维度很高时,计算量非常大
- Isomap可以保证渐进的收敛到真实的结构,即使高维流形是很复杂的几何结构,Isomap依然可以保证产生全局最优的低维表示
- 当数据中含有噪声足够多时,Isomap会出现拓扑不稳定的现象,此时得到的低维嵌入空间并不能正确的反映高维流形的结构
- 缺点是当数据中的噪声较多时,高维流形的拓扑就会变得不稳定。
局部线性嵌入(Locally Linear Embedding,LLE)
LLE的基本思想是试图保持邻域内样本之间的线性关系,希望从高维空间映射到低维空间后,各邻域内的样本之间的线性关系不发生改变,从而希望可以从局部的线性结构恢复全局的非线性结构。
LLE首先假设数据在较小的局部是线性的,也就是说,某一个数据可以由它邻域中的几个样本来线性表示。比如我们有一个样本
x
1
x_1
x1,我们在它的原始高维邻域里用K-近邻思想找到和它最近的三个样本
x
2
,
x
3
,
x
4
x_2,x_3,x_4
x2,x3,x4。 然后我们假设
x
1
x_1
x1可以由
x
2
,
x
3
,
x
4
x_2,x_3,x_4
x2,x3,x4线性表示,即:
x
1
=
w
12
x
2
+
w
13
x
3
+
w
14
x
4
x_1=w_{12}x_2+w_{13}x_3+w_{14}x_4
x1=w12x2+w13x3+w14x4
其中
w
12
,
w
13
,
w
14
w_{12}, w_{13}, w_{14}
w12,w13,w14为权重系数。在我们通过LLE降维后,我们希望
x
1
x_1
x1在低维空间对应的投影
x
1
’
{x_1}^{’}
x1’和
x
2
,
x
3
,
x
4
x_2,x_3,x_4
x2,x3,x4对应的投影
x
2
’
,
x
3
’
,
x
4
’
x_2^{’},x_3^{’},x_4^{’}
x2’,x3’,x4’也尽量保持同样的线性关系,即
x
1
′
≈
w
12
x
2
′
+
w
13
x
3
′
+
w
14
x
4
′
x_1′≈w_{12}x_2′+w_{13}x_3′+w_{14}x_4′
x1′≈w12x2′+w13x3′+w14x4′
也就是说,投影前后线性关系的权重系数
w
12
,
w
13
,
w
14
w_{12}, w_{13}, w_{14}
w12,w13,w14是尽量不变或者最小改变的。
从上面可以看出,线性关系只在样本的附近起作用,离样本远的样本对局部的线性关系没有影响,因此降维的复杂度降低了很多。关于该算法的推导可参考链接。
LLE优缺点总结
- 主要优点
- 可以学习任意维的局部线性的低维流形。
- 算法归结为稀疏矩阵特征分解,计算复杂度相对较小,实现容易。
- 可以处理非线性的数据,能进行非线性降维。
- 主要缺点
- 算法所学习的流形只能是不闭合的,且样本集是稠密的。
- 算法对最近邻样本数的选择敏感,不同的最近邻数对最后的降维结果有很大影响。
矩阵流形
黎曼流形 是一种局部具有欧氏空间性质的特殊拓扑空间,是欧氏空间中的曲线、曲面等概念的推广。可以说:在 N N N维的流形 M M M中,其中的每一个点 p p p的邻域是同胚的。
常见黎曼流形有球体(Sphere)、正交群(Orthogonal group)、施蒂费尔流形( Stiefel manifold)、格拉斯曼流形(Grassmann manifold)以及对称正定矩阵流形(Symmetric Positive Definite, SPD manifold)。
施蒂费尔流形
施蒂费尔流形 由所有
d
×
p
(
0
<
p
<
d
)
d \times p (0<p< d)
d×p(0<p<d)的半正交矩阵张成的黎曼流形称为施蒂费尔流形
S
(
p
,
d
)
S(p,d)
S(p,d),即
S
(
p
,
d
)
≜
{
X
∈
R
d
×
p
:
X
T
X
=
I
p
}
S(p, d) \triangleq\left\{\boldsymbol{X} \in \mathbb{R}^{d \times p}: {X}^{T} {X}=\boldsymbol{I}_{p}\right\}
S(p,d)≜{X∈Rd×p:XTX=Ip},其中Ip表示大小为
d
×
p
d \times p
d×p的单位矩阵。.
格拉斯曼流形可以定义为施蒂费尔流形的带有等价类操作的商流形(Quotient Manifold)。这一等价类操作是
X
1
∼
X
2
X_1 \sim X_2
X1∼X2当且仅当
S
p
a
n
(
X
1
)
=
S
p
a
n
(
X
2
)
Span(X_1) = Span(X_2)
Span(X1)=Span(X2),其中
S
p
a
n
(
X
)
Span(X)
Span(X)表示由
X
∈
S
(
p
,
d
)
X∈S(p, d)
X∈S(p,d)张成的线性子空间。
格拉斯曼流形
格拉斯曼流形 由所有在
R
d
\mathbb{R}^d
Rd上的
p
p
p维线性子空间张成的黎曼流形称为格拉斯曼流形
G
(
p
,
d
)
G(p, d)
G(p,d)。
在格拉斯曼流形
G
(
p
,
d
)
G(p, d)
G(p,d)上,两个切向量
Δ
1
,
Δ
2
\Delta_1, \Delta_2
Δ1,Δ2在点
S
p
a
n
(
X
)
∈
G
(
p
,
d
)
Span(X)∈G(p, d)
Span(X)∈G(p,d)上的切空间的内积可以表示为
(
Δ
1
,
Δ
2
)
(\Delta_1, \Delta_2)
(Δ1,Δ2)。这-黎曼结构导出了在格拉斯曼流形的测地距离(也就是流形上两点之间的最短曲线的长度,表示为
δ
g
(
X
1
,
X
2
)
=
tr
(
Δ
1
T
(
I
d
−
1
2
X
X
T
)
Δ
2
)
=
t
r
(
Δ
1
T
Δ
2
)
\delta_{g}\left(\boldsymbol{X}_{1}, \boldsymbol{X}_{2}\right)=\operatorname{tr}\left(\Delta_{1}^{T}\left(\boldsymbol{I}_{d}-\frac{1}{2} \boldsymbol{X} \boldsymbol{X}^{T}\right) \Delta_{2}\right)=tr(\Delta_{1}^{T}\Delta_{2})
δg(X1,X2)=tr(Δ1T(Id−21XXT)Δ2)=tr(Δ1TΔ2)
这一测地距离可以看作是一个线性子空间旋转到另一个线性子空间的最小旋转幅度。令
Θ
=
[
θ
1
,
θ
2
,
…
,
θ
p
]
\Theta=\left[\theta_{1}, \theta_{2}, \ldots, \theta_{p}\right]
Θ=[θ1,θ2,…,θp]为两个线性子空间
S
p
a
n
(
X
1
)
,
S
p
a
n
(
X
2
)
Span(X_1), Span(X_2)
Span(X1),Span(X2)之间的主夹角序列(详见以下主夹角定义),那么它们之间的测地距离为:
δ
g
(
X
1
,
X
2
)
=
∥
Θ
∥
2
\delta_{g}\left(\boldsymbol{X}_{1}, \boldsymbol{X}_{2}\right)=\|\Theta\|_{2}
δg(X1,X2)=∥Θ∥2
主夹角 假定
X
1
X_1
X1和
X
2
X_2
X2为两个大小为
d
×
p
d \times p
d×p的正交基矩阵,那么两个线性子空间
S
p
a
n
(
X
1
)
,
S
p
a
n
(
X
2
)
Span(X_1), Span(X_2)
Span(X1),Span(X2)之间的主夹角
0
≤
θ
1
≤
.
.
.
≤
θ
,
≤
π
/
2
0≤θ1≤...≤θ,≤π/2
0≤θ1≤...≤θ,≤π/2可以递归地定义成:
cos
(
θ
i
)
=
max
u
i
∈
span
(
X
1
)
max
v
i
∈
span
(
X
2
)
u
i
T
v
i
s.t.
u
i
T
u
i
=
1
,
v
i
T
v
i
=
1
u
i
T
u
j
=
0
,
v
i
T
v
j
=
0
,
(
j
=
1
,
…
,
i
−
1
)
\begin{aligned} \cos \left(\theta_{i}\right) &=\max _{u_{i} \in \operatorname{span}\left(\boldsymbol{X}_{1}\right)} \max _{\boldsymbol{v}_{i} \in \operatorname{span}\left(\boldsymbol{X}_{2}\right)} \boldsymbol{u}_{i}^{T} \boldsymbol{v}_{i} \\ \text {s.t.} \quad \boldsymbol{u}_{i}^{T} \boldsymbol{u}_{i} &=1, \boldsymbol{v}_{i}^{T} \boldsymbol{v}_{i}=1 \\ \boldsymbol{u}_{i}^{T} \boldsymbol{u}_{j} &=0, \boldsymbol{v}_{i}^{T} \boldsymbol{v}_{j}=0,(j=1, \ldots, i-1) \end{aligned}
cos(θi)s.t.uiTuiuiTuj=ui∈span(X1)maxvi∈span(X2)maxuiTvi=1,viTvi=1=0,viTvj=0,(j=1,…,i−1)
其中,
c
o
s
(
θ
)
,
0
≤
i
<
p
cos(\theta) ,0≤i < p
cos(θ),0≤i<p被称为典型相关系数。
基于线性子空间的主夹角,在投影映射
(
X
)
=
X
X
T
(X) = XX^T
(X)=XXT的框架下提出了另一种表示格拉斯曼流形的基本元素的策略,也就是用投影矩阵
X
X
T
XX^T
XXT来表示格拉斯曼流形元素,即线性子空间
S
p
a
n
(
X
)
Span(X)
Span(X)。这一投影嵌入是一个从格拉斯曼流形到秩为
q
q
q 的幂等对称矩阵空间的微分同胚映射。也就是说,它是一个一对一、连续、可微的映射,并且它的逆映射也是个连续、可微的。因此,在格拉斯曼流形上的每个元素只对应唯一的一个投影矩阵。
对称正定矩阵流形(SPD)
对称正定矩阵流形 当
d
×
d
d \times d
d×d的对称正定矩阵矩阵(SPD) 张成的空间被赋予一个合适的黎曼度量时,这一空间就可以构成一个特定类型的黎曼流形,也就是所谓的对称正定矩阵(SPD) 流形
S
+
d
\mathbb{S}_+^d
S+d。
通过采用对数映射,在SPD流形上的点X上的切线都位于对应的切空间上。这一切空间上定义了内积。在所有切空间上定义的内积族就是所谓的流形上的黎曼度量。如果对SPD流形配备黎曼度量,那么在流形上的两点
X
1
,
X
2
X_1, X_2
X1,X2之间的测地距离一般可计算为:
log
S
1
:
S
+
d
→
T
X
1
S
+
d
,
X
1
∈
S
+
d
\log _{S_{1}}: \mathbb{S}_{+}^{d} \rightarrow T_{X_{1}} \mathbb{S}_{+}^{d}, \quad \boldsymbol{X}_{1} \in \mathbb{S}_{+}^{d}
logS1:S+d→TX1S+d,X1∈S+d
δ
s
(
X
1
,
X
2
)
=
<
l
o
g
x
1
(
X
2
)
,
l
o
g
x
1
(
X
2
)
>
x
1
\delta_s(X_1, X_2)=<log_{x_1}(X_2),log_{x_1}(X_2)>_{x_1}
δs(X1,X2)=<logx1(X2),logx1(X2)>x1
目前,有两个最广为应用的黎曼度量是仿射不变度量(Affine-Invariant metric)和对数欧氏度量(Log-Euclidean metric)。 它们均设计了对称正定矩阵流形上两元素之间的测地距离的具体形式。
SPD矩阵形成黎曼流形,其中欧氏距离不再是合适的度量。以往对SPD流形的分析主要分为两类:局部逼近法和核方法,如图所示。局部近似法局部平坦流形,并通过切线空间的一个点逼近SPD矩阵。核心方法通过核函数将流形嵌入高维再生核Hilbert空间(RKHS)。在新的空间上,两种方法都将SPD矩阵转化为向量,并学习相应的判别表示。然而,局部逼近和核方法都面临两个问题。首先,SPD矩阵是高维的,这就带来了计算量大的问题。其次,SPD矩阵的矢量化操作可能导致流形几何结构的畸变。
为了克服上述两个问题,Zhen Dong等人重点学习将高维SPD矩阵投影到低维判别SPD流形的非线性映射,如图(b)所示。近年来,深神经网络表现出了很强的描述复杂非线性映射的能力,并成功地应用于图像分类、人脸识别等许多视觉任务,主张通过一个深度神经网络来建立非线性映射模型,从而降低高维SPD矩阵的维数。
李群流形
李群除了是光滑流形外还是一个群,且群的运算是光滑的,所以他对群的运算和对于其微分结构来说是可微的。
定义如下:设
G
G
G是一个非空集合,如果:
- G G G是一个群(群运算记为乘法);
- G G G是 r r r维光滑流形;
- 群运算是光滑的,即映射 ( g 1 , g 2 ) → g 1 g 2 − 1 (g_1,g_2) \to g_1g_2^{-1} (g1,g2)→g1g2−1是 G × G → G G \times G \to G G×G→G 的光滑映射,则称 G G G是一个 r r r维的李群。
李群中包含了一般线性群 ( G L ( n ) ) (GL(n)) (GL(n)),他还有很多子群:特殊线性群、正交群、特殊正交群、复特殊线性群、复正交群、酉群。
SO(3)
用来表示三维旋转的矩阵群,又叫特殊正交群,即由所有正交的三维矩阵构成,同时矩阵行列式的值为1。
SE(3)
用来表示三维变换(包括平移)的矩阵群。
SE(3)是
R
3
\mathbb{R}^3
R3中刚性变换组的描述,其成员是具有这种结构的
4
×
4
4×4
4×4矩阵的集合:
T
=
(
R
t
0
1
×
3
1
)
\mathbf{T}=\left(\begin{array}{c|c} {\mathbf{R}} & {\mathbf{t}} \\ \hline \mathbf{0 _ { 1 \times 3 }} & {1} \end{array}\right)
T=(R01×3t1)
其中
R
R
R 属于SO(3),
t
t
t 是三维坐标平移。这个群有如下一些性质:
- 是一个六维的流形(即有六个自由度),三个自由度和平移有关,三个自由度和旋转有关。
- 同构于 G L ( 4 , R ) GL(4,R) GL(4,R) 的子集。
- 被嵌入到一般的 G L ( 4 , R ) GL(4,R) GL(4,R)。
- 是SO(3)群和 R 3 \mathbb{R}^3 R3的半直积。