关于子空间流形的认识
一、基本概念回顾
1. 子空间(Subspace)
在线性代数中,子空间是向量空间的一个子集,满足:
- 包含零向量;
- 对加法和数乘封闭。
例如:ℝ³ 中过原点的平面或直线是它的线性子空间。
在拓扑学中,“子空间”指拓扑空间的一个子集赋予相对拓扑(子空间拓扑)。
2. 流形(Manifold)
流形是一个局部类似于欧几里得空间的拓扑空间。例如:
- 1维流形:曲线(如圆);
- 2维流形:曲面(如球面、环面);
- n维流形:局部同胚于 ℝⁿ 的空间。
流形不一定是线性的,可以是弯曲的、非线性的几何对象。
二、“子空间流形”可能的含义
由于这不是标准术语,其含义需根据上下文判断。以下是几种可能的解释:
1. 流形嵌入在某个空间中的子集,且本身是流形
→ 即“子流形”(submanifold)
这是最合理的解释。子流形是指嵌入在某个更大的流形(通常是欧几里得空间 ℝⁿ 或另一个流形)中的流形。
✅ 例如:
- 球面 S² 是 ℝ³ 的一个二维子流形;
- 圆 S¹ 是 ℝ² 的一个一维子流形。
在这种语境下,“子空间流形”可能是“子流形”的口语化或误称。
2. 线性子空间作为流形
→ 任何线性子空间(如 ℝⁿ 中的 k 维平面)本身也是一个流形(平坦的、线性的流形)。
✅ 例如:
- ℝ³ 中过原点的二维平面既是线性子空间,也是光滑流形(同胚于 ℝ²)。
所以有时人们会说“子空间是流形的一种特例”。
3. 在机器学习/数据科学中的用法(非严格数学)
在机器学习、降维、流形学习等领域(如 Isomap、LLE、t-SNE),人们常说“数据位于一个低维流形上”,有时称这个流形是“嵌入在高维空间中的子空间流形”。
⚠️ 注意:这里的“子空间”常被误用 —— 实际上指的是非线性子流形,而不是线性子空间。
✅ 例如:
“人脸图像位于一个低维子空间流形中” —— 实际意思是“位于一个非线性流形上,该流形嵌入在高维像素空间中”。
这种用法虽不严谨,但在工程领域常见。
三、总结
术语 | 含义 | 是否标准术语 |
---|---|---|
子空间 | 线性代数中的向量子空间,或拓扑中的子空间拓扑 | ✅ 是 |
流形 | 局部欧几里得的拓扑空间 | ✅ 是 |
子流形 | 嵌入在更大流形中的流形 | ✅ 是 |
子空间流形 | 非标准术语,可能是“子流形”的误称,或指“线性子空间作为流形”,或工程用语 | ❌ 非标准 |
✅ 建议
如果你在论文或书籍中看到“子空间流形”,请结合上下文判断:
- 如果讨论的是嵌入、微分几何 → 很可能指“子流形”;
- 如果讨论的是线性结构 → 可能指“作为流形的线性子空间”;
- 如果是机器学习 → 很可能指“低维嵌入流形”,尽管术语不严谨。
在正式写作中,建议使用标准术语如“子流形”(submanifold)以避免歧义。
Stiefel 流形(Stiefel Manifold) 是微分几何、代数拓扑、优化与机器学习中一个重要的数学对象,它描述的是“正交标架”的集合 —— 即一组正交向量构成的矩阵。
📘 Stiefel 流形(Stiefel Manifold)
🧭 一、定义
Stiefel 流形 Vk(Rn)V_k(\mathbb{R}^n)Vk(Rn) 定义为:
所有满足 X⊤X=IkX^\top X = I_kX⊤X=Ik 的 n×kn \times kn×k 实矩阵 $ X $ 的集合。
即:
Vk(Rn)={X∈Rn×k|X⊤X=Ik}V_k(\mathbb{R}^n) = \left\{ X \in \mathbb{R}^{n \times k} \,\middle|\, X^\top X = I_k \right\} Vk(Rn)={X∈Rn×kX⊤X=Ik}
其中:
- nnn:环境空间维度;
- kkk:正交向量个数,且 1≤k≤n1 \leq k \leq n1≤k≤n;
- IkI_kIk:k×kk \times kk×k 单位矩阵;
- XXX 的每一列是 Rn\mathbb{R}^nRn 中的单位向量,且列与列之间相互正交。
📐 二、几何直观
-
当 k=1k = 1k=1:
V1(Rn)={x∈Rn|∥x∥=1}=Sn−1V_1(\mathbb{R}^n) = \left\{ x \in \mathbb{R}^n \,\middle|\, \|x\| = 1 \right\} = S^{n-1} V1(Rn)={x∈Rn∣∥x∥=1}=Sn−1
→ 即 (n−1)(n-1)(n−1) 维单位球面。
-
当 k=nk = nk=n:
Vn(Rn)={X∈Rn×n|X⊤X=In}=O(n)V_n(\mathbb{R}^n) = \left\{ X \in \mathbb{R}^{n \times n} \,\middle|\, X^\top X = I_n \right\} = O(n) Vn(Rn)={X∈Rn×nX⊤X=In}=O(n)
→ 即 nnn 维正交群(所有正交矩阵的集合)。
-
当 k=2,n=3k=2, n=3k=2,n=3:
V2(R3)V_2(\mathbb{R}^3)V2(R3) 表示三维空间中所有“正交单位向量对”的集合 —— 可视为刚体上固定两个垂直指针的所有可能朝向。
🔢 三、维度
Stiefel 流形 Vk(Rn)V_k(\mathbb{R}^n)Vk(Rn) 是一个光滑流形,其维度为:
dimVk(Rn)=nk−k(k+1)2\dim V_k(\mathbb{R}^n) = nk - \frac{k(k+1)}{2} dimVk(Rn)=nk−2k(k+1)
💡 推导说明:
- 一个 n×kn \times kn×k 矩阵有 nknknk 个自由变量;
- 正交约束 X⊤X=IkX^\top X = I_kX⊤X=Ik 是一个 k×kk\times kk×k 对称矩阵等式,提供 k(k+1)2\frac{k(k+1)}{2}2k(k+1) 个独立约束;
- 因此自由度(流形维度)为两者之差。
✅ 示例:
- dimV1(R3)=3⋅1−1⋅22=3−1=2\dim V_1(\mathbb{R}^3) = 3 \cdot 1 - \frac{1 \cdot 2}{2} = 3 - 1 = 2dimV1(R3)=3⋅1−21⋅2=3−1=2→ S2S^2S2
- dimV2(R3)=6−3=3\dim V_2(\mathbb{R}^3) = 6 - 3 = 3dimV2(R3)=6−3=3
- $ \dim V_2(\mathbb{R}^4) = 8 - 3 = 5$
🧩 四、与格拉斯曼流形(Grassmannian)的关系
- Stiefel 流形:记录的是具体的正交基(有序、有方向);
- Grassmann 流形 Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n):记录的是 kkk 维子空间本身(无基、无方向)。
二者满足如下商空间关系:
Gr(k,n)=Vk(Rn)/O(k)\mathrm{Gr}(k, n) = V_k(\mathbb{R}^n) \,/\, O(k) Gr(k,n)=Vk(Rn)/O(k)
即:在 Stiefel 流形中,若将相差一个 $ k \times k $ 正交变换(旋转/反射)的框架视为等价,则得到 Grassmann 流形。
🧮 五、应用场景
1. 优化(Riemannian Optimization)
许多约束优化问题自然定义在 Stiefel 流形上,例如:
- 正交 Procrustes 问题:minX⊤X=Ik∥AX−B∥F2\min_{X^\top X = I_k} \|AX - B\|_F^2minX⊤X=Ik∥AX−B∥F2
- 主成分分析(PCA):寻找最优正交投影方向;
- 神经网络正交权重初始化或正则化;
- 字典学习、子空间跟踪。
常用优化算法:
- Riemannian Gradient Descent
- Riemannian Trust-Region
- Retraction + Vector Transport
工具包:Pymanopt
, Manopt (MATLAB)
, Geoopt
, Geomstats
2. 机器学习与数据科学
- 子空间聚类(Subspace Clustering)
- 流形学习中的正交嵌入(如 PCA 流形)
- 多视图学习(Multi-view Learning)中的共享正交基
- 低秩矩阵分解中的正交因子约束
3. 物理与工程
- 刚体姿态:V3(R3)=SO(3)V_3(\mathbb{R}^3) = SO(3)V3(R3)=SO(3)(旋转矩阵集合)
- 量子力学:正交态选择
- 机器人学:末端执行器的正交坐标系建模
📚 六、复数版本
复 Stiefel 流形 Vk(Cn)V_k(\mathbb{C}^n)Vk(Cn) 定义为:
Vk(Cn)={X∈Cn×k|X∗X=Ik}V_k(\mathbb{C}^n) = \left\{ X \in \mathbb{C}^{n \times k} \,\middle|\, X^* X = I_k \right\} Vk(Cn)={X∈Cn×kX∗X=Ik}
其中 X∗X^*X∗ 表示共轭转置(Hermitian 转置)。
在量子信息、复信号处理、酉矩阵优化中广泛应用。
✍️ 七、数学性质
-
光滑性:Vk(Rn)V_k(\mathbb{R}^n)Vk(Rn) 是紧致、光滑的实微分流形。
-
齐性空间:
Vk(Rn)≅O(n)/O(n−k)V_k(\mathbb{R}^n) \cong O(n) \,/\, O(n - k) Vk(Rn)≅O(n)/O(n−k)
-
黎曼度量:通常继承自嵌入空间 Rn×k\mathbb{R}^{n \times k}Rn×k 的 Frobenius 内积:
⟨A,B⟩X=tr(A⊤B)\langle A, B \rangle_X = \mathrm{tr}(A^\top B) ⟨A,B⟩X=tr(A⊤B)
-
切空间:在点 X∈Vk(Rn)X \in V_k(\mathbb{R}^n)X∈Vk(Rn) 处,切向量 Z∈TXVk(Rn)Z \in T_X V_k(\mathbb{R}^n)Z∈TXVk(Rn) 满足:
X⊤Z+Z⊤X=0⇔X⊤Z是斜对称矩阵X^\top Z + Z^\top X = 0 \quad \Leftrightarrow \quad X^\top Z \text{ 是斜对称矩阵} X⊤Z+Z⊤X=0⇔X⊤Z 是斜对称矩阵
即:
TXVk(Rn)={Z∈Rn×k|X⊤Z∈so(k)}T_X V_k(\mathbb{R}^n) = \left\{ Z \in \mathbb{R}^{n \times k} \,\middle|\, X^\top Z \in \mathfrak{so}(k) \right\} TXVk(Rn)={Z∈Rn×kX⊤Z∈so(k)}
其中 $ \mathfrak{so}(k) $ 是 $ k \times k $ 斜对称矩阵李代数。
-
指数映射与收缩(Retraction):
常用收缩映射为 QR 分解:
RX(Z)=qf(X+Z)R_X(Z) = \mathrm{qf}(X + Z) RX(Z)=qf(X+Z)
其中 $ \mathrm{qf}(\cdot) $ 表示取 QR 分解的正交部分(Q 因子)。
✅ 总结一句话:
Stiefel 流形 $ V_k(\mathbb{R}^n) $ 是所有 $ n \times k $ 正交列向量矩阵构成的光滑流形,是处理正交约束优化、子空间学习、姿态估计等问题的自然几何舞台。
📚 推荐学习资源
-
📘 书籍:
Optimization Algorithms on Matrix Manifolds — P.-A. Absil, R. Mahony, R. Sepulchre -
🌐 工具库:
- Manopt (MATLAB)
- Pymanopt (Python)
- Geoopt (PyTorch)
- Geomstats (几何机器学习)
-
🎓 教程:
“An Introduction to Optimization on Smooth Manifolds” — Nicolas Boumal(免费在线书)
📘 格拉斯曼流形(Grassmannian)
🧭 一、定义
格拉斯曼流形(Grassmann manifold),记作:
Gr(k,n)或Gr(k,Rn)\mathrm{Gr}(k, n) \quad \text{或} \quad \mathrm{Gr}(k, \mathbb{R}^n) Gr(k,n)或Gr(k,Rn)
是指:Rn\mathbb{R}^nRn 中所有 kkk 维线性子空间的集合。
📌 注意:它不关心子空间的具体基,只关心子空间本身 —— 即“等价类”的概念。
📐 二、几何直观
-
当 k=1k=1k=1:
Gr(1,n)=所有过原点的直线≅RPn−1\mathrm{Gr}(1, n) = \text{所有过原点的直线} \quad \cong \mathbb{RP}^{n-1} Gr(1,n)=所有过原点的直线≅RPn−1
→ 即 实射影空间(Real Projective Space)。
-
当 k=2,n=3k=2, n=3k=2,n=3:
Gr(2,3)=所有过原点的平面\mathrm{Gr}(2, 3) = \text{所有过原点的平面} Gr(2,3)=所有过原点的平面
→ 每个平面可由其法向量方向唯一确定(模去符号),故:
Gr(2,3)≅RP2\mathrm{Gr}(2, 3) \cong \mathbb{RP}^2 Gr(2,3)≅RP2
-
当 k=n−1k=n-1k=n−1:
Gr(n−1,n)≅RPn−1\mathrm{Gr}(n-1, n) \cong \mathbb{RP}^{n-1} Gr(n−1,n)≅RPn−1
→ 因为每个 (n−1)(n-1)(n−1) 维超平面由其单位法向量(模 ±1\pm 1±1)决定。
🔢 三、维度
格拉斯曼流形 Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n) 是一个光滑、紧致的微分流形,其维度为:
dimGr(k,n)=k(n−k)\dim \mathrm{Gr}(k, n) = k(n - k) dimGr(k,n)=k(n−k)
💡 推导说明:
-
一个 kkk 维子空间可由 kkk 个线性无关向量张成;
-
若选标准正交基,则对应 Stiefel 流形 Vk(Rn)V_k(\mathbb{R}^n)Vk(Rn),维度为 nk−k(k+1)2nk - \frac{k(k+1)}{2}nk−2k(k+1);
-
但 Grassmann 流形不区分基的旋转(即模去 O(k)O(k)O(k) 作用),而 dimO(k)=k(k−1)2\dim O(k) = \frac{k(k-1)}{2}dimO(k)=2k(k−1);
-
所以:
dimGr(k,n)=dimVk(Rn)−dimO(k)=(nk−k(k+1)2)−k(k−1)2=k(n−k)\dim \mathrm{Gr}(k, n) = \dim V_k(\mathbb{R}^n) - \dim O(k) = \left(nk - \frac{k(k+1)}{2}\right) - \frac{k(k-1)}{2} = k(n - k) dimGr(k,n)=dimVk(Rn)−dimO(k)=(nk−2k(k+1))−2k(k−1)=k(n−k)
✅ 示例:
- dimGr(1,3)=1⋅(3−1)=2\dim \mathrm{Gr}(1, 3) = 1 \cdot (3 - 1) = 2dimGr(1,3)=1⋅(3−1)=2 → RP2\mathbb{RP}^2RP2
- dimGr(2,4)=2⋅(4−2)=4\dim \mathrm{Gr}(2, 4) = 2 \cdot (4 - 2) = 4dimGr(2,4)=2⋅(4−2)=4
- dimGr(3,6)=3⋅3=9\dim \mathrm{Gr}(3, 6) = 3 \cdot 3 = 9dimGr(3,6)=3⋅3=9
🧩 四、与 Stiefel 流形的关系
格拉斯曼流形是 Stiefel 流形在正交群 O(k)O(k)O(k) 作用下的商空间:
Gr(k,n)=Vk(Rn)/O(k)\mathrm{Gr}(k, n) = V_k(\mathbb{R}^n) \,/\, O(k) Gr(k,n)=Vk(Rn)/O(k)
解释:
- Vk(Rn)V_k(\mathbb{R}^n)Vk(Rn):所有 kkk 个正交向量组成的“框架”;
- O(k)O(k)O(k):对框架做 k×kk \times kk×k 正交变换(旋转/反射);
- 商空间:把“张成相同子空间”的所有框架等同起来 → 得到子空间本身。
📌 通俗理解:
Stiefel 流形是“带坐标系的子空间”,Grassmann 流形是“去掉坐标系的子空间”。
🧮 五、表示方式
一个点(即一个 kkk 维子空间)在 Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n) 中通常用以下方式表示:
1. 正交投影矩阵(推荐用于计算)
每个子空间 $ \mathcal{U} \subset \mathbb{R}^n $ 可唯一对应一个 正交投影矩阵 $ P \in \mathbb{R}^{n \times n} $,满足:
P2=P,P⊤=P,rank(P)=kP^2 = P, \quad P^\top = P, \quad \mathrm{rank}(P) = k P2=P,P⊤=P,rank(P)=k
→ 所有这样的 PPP 构成 Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n) 的一个嵌入。
2. 等价类的矩阵表示
设 X∈Vk(Rn)X \in V_k(\mathbb{R}^n)X∈Vk(Rn),即 X⊤X=IkX^\top X = I_kX⊤X=Ik,则子空间 span(X)\mathrm{span}(X)span(X) 对应等价类:
[X]={XQ∣Q∈O(k)}∈Gr(k,n)[X] = \{ XQ \mid Q \in O(k) \} \in \mathrm{Gr}(k, n) [X]={XQ∣Q∈O(k)}∈Gr(k,n)
📐 六、黎曼结构(Riemannian Geometry)
格拉斯曼流形可赋予自然的黎曼度量,使其成为 对称空间(symmetric space)。
1. 切空间
在点 [X]∈Gr(k,n)[X] \in \mathrm{Gr}(k, n)[X]∈Gr(k,n)(其中 X∈Vk(Rn)X \in V_k(\mathbb{R}^n)X∈Vk(Rn))处,切空间可表示为:
T[X]Gr(k,n)≅{X⊥B∣B∈R(n−k)×k}T_{[X]} \mathrm{Gr}(k, n) \cong \left\{ X_\perp B \mid B \in \mathbb{R}^{(n-k) \times k} \right\} T[X]Gr(k,n)≅{X⊥B∣B∈R(n−k)×k}
其中 X⊥∈Rn×(n−k)X_\perp \in \mathbb{R}^{n \times (n-k)}X⊥∈Rn×(n−k) 是与 XXX 正交的矩阵,即:
[X∣X⊥]∈O(n),X⊤X⊥=0[X \mid X_\perp] \in O(n), \quad X^\top X_\perp = 0 [X∣X⊥]∈O(n),X⊤X⊥=0
→ 切向量是“从子空间指向正交补方向的线性映射”。
2. 度量(内积)
切向量 Δ1=X⊥B1\Delta_1 = X_\perp B_1Δ1=X⊥B1, Δ2=X⊥B2\Delta_2 = X_\perp B_2Δ2=X⊥B2 的内积定义为:
⟨Δ1,Δ2⟩=tr(B1⊤B2)\langle \Delta_1, \Delta_2 \rangle = \mathrm{tr}(B_1^\top B_2) ⟨Δ1,Δ2⟩=tr(B1⊤B2)
3. 指数映射 & 收缩(Retraction)
常用收缩映射(近似指数映射)为:
R[X](Δ)=qf(X+Δ)R_{[X]}(\Delta) = \mathrm{qf}(X + \Delta) R[X](Δ)=qf(X+Δ)
其中 qf(⋅)\mathrm{qf}(\cdot)qf(⋅) 表示取 QR 分解的正交因子(即投影到 Stiefel 流形),再取其张成的子空间。
🧩 七、复格拉斯曼流形
类似地,可定义 复格拉斯曼流形:
Gr(k,Cn)={U⊂Cn∣dimCU=k}\mathrm{Gr}(k, \mathbb{C}^n) = \left\{ \mathcal{U} \subset \mathbb{C}^n \mid \dim_{\mathbb{C}} \mathcal{U} = k \right\} Gr(k,Cn)={U⊂Cn∣dimCU=k}
→ 所有 kkk 维复子空间的集合。
其维度(作为实流形)为:
dimRGr(k,Cn)=2k(n−k)\dim_{\mathbb{R}} \mathrm{Gr}(k, \mathbb{C}^n) = 2k(n - k) dimRGr(k,Cn)=2k(n−k)
在量子信息、复信号处理、代数几何中广泛应用。
🧮 八、应用场景
1. 子空间学习(Subspace Learning)
- 主成分分析(PCA):寻找数据的最佳 kkk 维子空间 → 点在 Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n) 上;
- 子空间聚类(Subspace Clustering);
- 动态子空间跟踪(如视频背景建模)。
2. 计算机视觉
- 多视图几何中的子空间对应;
- 人脸识别中的子空间表示(如 Eigenfaces);
- 相机姿态估计中的平面/直线子空间建模。
3. 信号处理
- 波达方向估计(DOA)中的信号子空间;
- 阵列信号处理中的子空间方法(如 MUSIC 算法)。
4. 优化与机器学习
- 流形优化:目标函数定义在子空间集合上;
- 低秩矩阵恢复;
- 神经网络中的子空间正则化或子空间注意力。
✍️ 九、数学性质
-
光滑性:Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n) 是紧致、光滑、连通的实微分流形;
-
齐性空间:
Gr(k,n)≅O(n)/(O(k)×O(n−k))\mathrm{Gr}(k, n) \cong O(n) \,/\, \left( O(k) \times O(n - k) \right) Gr(k,n)≅O(n)/(O(k)×O(n−k))
-
对称空间:具有对称结构,允许高效计算测地线、平行移动等;
-
体积与测度:可定义均匀分布(Haar 测度),用于随机子空间采样。
✅ 总结一句话:
格拉斯曼流形 Gr(k,n)\mathrm{Gr}(k, n)Gr(k,n) 是 Rn\mathbb{R}^nRn 中所有 kkk 维线性子空间构成的光滑流形,是子空间学习、信号处理、计算机视觉和流形优化中的核心几何对象。
📚 推荐学习资源
-
📘 书籍:
- Optimization Algorithms on Matrix Manifolds — P.-A. Absil 等
- Riemannian Manifolds: An Introduction to Curvature — John M. Lee(第8章介绍对称空间)
- Grassmannian Geometry of Subspace Estimation — 各类信号处理文献
-
🌐 工具库:
- Manopt — 支持 Grassmann 流形优化(MATLAB)
- Pymanopt — Python 版本
- Geomstats — 几何机器学习库,内置 Grassmann 流形
- Geoopt — PyTorch 友好
-
🎓 教程:
- Nicolas Boumal 的在线书:An Introduction to Optimization on Smooth Manifolds(免费)
- Alan Edelman 等关于“随机矩阵与流形”的讲义