当前位置: 首页 > news >正文

【机器学习】最优传输(OT)和 KL散度的区别

1. 什么是最优传输 (Optimal Transport, OT)?

核心思想:OT提供了一个几何框架,用于计算两个概率分布之间“距离”或“差异”的最小成本。它回答的问题是:“以最小的‘工作量’或‘成本’,将一堆沙土(第一个分布)移动并重新塑造成另一堆沙土(第二个分布),这个最小的成本是多少?

这个“工作量”由你定义的成本函数(cost function) 来决定,比如两点之间的欧几里得距离。

关键概念

  • 分布 (Distributions): 要比较的两个概率分布,可以看作是两堆质量总和都为1的“沙土”。
  • 传输计划 (Transport Plan): 一个方案,精确地定义了第一堆沙土中的每个颗粒应该被移动到第二堆沙土的哪个位置。
  • 成本矩阵 (Cost Matrix): 定义了将质量从第一个分布的一个点移动到第二个分布的一个点需要多少“成本”。通常使用两点间的距离(如欧氏距离的平方)。
  • 联合分布 (Coupling): 数学上,传输计划是一个联合分布,其边缘分布就是那两个要比较的原始分布。

最著名的形式:Wasserstein Distance (推土机距离)
这是OT最流行的应用之一。它被定义为所有可能传输计划中,期望成本的最小值。

公式(离散形式简化版)
给定两个离散分布 PPPQQQ,以及成本矩阵 CCC,Wasserstein距离为:
W(P,Q)=inf⁡γ∈Γ(P,Q)∑i,jγi,jCi,jW(P, Q) = \inf_{\gamma \in \Gamma(P, Q)} \sum_{i,j} \gamma_{i,j} C_{i,j}W(P,Q)=infγΓ(P,Q)i,jγi,jCi,j
其中 Γ(P,Q)\Gamma(P, Q)Γ(P,Q) 是所有边缘分布为 PPPQQQ 的联合分布(即传输计划)的集合。

主要特点

  • 考虑几何:OT天然地考虑了分布支撑集(样本空间)的几何结构。它知道“点A离点B很远,离点C很近”。
  • 能处理不重叠的分布:即使两个分布没有任何重叠(例如,一个分布全在x=0,另一个全在x=10),OT仍然可以给出一个直观的、有意义的距离(例如10,如果成本是欧氏距离)。
  • 计算昂贵:对于大型分布,计算OT距离通常更复杂,需要用到如Sinkhorn算法等近似方法。

2. 什么是KL散度 (Kullback-Leibler Divergence)?

核心思想:KL散度源于信息论,用于衡量用一个概率分布 PPP 来近似另一个概率分布 QQQ 时,所造成的信息损失(以额外的比特数衡量)。它回答的问题是:“假设真实分布是 QQQ,而我用 PPP 来建模,我的效率会损失多少?

关键概念

  • 似然比 (Likelihood Ratio): KL散度本质上是对数似然比的期望。
  • 非对称性KL(P∣∣Q)≠KL(Q∣∣P)KL(P || Q) \neq KL(Q || P)KL(P∣∣Q)=KL(Q∣∣P)。它衡量的是从 QQQPPP 的“方向性”信息损失。
  • 非负性KL(P∣∣Q)≥0KL(P || Q) \geq 0KL(P∣∣Q)0,当且仅当 P=QP = QP=Q 时等于0。

公式(离散形式)
KL(P∣∣Q)=∑iP(i)log⁡P(i)Q(i)KL(P || Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}KL(P∣∣Q)=iP(i)logQ(i)P(i)

主要特点

  • 不考虑几何:KL散度只关心概率质量(probability mass)的比值。它不知道P和Q中的点在实际空间中离得是远还是近。它只比较同一个点或同一个区域上两个分布的概率值。
  • 对不重叠的分布失效:如果存在某个点 iii,使得 Q(i)=0Q(i) = 0Q(i)=0P(i)>0P(i) > 0P(i)>0,那么 KL(P∣∣Q)KL(P || Q)KL(P∣∣Q) 会变成无穷大(因为 log⁡P(i)0\log \frac{P(i)}{0}log0P(i) 是无穷大)。这意味着它无法处理支撑集不重叠的分布。
  • 计算高效:通常只需要对概率值进行简单计算,非常快速。

3. OT 与 KL 散度的核心区别

