非欧几里得机器学习:流形与拓扑结构下的回归与嵌入方法
1. 项目概述:当数据不再“平直”
在机器学习的日常实践中,我们习惯于将数据点视为高维欧几里得空间(即我们熟悉的“平直”空间,如二维平面、三维空间)中的向量。线性回归、主成分分析(PCA)乃至大多数深度神经网络,其底层数学都建立在这个“平直”的假设之上:两点间的距离是直线距离,向量的加法、乘法运算直接有效。这个假设极大地简化了问题,让算法得以高效运行。
然而,现实世界的数据往往并不“安分”地躺在一个平直的空间里。想象一下地球表面:在局部,一小块区域看起来是平的,你可以用经纬度坐标(一个二维欧几里得空间)来近似描述一个城市的位置。但如果你想描述从北京到纽约的航线,直线(穿过地球内部)就不再是有效的路径,你必须沿着球面的大圆(测地线)飞行。地球表面就是一个典型的流形——一个局部像欧几里得空间,但整体具有复杂弯曲结构的数学对象。
这就是非欧几里得机器学习的核心战场。当数据的底层结构是弯曲的流形(如方向、概率分布、对称正定矩阵空间)、离散的图(如社交网络、分子结构)或更复杂的拓扑空间(如带有洞的曲面)时,强行用欧几里得工具去处理,就像用平面地图去规划环球航行,不仅会引入误差,更可能丢失数据中最重要的结构信息。
本文旨在深入探讨这一前沿领域,特别是两大核心任务:回归与潜在嵌入。我们将系统性地拆解,当输入空间、输出空间或两者同时脱离欧几里得范畴,呈现出流形或拓扑结构时,现有的机器学习方法如何被重新定义、泛化和创新。这不仅仅是理论上的好奇,更是解决计算机视觉(3D姿态、形状分析)、计算生物学(蛋白质结构、脑网络)、推荐系统(用户-物品关系图)等领域实际问题的关键技术。
2. 核心思路:从“平直适配”到“结构尊重”
处理非欧几里得数据的核心哲学,是从“将数据强行映射到欧几里得空间进行处理”转向“在数据固有的几何或拓扑结构内部直接定义运算”。我们可以将主流方法分为三个策略层次,其复杂度和对结构的尊重程度依次递增。
2.1 策略一:插件法——在欧氏空间里“模拟”
这是最直观的策略。当数据点{x_i}位于一个流形M上时,我们首先找到一个从流形到某个欧几里得空间R^d的嵌入映射φ: M -> R^d。这个映射通常要求是等距或近似等距的,即尽量保持流形上点与点之间的真实距离。一旦数据被“拉直”到R^d中,所有标准的欧几里得机器学习算法(如线性回归、k-均值聚类)就可以直接应用。
实操心得:插件法的关键在于嵌入映射
φ的选择。对于常见的流形,如单位球面S^{n-1},我们可以直接使用其在高维空间中的坐标表示(本身就是嵌入)。对于更复杂的流形,可能需要使用诸如多维缩放(MDS)或等距特征映射(Isomap)等流形学习算法来学习一个低维嵌入。这种方法实现简单,计算效率高,是快速验证想法的好工具。
局限性:然而,插件法存在根本性缺陷。首先,找到一个全局的、保距的嵌入对于复杂流形通常非常困难甚至不可能(根据纳什嵌入定理,虽然总是存在,但维度可能极高)。其次,在欧氏空间中计算的结果(如均值、插值点)通过逆映射φ^{-1}拉回流形时,可能不再具有几何意义,甚至可能不在流形上。
2.2 策略二:切空间投影法——局部“摊平”
流形的一个核心性质是:每一点p都存在一个切空间T_pM,这是一个与流形在该点相切的欧几里得空间。切空间投影法的思路是:将所有数据点通过对数映射Log_p: M -> T_pM投影到某个参考点p(通常是流形的均值)的切空间中。在切空间这个线性空间里,我们就可以安全地使用欧几里得算法。完成计算后,再通过指数映射Exp_p: T_pM -> M将结果映射回流形。
计算示例:以S^2(三维空间中的单位球面)为例,给定一组球面上的点{x_i}。
- 计算流形均值:使用 Fréchet 均值,即最小化到所有点距离平方和的点。对于球面,这可以通过在
R^3中计算算术平均后投影回球面得到点p。 - 对数映射:对于球面上一点
x,其在p点切空间中的向量v = Log_p(x)。在S^2上,v的方向是x - (p·x)p的方向,长度是p与x之间的球面距离(夹角)θ = arccos(p·x)。 - 在切空间运算:现在
{v_i}位于欧氏平面T_pM(一个二维平面)上。我们可以对其做线性回归:假设有标量输入t_i,目标是找到切空间中的“直线”v = a * t + b,其中a, b是切空间中的向量。 - 指数映射:得到预测的切空间向量
v_pred后,通过Exp_p(v_pred)映射回球面,得到最终的流形预测值。对于S^2,Exp_p(v) = cos(||v||) * p + sin(||v||) * (v / ||v||)。
注意事项:切空间投影法非常优雅,它将复杂的流形运算局部线性化。但其有效性严重依赖于一个假设:所有数据都集中在参考点
p的一个邻域内,使得切空间近似是流形的一个良好局部近似。如果数据在流形上散布很广(即流形的曲率影响显著),那么将非线性关系强行在单个切空间中进行线性建模会产生不可忽视的偏差。这就好比试图用一张小范围的平面地图去精确表示整个大陆的地形。
2.3 策略三:本征方法——在流形上直接定义
当插件法和切空间投影法的偏差不可接受时,我们必须采用本征方法。其核心思想是:抛弃欧几里得空间的捷径,直接在流形M的几何结构上重新定义机器学习算法所需的所有基本操作。
这包括:
- 距离:使用流形本身的测地线距离,而非欧氏距离。
- 均值:使用Fréchet 均值(或 Karcher 均值),即最小化到所有数据点距离平方和的点。
- 插值与回归:用连接两点的测地线代替直线,用沿测地线的平行移动代替向量平移,来定义“线性”关系。
- 梯度下降:使用黎曼梯度下降,更新方向是目标函数在流形切空间中的负梯度方向,然后通过指数映射更新流形上的位置。
为什么必须这么做?因为流形上的加法x + y没有定义。在欧氏空间中,线性回归模型y = Ax + b的核心是加法和数乘。在流形上,Ax(矩阵乘法)和+ b(向量加法)都失去了意义。本征方法的目标就是为流形找到几何上正确的类比物。
3. 流形上的回归:当输入与输出“弯曲”时
回归分析旨在建立从输入变量X到输出变量Y的映射关系f: X -> Y。在非欧几里得设定下,X和/或Y可以是流形。根据其几何性质,我们可以建立一个清晰的分类法,如下图所示(概念图),并逐一剖析。
(此处为概念性描述,对应原文图7)分类基于输入空间X和输出空间Y的几何性质:
- 行1:欧氏 -> 欧氏:传统回归的领域,如线性回归、多项式回归、高斯过程回归等。
- 行2:一维欧氏 -> 流形:输入是标量(如时间),输出在流形上(如随时间变化的旋转姿态)。这是流形回归的天然起点。
- 行3:高维欧氏 -> 流形:输入是多维欧氏向量,输出在流形上。
- 行4:流形 -> 欧氏:输入在流形上,输出是欧氏值(如从脑网络连接模式预测某个临床评分)。
- 行5:流形 -> 流形:最一般的情况,输入和输出都是流形。
3.1 核心模型:从线性到测地线
在欧氏空间中,线性回归模型为y = β₀ + β₁x。在流形上,其对应的本征泛化是测地线回归。
定义:给定一组观测{(t_i, y_i)},其中t_i ∈ R(一维欧氏输入),y_i ∈ M(流形输出),测地线回归旨在找到流形M上的一条测地线γ(t),使得其尽可能好地拟合数据点。数学模型是求解:
min_{p∈M, v∈T_pM} Σ_i d(γ_{p,v}(t_i), y_i)²其中γ_{p,v}(t) = Exp_p(t * v),p是测地线的起点(对应截距β₀),v是切空间中的方向向量(对应斜率β₁),d(·,·)是流形上的测地线距离。
实操要点与挑战:
- 优化求解:目标函数关于
p和v通常是非凸的。需要使用黎曼优化工具,如黎曼梯度下降或共轭梯度法。每次迭代都需要计算指数映射、对数映射和距离函数。 - 计算复杂度:对于像对称正定矩阵流形(SPD)这样的流形,指数和对数映射涉及矩阵指数和对数运算,计算成本较高。在实际代码中,需要利用流形特定的库(如
geomstats,pymanopt)来高效实现。 - 初始化敏感:由于非凸性,算法对初始值
(p₀, v₀)敏感。一个常见的策略是用插件法或切空间投影法得到一个初始解,再进行本征优化精调。
3.2 超越测地线:非线性与核方法
测地线模型假设关系是“流形上的直线”,这有时限制过强。因此,研究者发展了更灵活的模型。
- 多项式回归:在欧氏空间,多项式
y = β₀ + β₁x + β₂x² + ...可以捕捉非线性。在流形上,泛化面临挑战,因为x²等项没有定义。一种方法是将输入t提升到高维特征空间φ(t) = [1, t, t², ...],然后进行多元测地线回归(即行3中的 Fréchet 回归)。另一种方法是定义流形上的多项式,例如通过迭代的测地线 shooting 方式。 - 核回归与局部方法:Nadaraya-Watson 核回归的流形泛化,即Fréchet 核回归。对于测试点
x,其预测ŷ是流形上加权 Fréchet 均值:
其中ŷ = argmin_{y∈M} Σ_i K_h(x - x_i) * d(y, y_i)²K_h是核函数(如高斯核),d是流形距离。这相当于在流形上做局部常数拟合。更进一步,局部测地线回归在每一个测试点邻域内,拟合一个局部的测地线模型,从而允许关系在流形上变化。 - 贝叶斯流形回归:将不确定性引入流形回归。例如,贝叶斯测地线回归将起点
p和方向v视为随机变量,赋予先验分布(如流形上的均匀分布或正态分布),然后通过马尔可夫链蒙特卡洛(MCMC)或变分推断来估计后验分布。这不仅能给出预测值,还能给出预测的置信区域,对于医疗诊断等应用至关重要。
3.3 流形输入与流形到流形回归
当输入也是流形时,问题变得更加复杂。例如,从一个人脸形状(可表示为流形上的一个点)预测其对应的3D表情(另一个流形上的点)。
- 流形输入,欧氏输出:一种策略是将流形输入通过某种特征提取映射到欧氏空间(例如,计算其测地线距离矩阵的某些统计量,或使用深度网络提取特征),然后再进行标准回归。另一种更本征的方法是在输入流形上定义核函数,然后使用核回归。
- 流形到流形回归:这是最一般且最具挑战性的情况。方法包括:
- 联合嵌入:将输入流形
M和输出流形N分别嵌入到某个高维欧氏空间,然后在欧氏空间学习一个映射,最后投影回去。这种方法受限于嵌入的质量。 - 平行移动回归:核心思想是利用连接输入点和某个参考点的测地线,将输入切空间中的变化,通过平行移动沿流形“传播”,从而影响输出流形上的预测。这需要精妙的微分几何操作。
- 基于深度学习的通用映射:使用神经网络的强大表达能力来近似流形间的映射。关键在于确保网络的每一层操作都尊重流形结构,或者网络的输出层包含一个到目标流形的投影层(如
Softmax层输出概率单纯形,Proj_to_SPD层输出对称正定矩阵)。
- 联合嵌入:将输入流形
经验之谈:在实际项目中,选择哪种回归模型,首先取决于数据的几何性质。如果输出明显是流形数据(如方向、SPD矩阵),输入是简单的标量或欧氏向量,从测地线回归开始是一个稳健的选择。如果关系复杂,考虑核回归或局部方法。当输入也是流形时,特征工程结合传统回归,或者使用专门的流形-流形网络架构,往往是更可行的路径。永远不要忽视可视化:将流形数据通过PCA或t-SNE降维到2D/3D进行观察,可以直观判断线性/测地线假设是否合理。
4. 流形上的潜在嵌入:寻找数据的本质低维结构
潜在嵌入的目标是将高维数据{x_i} ⊂ X映射到低维潜在空间Y,同时保留数据的关键结构。当数据空间X或潜在空间Y是流形时,我们就进入了非欧几里得嵌入的领域。
4.1 分类框架:数据空间与潜在空间的几何组合
我们可以根据数据空间X和潜在空间Y的几何类型,对嵌入方法进行系统分类(对应原文图8):
- 欧氏数据 -> 欧氏潜在空间:这是经典领域,包括主成分分析(PCA)、自编码器(AE)、变分自编码器(VAE)、局部线性嵌入(LLE)等。它们学习一个欧氏空间内的线性或非线性子流形。
- 流形数据 -> 欧氏潜在空间:数据本身在流形上,但我们希望用低维欧氏向量来表示它们。这要求嵌入过程尊重原始流形的几何。
- 欧氏数据 -> 流形潜在空间:数据是欧氏的,但我们希望将其嵌入到一个具有特定几何约束的流形中(如球面用于方向数据,双曲空间用于树状/层次结构数据)。
- 流形数据 -> 流形潜在空间:数据在流形上,潜在空间也是流形。这是最本征但也最复杂的情况。
4.2 核心方法解析
4.2.1 主测地线分析:流形上的PCA
对于流形数据 -> 欧氏潜在空间,最直接的泛化是主测地线分析(Principal Geodesic Analysis, PGA)。
原理:PCA 在欧氏空间中找到数据的主方向(特征向量),使得数据在这些方向上的投影方差最大。PGA 将这一思想搬到流形上:
- 计算数据的 Fréchet 均值
μ。 - 将所有数据点通过对数映射
Log_μ(x_i)投影到切空间T_μM。 - 在切空间这个欧氏空间中,对投影后的向量进行标准的 PCA,得到主成分方向
{v_k}(切空间中的向量)。 - 这些主方向
{v_k}定义了流形上通过μ的测地线γ_k(t) = Exp_μ(t * v_k)。数据点x_i在低维潜在空间(欧氏)的坐标,就是其在切空间主方向上的投影系数。
与切空间PCA的区别:一个常见的误区是直接在切空间做PCA(即步骤2和3),然后声称得到了流形的主成分。这被称为切线PCA。PGA 的关键在于,它明确地将切空间中的主方向解释为流形上的测地线,从而提供了一个从低维欧氏坐标(t₁, t₂, ...)回流形Exp_μ(Σ t_k * v_k)的解码器。而切线PCA仅仅是一种降维技术,其逆映射(从坐标回数据)在几何上不一定是合理的。
变体与扩展:
- 概率PGA:为 PGA 引入概率框架,假设切空间中的数据投影服从高斯分布,从而可以计算似然并进行贝叶斯推断。
- 测地子空间:PGA 生成的是通过基点的测地线(一维子流形)的张成空间。更一般的概念是重心子空间,它由多个基点定义,能够捕捉更复杂的流形结构。
4.2.2 流形自编码器
自编码器(AE)和变分自编码器(VAE)是深度学习中强大的嵌入工具。将其泛化到流形上,主要涉及两个修改:
流形数据 -> 欧氏潜在空间:编码器
E: M -> R^d需要处理流形输入。这通常通过一个标准神经网络来实现,该网络将流形数据(以某种坐标表示,如SPD矩阵的Log-Euclidean坐标)映射到欧氏向量。关键在于解码器D: R^d -> M。解码器的输出层必须确保其输出位于流形M上。例如:- 对于球面
S^n,输出层可以是L2归一化层。 - 对于 SPD 流形,输出层可以是一个将任意矩阵映射为对称正定矩阵的操作(如通过矩阵指数,或构造
A * A^T + εI)。 - 损失函数必须使用流形上的距离,如测地线距离或 Log-Euclidean 距离。
- 对于球面
欧氏数据 -> 流形潜在空间:这是近年来非常活跃的领域,旨在学习具有特定几何意义的潜在空间。例如:
- 球面VAE:潜在空间是超球面
S^{d-1}。这适用于具有方向性或需要模长归一化的数据。实现时,编码器输出一个均值向量μ和一个方差标量σ,然后通过重参数化技巧采样得到欧氏向量z,最后将其L2归一化得到球面上的点z / ||z||。 - 双曲VAE:潜在空间是双曲空间(如庞加莱球模型)。双曲空间具有负曲率,非常适合嵌入具有层次结构的数据(如树、词向量)。网络需要在双曲几何下定义运算,如双曲距离、双曲全连接层等。
- 环面VAE:潜在空间是环面
T^n = S¹ × ... × S¹,适用于具有周期性结构的数据。
- 球面VAE:潜在空间是超球面
4.2.3 无解码器方法:流形学习与度量学习
有些方法不显式地学习一个解码器,而是直接优化潜在表示。
- 等距特征映射:Isomap 的核心思想是:如果数据位于一个弯曲的流形上,那么欧氏距离不能反映内在的几何距离。Isomap 首先构建一个邻域图,用图上的最短路径距离(近似测地线距离)作为数据点之间的新距离,然后对新的距离矩阵进行多维缩放(MDS),得到低维欧氏嵌入。这本质上是一种流形数据 -> 欧氏潜在空间的嵌入,且没有解码器。
- 黎曼流形度量学习:给定流形上的数据点
{x_i},学习一个映射f: M -> R^d,使得在潜在空间中,相似的点靠近,不相似的点远离。损失函数通常基于三元组损失或对比损失,但距离计算在流形上进行或使用流形感知的深度特征。
避坑指南:在实现流形嵌入时,一个常见的陷阱是距离函数的误用。许多聚类或可视化算法(如 t-SNE, UMAP)默认使用欧氏距离。如果你的数据是流形,直接输入原始坐标并使用欧氏距离会导致灾难性结果。务必使用或自定义正确的流形距离度量。例如,对于旋转矩阵(SO(3)),应使用测地线距离或角度距离;对于概率分布(单纯形),应使用 KL 散度或 Wasserstein 距离。
5. 拓扑结构在回归与嵌入中的应用:超越几何的连接性
当数据的结构不仅弯曲,而且本质上是离散的、基于“连接关系”时,几何(距离、角度)可能不再是首要关注点,拓扑(连接性、洞、分支)则成为核心。这类数据通常以图、超图、单纯复形等形式出现。
5.1 拓扑回归:当输入或输出是图或复杂网络
拓扑回归处理的是输入X和/或输出Y为拓扑对象(如图)的情况。
- 图值回归:输出
Y是一个图。例如,根据患者的临床特征(欧氏向量)预测其大脑功能连接网络(图)。方法包括:- 参数方法:将图的邻接矩阵或拉普拉斯矩阵的生成过程参数化(如基于随机图模型),然后回归这些参数。
- 非参数方法:将图表示为向量(如图核、图特征),在欧氏空间进行回归,然后再转化为图。这需要定义图与向量空间之间可逆或可生成的映射。
- 图作为输入的回归:输入
X是一个带有节点特征的图,输出Y是欧氏向量或标量。这是图神经网络(GNN)的天然战场。例如,预测分子(图)的化学性质。- 图卷积网络:通过聚合邻居信息来学习节点表示,然后池化为图级表示进行回归。
- 图作为正则化器:当输出是定义在图节点上的信号时(如每个城市的房价),图结构(城市间的连通性)可以作为平滑性正则项加入回归模型,鼓励相邻节点有相似的输出值。
5.2 拓扑嵌入:从点云到图,从图到向量
拓扑嵌入关注如何将一种拓扑表示转化为另一种,或转化为欧氏向量。
- 点云 -> 图/复形:这是拓扑数据分析(TDA)的起点。给定一堆数据点(点云),我们想理解其拓扑结构。
- Vietoris-Rips 复形:给定一个距离阈值
ε,对于点云中每对距离小于ε的点连一条边,每三个两两相连的点填充一个三角形,以此类推。随着ε增大,我们得到一个不断增长的复形序列,其拓扑特征(如连通分支数、环数、空洞数)的变化被记录在持续同调条形码中。这提供了对数据拓扑的鲁棒描述。 - 图构建:通过 k-最近邻(k-NN)或 ε-半径法将点云转化为图。这是许多图学习算法的预处理步骤。
- Vietoris-Rips 复形:给定一个距离阈值
- 图 -> 欧氏向量:即图嵌入,将节点或整个图映射为低维向量。
- 节点嵌入:如 DeepWalk, Node2Vec,通过在图上的随机游走来生成节点序列,然后用词嵌入技术(如 Skip-gram)学习节点向量。这些方法保留了节点的网络邻居信息。
- 图级嵌入:将整个图表示为一个向量,用于图分类或回归。方法包括图核、图神经网络(GNN)后的全局池化,或基于子图统计的特征工程。
- 超图与单纯复形嵌入:超图(边可以连接多个节点)和单纯复形(包含单形,如点、边、三角形、四面体)能表达更高阶的相互作用。嵌入这些结构需要发展相应的神经网络,如超图神经网络和单纯复形神经网络,它们定义了在更高阶胞腔上的信息传递规则。
技术价值洞察:拓扑方法的核心优势在于其对微小形变的不变性。一个咖啡杯和一个甜甜圈在几何上不同,但在拓扑上都是“有一个洞的物体”。在数据中,拓扑特征(如是否存在环、簇)往往比精确的几何坐标更稳定、更具解释性。例如,在生物信息学中,持续同调被用来分析蛋白质结构的稳定性或基因表达数据的聚类模式。
6. 实战挑战与未来方向
将非欧几里得机器学习理论付诸实践,会遇到一系列独特的挑战。
6.1 计算复杂性与数值稳定性
流形运算(指数/对数映射、平行移动、距离计算)通常涉及求解微分方程或进行矩阵分解(如 SPD 流形的矩阵对数),计算成本远高于欧氏运算。在训练深度学习模型时,这些操作需要嵌入到自动微分框架中,并确保数值稳定(例如,在球面上计算距离时避免反余弦函数的数值误差)。
优化策略:对于特定流形,存在快速近似算法或封闭解。优先使用经过优化的专用库(如geomstatsfor Python)。对于大规模问题,考虑使用切空间投影法作为本征方法的快速近似,或者采用随机化/采样技术来估计流形操作。
6.2 模型选择与评估
如何为一个非欧几里得问题选择合适的模型?没有放之四海而皆准的答案。
- 诊断数据几何:首先通过可视化(如使用 t-SNE、UMAP 但注意它们本身是欧氏方法)和定量指标(如计算数据点之间的欧氏距离与测地线距离估计的差异)来判断数据是否明显偏离欧氏假设。
- 从简单开始:先尝试插件法或切空间投影法作为基线。如果性能不佳且偏差分析显示几何效应显著,再转向本征方法。
- 评估指标:在流形上,均方误差(MSE)需要用流形上的距离平方和来代替。对于分类任务,准确率等指标依然适用,但决策边界可能需要在流形上定义。对于生成模型,需要设计流形上的评估指标(如 Fréchet Inception Distance 在流形上的类比)。
6.3 未来展望
该领域仍在蓬勃发展,几个关键方向值得关注:
- 统一框架:开发更统一的软件框架,将不同流形和拓扑空间的运算抽象出来,让研究者像使用线性代数一样方便地使用非欧几里得操作。
- 可扩展的拓扑方法:当前许多拓扑方法(如持续同调)计算复杂度高,难以扩展到超大规模图或高维点云。需要发展更高效的算法和近似技术。
- 几何先验与深度学习融合:如何将流形或拓扑结构的强先验知识更有效地注入到深度神经网络架构中,而不是仅仅在损失函数或数据表示层面,是一个富有前景的方向。例如,设计等变网络层,使其输出自动满足流形约束。
- 动态与非静态结构:现实世界的数据结构往往是随时间演化的(如动态社交网络、随时间变形的主体形状)。发展能够处理动态流形或时变拓扑结构的学习方法,是下一个前沿。
非欧几里得机器学习不是一个孤立的炫技领域,而是处理真实世界复杂数据的必然延伸。当你的数据点是一组旋转、一系列概率分布、一个社交网络或一个分子结构时,理解并利用其内在的几何与拓扑结构,不再是可选的高级技巧,而是构建精准、鲁棒且可解释模型的基础。它要求我们超越熟悉的欧氏直觉,拥抱弯曲、连接和洞悉数据本质的新数学语言。这条路充满挑战,但也正是其魅力与价值所在。
