【自学笔记】流形学习
文章目录
- 流形学习 (Mainfold Learning)
- 流形学习解决的问题
- 1. 数据的低维表示
- 2. 数据结构的理解
- 3. 数据可视化
- 4. 改善机器学习模型的输入
- 流形理论
- 概念
- 惠特尼嵌入定理(Whitney Embedding Theorem)
- 主成分分析(PCA)
- 局部线性嵌入(LLE, Locally Linear Embedding)
- 等距映射(Isomap)
- t-分布邻域嵌入(t-SNE, t-distributed Stochastic Neighbor Embedding)
流形学习 (Mainfold Learning)
流形学习解决的问题
在实际应用中,数据往往以高维形式存在(如图像的像素矩阵、基因数据、文本向量等),但这些高维数据往往是高度冗余的,隐藏着潜在的低维结构。流形学习是一种工具,用来揭示这种低维结构。
流形学习的目标是找到一个从高维空间到低维空间的映射。
1. 数据的低维表示
流形学习假设,高维数据分布在一个嵌入的低维流形上。通过发现这种低维流形,可以:
(1)压缩数据,提高存储和计算效率。
(2)减少数据噪声,提升模型性能。
2. 数据结构的理解
高维数据常包含复杂的内在结构。流形学习帮助揭示:
(1)数据点之间的关系(如相似性)。
(2)数据分布的局部与全局模式。
3. 数据可视化
当数据维度过高时,无法通过人眼直观观察。流形学习通过降维使数据映射到二维或三维空间,便于:
(1)聚类分析
(2)分类任务的初步探索。
(3)数据分布模式的发现。
4. 改善机器学习模型的输入
降维后的数据更简单、更结构化,可以用作:
(1)特征工程的一部分,提高模型的训练速度和泛化性能。
(2)嵌入空间,用于检索、推荐系统或迁移学习。
流形理论
流形(Manifold)这个名字来源于数学中的流形理论,它描述了一类在局部上看起来像欧几里得空间的几何结构。流形是流形学习的理论基础,因此这个领域被称为“流形学习”。
在数学中,流形是一个可以在局部用低维欧几里得空间描述的几何对象,但在全局上可能有更复杂的结构。例如:
(1)一条曲线是一个一维流形(局部看是线段)。
(2)一个球面是一个二维流形(局部看是平面)。
流形学习的一个核心假设是:高维数据其实是分布在某个低维流形上的。流形学习试图找到这个低维展开的结构。
概念
一个拓扑空间
M
M
M被称为d维拓扑流形,如果它满足以下条件:
(1)
M
M
M 是一个
Hausdorff
\text{Hausdorff}
Hausdorff空间:
∀ p , q ∈ M , ∃ U , V ⊂ M \forall\ p, q \in M, \exist\ U, V \subset M ∀ p,q∈M,∃ U,V⊂M
s . t . U ∩ V = ϕ , p ∈ U , q ∈ V s.t.\ \ \ U\cap V=\phi, p \in U, q \in V s.t. U∩V=ϕ,p∈U,q∈V
(2) M M M是第二可数的:
M M M的拓扑有一个可数基(countable basis)
(3) M M M具有局部欧几里得性:
∀ p ∈ M , ∃ U ⊂ V p : = { p的邻域 } , φ : U → φ ( U ) ⊂ R d \forall\ p \in M, \exist\ U \subset \mathcal{V}_{p}:= \left \{\text{p的邻域} \right \}, \ \varphi:U \to \varphi(U) \subset \mathbb{R}^{d} ∀ p∈M,∃ U⊂Vp:={p的邻域}, φ:U→φ(U)⊂Rd
s . t . φ s.t. \ \ \varphi s.t. φ是一个连续同胚映射,被称为 M M M的坐标图(chart)
对于拓扑空间 X X X、 Y Y Y,称映射 f : X → Y f:X\to Y f:X→Y为连续同胚映射,满足:
1. f f f是连续的(continuous)。
2. f f f是双射(bijection)。
3. f − 1 : Y → X f^{-1}:Y\to X f−1:Y→X是连续的。
f f f也被称为嵌入
同胚映射描述了一种拓扑等价关系,即两个空间通过“连续变形”可以彼此转化,但不涉及撕裂、断裂或粘合的操作。
对于拓扑流形 M M M,我们定义过渡映射(Transition Maps):
如果两个坐标图 φ : U → R d \varphi:U\to \mathbb{R}^{d} φ:U→Rd和 ψ : V → R d \psi :V\to \mathbb{R}^{d} ψ:V→Rd满足 U ∩ V ≠ ϕ U\cap V\ne \phi U∩V=ϕ,过渡映射即在 U ∩ V U\cap V U∩V中从一个坐标系转换到另一个坐标系的映射
ψ ∘ φ − 1 : φ ( U ∩ V ) → ψ ( U ∩ V ) \psi \circ \varphi^{-1}:\varphi(U\cap V)\to \psi(U\cap V) ψ∘φ−1:φ(U∩V)→ψ(U∩V)
对于拓扑流形,过渡映射是连续的。
在拓扑流形的基础上,称 M M M为光滑流形,满足:
过渡映射 ψ ∘ φ − 1 : φ ( U ∩ V ) → ψ ( U ∩ V ) \psi \circ \varphi^{-1}:\varphi(U\cap V)\to \psi(U\cap V) ψ∘φ−1:φ(U∩V)→ψ(U∩V)是一个 C ∞ C^{\infty} C∞光滑映射,即具有无限阶连续导数的函数
再进一步,称 M M M为解析流形,满足:
对于 U U U中的每个点 p p p, φ \varphi φ在 p p p处是解析的,即可以展开为幂级数。
对于 U U U中的每个点 p p p, ψ ∘ φ − 1 \psi \circ \varphi^{-1} ψ∘φ−1也是解析的。
称 M M M为紧致流形,满足:
M M M是紧致的(compact),即 M M M的任意开覆盖都有有限子覆盖
如果 M M M不是紧致的,则称 M M M为无界流形。
惠特尼嵌入定理(Whitney Embedding Theorem)
对于任何光滑流形
M
M
M(包括无界流形),如果流形
M
M
M的维度
n
≤
2
d
n \le 2d
n≤2d,则存在一个光滑嵌入
f
:
M
→
R
d
f:M\to \mathbb{R}^{d}
f:M→Rd,使得流形
M
M
M可以嵌入到
R
d
\mathbb{R}^{d}
Rd中。
定理告诉我们,任何光滑流形都能在一个适当的维度下被嵌入到一个欧几里得空间中,并且保持其光滑结构。对于流形来说,“嵌入” 意味着流形的几何和拓扑结构不被改变。
定理中的维度条件
n
≤
2
d
n \le 2d
n≤2d指的是流形的维度
n
n
n必须小于等于目标空间
R
d
\mathbb{R}^{d}
Rd维度的两倍。这保证了流形能够在目标空间中被嵌入而不发生“折叠”或“交叉”。
主成分分析(PCA)
尽管PCA通常被视为线性降维方法,但它也可以看作流形学习的一个特例,尤其是在数据接近线性流形时。PCA通过寻找数据集的最大方差方向来进行降维。
处理类别数据、独热编码和降维(主成分分析)
局部线性嵌入(LLE, Locally Linear Embedding)
LLE是一种无监督学习算法,基于一个假设:数据存在于一个低维流形上,这个流形在局部区域是线性的。我们希望找出一个嵌入,能够保留这些局部线性关系。
局部线性嵌入LLE
等距映射(Isomap)
等距映射(Isomap,Isometric Mapping)是一种非线性降维算法,属于流形学习方法,用于在保留高维数据几何结构的前提下,将数据降到低维空间。Isomap 是对经典多维缩放(MDS,Multidimensional Scaling)的扩展,通过保留点对点之间的流形距离来实现降维。
等距映射
t-分布邻域嵌入(t-SNE, t-distributed Stochastic Neighbor Embedding)
t-分布邻域嵌入(t-SNE, t-Distributed Stochastic Neighbor Embedding)是一种常用于降维和可视化高维数据的非线性算法。它尤其擅长将高维数据映射到2D或3D空间,以便进行可视化,同时保持数据点之间的相对结构。
t-SNE 是一种基于概率的降维方法,它的目标是保持高维空间中相似数据点的相对距离关系,同时尽可能减少低维空间中相似点的距离差异。
t-分布邻域嵌入(t-SNE, t-distributed Stochastic Neighbor Embedding)