特性最优传输 (OT) / Wasserstein距离KL散度
起源几何学 (如何移动质量)信息论 (信息损失)
对称性是对称的
W(P,Q)=W(Q,P)W(P, Q) = W(Q, P)W(P,Q)=W(Q,P)
非对称的
KL(P∣∣Q)≠KL(Q∣∣P)KL(P || Q) \neq KL(Q ||P)KL(P∣∣Q)=KL(Q∣∣P)
几何感知。它使用成本矩阵,明确知晓点与点之间的距离。。它只比较概率值,完全忽略底层空间的度量结构。
对零测度的处理鲁棒。可以平滑地处理概率为零的区域。脆弱。如果 P>0P > 0P>0Q=0Q=0Q=0,则 KL(P∣∣Q)=∞KL(P||Q) = \inftyKL(P∣∣Q)=
计算复杂度高(但已有近似算法,如Sinkhorn)
直观解释移动沙土的最小“工作量”用错误分布建模导致的信息“效率损失”

一个生动的例子

假设有两个一维分布:

  • 分布 P: 在 x=0 处有一个狄拉克delta函数(即全部质量集中在0点)。
  • 分布 Q: 在 x=10 处有一个狄拉克delta函数。

:这两个分布有多“不同”?

  • OT (Wasserstein距离) 的回答

    • 成本函数定义为 |x - y|。
    • 我需要把在0点的全部质量移动到10点。
    • 总成本 = 1.0 * |0 - 10| = 10
    • 结论:它们之间的距离是10。这非常符合我们的几何直觉。
  • KL散度的回答

    • KL(P∣∣Q)=P(0)∗log⁡P(0)Q(0)=1∗log⁡10=∞KL(P || Q) = P(0) * \log \frac{P(0)}{Q(0)} = 1 * \log \frac{1}{0} = \inftyKL(P∣∣Q)=P(0)logQ(0)P(0)=1log01=
    • 结论:距离是无穷大。虽然数学上没错(它们确实完全不同),但它无法给出一个“有限”的、可比较的度量,无法反映它们只是在x轴上偏移了10个单位这一事实。

总结与何时使用

  • 使用KL散度

    • 当你关心概率模型的拟合优度信息编码效率时。
    • 当两个分布的支撑集高度重叠,并且你主要关心的是概率值的相对差异
    • 常用于变分推断 (VI)期望最大化 (EM) 算法和传统模型选择
  • 使用最优传输 (OT)

    • 当你需要比较的分布可能没有重叠,或者重叠很少时。
    • 当数据的几何结构很重要时(例如,图像、空间数据)。
    • 当你需要一个对称的、平滑的度量时。
    • 常用于生成模型(如Wasserstein GAN)、计算生物学经济学任何需要度量空间上分布距离的场景

简而言之,KL散度是“统计的”比较,而最优传输是“几何的”比较。它们从两个非常不同的角度解决了衡量分布差异的问题。

http://www.dtcms.com/a/394013.html

相关文章:

  • 推荐一个随机生成图片的网站: Lorem Picsum
  • APE自动化提示词工程
  • 探究某黄鱼x-sign生成算法——终极篇
  • 霍尔传感器安装错位下的FOC控制:线性插值与锁相环(PLL)算法的抉择
  • FFmpeg 深入精讲(三)FFmpeg 中级开发
  • AI驱动下的蛋白质设计
  • ARM基本汇编操作指令
  • 电商搜索 API 的优化与性能提升:从瓶颈突破到体验升级
  • 使用DeepSeek辅助测试一个rust编写的postgresql协议工具包convergence
  • 【00】EPGF 架构搭建教程之 总揽篇
  • 深度剖析 vector 底层原理:从手写实现到核心技术点全解析
  • 嵌入式开发学习日志29——stm32之定时器中断
  • 通俗范畴论17.3 向量空间的对偶与双对偶
  • 表格 表头增加悬浮提示内容
  • emacs段落重排快捷键
  • 第九届人单合一模式引领论坛举行 构建AI时代的智能交互生态
  • 不用搜驱动!惠普官方工具:自动适配,坏了直接重装
  • JAVA八股文——java虚拟机栈
  • 华为MindSpeed 训练加速库:架构解析
  • Java的Stream实现对list实用操作【持续更新】
  • 【AI智能体】Dify集成 Echarts实现数据报表展示实战详解
  • 【01】EPGF 架构搭建教程之 Anaconda 安装指南
  • 深度学习周报(9.15~9.21)
  • MCP实战:使用 LangGraph 和 MCP 协议无缝集成外部工具
  • 【嵌入式总线通信协议库】
  • 06.【Linux系统编程】命令行参数(给main传参)、环境变量(概念+使用)、进程的虚拟地址空间(用户实际访问的空间)
  • esp32墨水屏天气预测学习
  • LabelImg 操作指南:提高标注速度
  • redhat7.2迁移ssh免密到麒麟v10
  • Linux基操