切片Wasserstein距离提升分类可分性:实验与反思

能否让类别在特征空间中更"泾渭分明"?
在机器学习任务中,特征的可分性往往直接决定了分类器的上限。如果两个类别在特征空间中高度重叠,即便再强大的模型也难以划出清晰的决策边界。近日,一位Reddit开发者分享了一个颇具启发性的实验:能否学习一种特征变换,让两个类别的分布变得更加分离,同时又不破坏数据本身的几何结构?
这个想法的核心工具是切片Wasserstein距离(Sliced Wasserstein Distance, SWD)。作者尝试通过神经网络学习一个变换 T(x),使得变换后两个类别分布之间的 SWD 最大化。实验在乳腺癌(Breast Cancer)数据集上取得了有趣但也充满矛盾的结果——在决策树上表现良好,在其他算法上却效果糟糕。
切片Wasserstein距离的核心原理
从最优传输到分布度量
Wasserstein距离(又称推土机距离,Earth Mover's Distance)源于最优传输理论,用于衡量两个概率分布之间的"差异"。直观理解,它表示把一堆土从一个分布的形状搬运成另一个分布形状所需的最小代价。相比KL散度等指标,Wasserstein距离对分布之间的几何位置更敏感,即使两个分布没有重叠也能给出有意义的度量。
从数学角度更精确地说,p阶Wasserstein距离定义为所有将分布μ传输为分布ν的联合分布(传输计划)中,传输代价期望的下确界。这个定义源自18世纪法国数学家Monge提出的最优传输问题,后经Kantorovich在20世纪40年代给出对偶松弛形式,使其从纯数学问题变为可计算的优化问题。Wasserstein距离之所以在机器学习中备受青睐,关键在于它是一个真正的度量(满足对称性、三角不等式),而KL散度不对称且在分布支撑不重叠时为无穷大,Jensen-Shannon散度虽然对称但梯度信号在分布分离时趋近于零。正是Wasserstein距离的这些优良性质,使得Arjovsky等人在2017年提出的WGAN能够解决传统GAN训练不稳定的问题——传统GAN中判别器使用JS散度作为隐式训练目标,当生成分布与真实分布的支撑集不重叠时(这在高维空间中几乎必然发生),JS散度饱和为常数log2,梯度消失导致生成器无法更新;而WGAN用Wasserstein距离替代后,即使两个分布完全不重叠,梯度信号依然有意义且与分布间的实际几何距离成正比,这为本文的特征空间优化提供了坚实的理论基础。
为什么要"切片"——高维计算的高效近似
高维空间中直接计算Wasserstein距离的计算成本极高——对于n个样本点,精确计算需要求解一个线性规划问题,复杂度为O(n³log n),在高维空间中更是面临维度灾难。切片Wasserstein距离巧妙地绕过了这个难题:它将高维分布随机投影到大量一维方向上,在每个一维方向上计算Wasserstein距离(一维情况下有闭式解,只需排序即可,复杂度仅为O(n log n)),再对所有投影方向取平均。这样既保留了最优传输的核心特性,又大幅降低了计算复杂度,非常适合作为神经网络训练中的可微损失函数。
切片Wasserstein距离的理论基础来自Radon变换——一种将高维函数分解为沿所有方向一维投影的积分变换,最早由奥地利数学家Johann Radon在1917年提出,后成为CT扫描成像的数学基础。Radon变换的核心性质是其逆变换的存在性:给定一个函数在所有方向上的一维投影,可以精确重构原始函数。这意味着从所有一维投影的Wasserstein距离集合中,可以完整恢复原始高维分布之间的差异信息,不会丢失任何关键结构。Bonneel等人在2015年严格证明了SWD与真实Wasserstein距离之间的拓扑等价性:SWD为零当且仅当真实Wasserstein距离为零,且两者诱导相同的弱收敛拓扑。这一理论保证使得SWD不仅仅是一个"近似",而是一个在分布比较意义上完备的度量。在实际应用中,投影方向的数量是一个可调超参数——通常几百到几千个随机方向就能给出足够稳定的估计。SWD已被成功用于Sliced Wasserstein GAN(Deshpande等,2018)、纹理合成、点云处理、领域自适应等多个场景,证明了其作为训练目标的有效性和广泛适用性。
正因为SWD可微且计算高效,它成为了用来"拉开"两个类别分布的理想优化目标。
实验设计:在分离与保真之间寻找平衡
核心优化思路
作者的方法可以概括为一个清晰的流水线:
原始数据 → 学习变换 → 在几何约束下增大类间SWD → 标准机器学习流程
具体来说,给定两个类别分布 A 和 B,目标是学习一个变换 T(x),使得:
max SWD(T(A), T(B))
几何约束的必要性
这里出现了一个关键的工程直觉。如果仅仅用神经网络去最大化SWD,网络会"作弊"——它会以任意方式扭曲数据,只要能把两个分布推得越远越好。这种无约束的优化虽然让SWD数值飙升,却彻底破坏了数据的内在结构,反而让下游分类器无所适从。
为此,作者引入了几何约束,要求变换在拉大类间距离的同时,尽可能保持数据原有的几何关系。这本质上是在"分离性"与"保真度"之间做权衡——既要让类别更可分,又不能让数据面目全非。
这一思路在度量学习(Metric Learning)和流形学习领域有着深厚的理论渊源。经典的等距映射方法(如ISOMAP,由Tenenbaum等人在2000年发表于Science)要求低维嵌入严格保持高维空间中的测地距离——即沿数据流形表面的最短路径长度,而非直线欧氏距离。这确保了数据的内禀几何结构在降维后得以保留。对比学习中的三元组损失(Triplet Loss)则从另一个角度实现了类似的平衡:给定一个锚点样本、一个同类正样本和一个异类负样本,三元组损失要求锚点到正样本的距离比到负样本的距离至少小一个边际(margin),即 ||f(a) - f(p)|| + margin < ||f(a) - f(n)||。这个margin参数隐式地防止了空间坍塌(所有点映射到同一位置)和空间爆炸(所有点被无限推远)两种退化情况。更直接的约束形式是Lipschitz连续性——要求变换T满足 ||T(x₁) - T(x₂)|| ≤ L·||x₁ - x₂)||,其中L是Lipschitz常数,从而限制变换对空间的最大拉伸程度。在Wasserstein GAN的判别器(更准确地称为"评论者"critic)设计中,Lipschitz约束被广泛采用:最初Arjovsky等人使用权重裁剪(weight clipping),后来Gulrajani等人提出梯度惩罚(gradient penalty),Miyato等人则提出了更优雅的谱归一化(spectral normalization)方法——通过将网络每一层权重矩阵除以其最大奇异值,精确地将每一层的Lipschitz常数控制在1。本实验中的几何约束可以看作同一哲学思想在特征预处理场景下的具体应用。
结果分析:为何决策树独善其身?
决策树表现良好的原因
实验结果显示,在乳腺癌数据集上,经过SWD变换后的特征在决策树上表现不错。这背后有合理的解释:决策树的决策方式是沿坐标轴的轴对齐分割,它对特征的单调变换、局部拉伸并不敏感——只要某个特征上类别的排序关系被强化,决策树就能受益。而SWD最大化很可能恰好在部分维度上强化了类别的分离顺序。
更深入地分析,决策树在每个节点选择最优分裂特征时,使用的准则(无论是信息增益、基尼不纯度还是均方误差)本质上都是排序统计量的函数——它们只关心"在某个阈值的左边和右边,各类别的比例如何",而不关心数据点之间的具体距离。以基尼不纯度为例,对于一个候选分裂点t,算法计算的是t左侧和右侧子集中各类别比例的加权基尼指数 G = 1 - Σpᵢ²,这个值完全取决于样本在该特征维度上相对于t的排列顺序,与样本间的绝对距离无关。这意味着决策树对任何保持类别排序的单调变换具有天然的不变性。例如,对特征 x 施加变换 f(x) = x³,只要 f 是单调的,决策树的分裂结果完全不变。这一性质也解释了为什么决策树(及其集成版本如随机森林、XGBoost)对特征缩放不敏感,不需要像SVM或神经网络那样进行标准化预处理。SWD最大化在一维投影方向上本质上就是在拉开两个类别的排序间隔——当一维Wasserstein距离增大时,两个类别样本在该方向上的分位数差异增大。具体来说,一维Wasserstein-1距离等于两个累积分布函数之间面积的积分 W₁ = ∫|F_A(x) - F_B(x)|dx,增大这个距离意味着两个类别的CDF在更大的区间上彼此远离,直接对应到决策树在该特征上能找到更纯的分裂点——分裂后左右子节点的类别纯度更高。这解释了为什么一个从分布层面优化的方法,恰好能"对症下药"地帮助到决策树这类基于排序的学习器。
其他分类器失败的深层原因
真正值得深思的是:为什么这套方法对决策树友好,却对逻辑回归、SVM、KNN等算法效果糟糕?
依赖距离度量的算法(如KNN、SVM的RBF核)或依赖线性可分假设的算法(如逻辑回归),对全局几何结构极为敏感。当变换为了增大SWD而扭曲了特征空间的整体拓扑时,这些算法赖以工作的距离关系和线性关系被破坏,性能自然崩溃。
具体而言,KNN(K近邻)的预测完全基于"最近邻居是谁"这一局部拓扑关系——对于一个测试样本,算法找到训练集中距离最近的K个样本,通过多数投票决定类别。如果变换T在某些区域大幅拉伸空间而在另一些区域压缩(即变换的雅可比矩阵的特征值在空间中剧烈变化),原本互为近邻的同类样本可能被推远,而异类样本反而被拉近,导致邻域投票结果恶化。这种现象在高维空间中尤为严重,因为高维空间本身就存在"距离集中"现象(所有点对之间的距离趋于相等),任何额外的空间扭曲都会使得近邻关系更加脆弱。SVM的RBF核 K(x,y) = exp(-γ||x-y||²) 对欧氏距离高度敏感——核函数值随距离呈指数衰减,这意味着距离的微小变化会被指数级放大。空间扭曲直接改变了核矩阵(Gram矩阵)的特征结构:核矩阵的特征值分布决定了数据在再生核希尔伯特空间(RKHS)中的几何形态,扭曲后的核矩阵可能变得更加病态(条件数增大),使得原本在核空间中线性可分的数据变得不可分,或者使得SVM的二次规划求解变得数值不稳定。逻辑回归则假设类别后验概率的对数几率(log-odds)是特征的线性函数,即 log[P(y=1|x)/P(y=0|x)] = wᵀx + b,这意味着最优决策边界是一个超平面。非线性变换T可能破坏这种线性关系——即使两个类别的分布中心被推得更远,如果决策边界变得高度非线性(例如一个类别被变换成环绕另一个类别的形状),逻辑回归的线性模型反而更难拟合,训练误差和测试误差都会显著上升。
这说明:"分布上更分离"并不等于"对所有分类器都更友好"。SWD度量的是分布层面的整体差异,而不同分类器关心的是不同层面的可分性——决策树关心排序可分性,KNN关心局部拓扑可分性,逻辑回归关心线性可分性,SVM关心核空间中的可分性。一个优化目标不可能同时满足所有这些异质的可分性需求。
关键启示与后续探索方向
优化目标与下游任务的对齐问题
这个实验最大的价值,或许不在于它是否"成功",而在于它暴露了一个普遍问题:优化目标与最终评价标准的错位。作者优化的是类间SWD,但真正的目标是提升分类准确率。二者之间存在gap,导致优化在一部分模型上奏效、在另一部分上失败。
这实际上是机器学习中代理损失(Surrogate Loss)问题的一个缩影。由于分类准确率本身是不可微的阶梯函数(0-1损失在决策边界处不连续,梯度几乎处处为零),我们不得不用可微的代理目标来替代——交叉熵损失是分类准确率的代理,铰链损失(hinge loss)是0-1损失的凸松弛,而SWD则是"类别可分性"的一种分布层面的代理。代理损失与真实目标之间的一致性——在统计学习理论中被称为Fisher一致性(也叫分类校准性,classification calibration)——是一个核心问题:只有当代理损失的最小化能保证真实0-1损失也趋于贝叶斯最优时,代理才是"安全"的。Bartlett等人在2006年的经典论文中证明了交叉熵损失和铰链损失都满足Fisher一致性,这为逻辑回归和SVM的理论合理性提供了保证。然而,SWD作为分类精度的代理,缺乏这种一致性保证——最大化类间SWD的变换并不一定能降低贝叶斯最优分类器的错误率。一个极端的反例是:两个完全分离但形状高度复杂交错的分布,其SWD很大,但对线性分类器而言几乎不可分。端到端学习范式(如深度学习中直接用分类损失反向传播到特征提取层)之所以成功,正是因为它消除了中间代理目标的错位——特征提取网络和分类头共享同一个损失函数的梯度信号,特征表示直接为最终任务服务。这也提示我们,任何"先优化表示、再训练分类器"的两阶段方法(包括传统的PCA降维+分类、自编码器预训练+微调等),都需要仔细验证其代理目标与下游任务的对齐程度。
无约束优化的退化风险
实验也再次印证了深度学习中一个经典教训:给足自由度的神经网络总会找到"钻空子"的捷径。单纯最大化某个距离度量,往往得到的是退化解——就像对比学习中如果没有适当的正则化,编码器会将所有输入映射到超球面上的同一个点(表示坍塌,representation collapse),使得损失函数的值虽然达到最优,但学到的表示毫无意义。引入几何约束、正则项,本质上是在告诉模型"什么是有意义的分离"。
值得深挖的改进方向
从这个实验出发,还有不少后续研究空间:
- 约束的精细化设计:可以尝试保持局部邻域结构(类似流形学习中的局部线性嵌入LLE——假设每个数据点可以由其近邻的线性组合表示,要求变换后仍保持这种线性重构关系;或t-SNE中通过最小化高维和低维空间中条件概率分布之间的KL散度来保持局部相似性结构)或引入Lipschitz约束限制变换的扭曲程度(如通过谱归一化将网络每一层权重矩阵的谱范数——即最大奇异值——限制在1以内,从而保证整个网络的Lipschitz常数不超过各层Lipschitz常数的乘积)。
- 面向特定分类器的联合优化:与其优化一个通用的SWD,不如将下游分类器的损失一并纳入端到端训练。例如,可以构建一个联合损失 L = L_classifier - λ·SWD,让特征变换同时服务于分布分离和分类精度。这种方法在多任务学习框架中已有成熟实践,关键在于超参数λ的选择——可以通过在验证集上的网格搜索或自适应权重调整策略(如GradNorm)来平衡两个目标。
- 在更多数据集上验证:仅在乳腺癌这类相对简单的二分类数据集(30维特征、569个样本)上测试,结论的普适性有限,需要在更复杂、更高维的数据上检验,如图像数据的深度特征空间(例如ImageNet预训练模型提取的2048维特征)或自然语言处理中的词嵌入空间(如768维BERT嵌入),这些场景中类别分布的结构远比低维表格数据复杂,SWD优化可能展现出不同的行为模式。
结语
这是一次典型的"负结果也有价值"的探索。用SWD尝试重塑特征空间,虽然没有得到一个通吃所有算法的方案,却清晰地展现了分布级度量与不同分类器之间微妙而复杂的关系。对于研究者而言,这类失败与部分成功交织的实验,往往比一个漂亮的SOTA数字更能启发思考——它提醒我们,在机器学习中,"更好的度量"必须与"具体的任务和模型"绑定,才有真正的意义。
相关推荐

组队学Python与机器学习:为何找学习搭子是突破瓶颈的关键
独自学Python和机器学习容易半途而废?本文从一条Reddit招募帖出发,分析组队学习的真实价值,并提供组建高效AI学习小组的实用方法,帮你找到学习搭子、加速入门机器学习。

无状态数据库:AI智能体记忆的轻量化方案详解
深入解析无状态智能体记忆数据库的设计原理与工程价值,探讨轻量化方案如何解决AI Agent记忆管理痛点,涵盖无状态架构优势、向量检索替代方案及实际落地挑战。

零框架实现RAG与Agent:AI工程师必备的底层能力
深入解析AI Engineer Notebooks开源项目,通过零框架方式从底层代码实现RAG检索增强生成、Agent智能体和Evals评估体系,帮助开发者摆脱框架黑盒,真正理解AI工程核心原理。支持Google Colab免费运行。