Wasserstein距离

Wasserstein距离(Wasserstein distance),又称为推土机移动距离(Earth Mover’s Distance, EMD),是度量理论中用来比较两个概率分布之间差异的一种距离度量。它源自最优传输问题(Optimal Transport Problem),用于衡量将一个概率分布“转换”为另一个概率分布所需的最小“代价”。

直观理解

Wasserstein距离的直观解释可以类比于在地球上移动泥土的过程:

  • 假设我们有两个堆积不同形状的土堆,表示两个概率分布。
  • 我们想通过移动泥土,将一个土堆转化为另一个。
  • 每一单位的土堆都需要一定的“代价”来移动,而这个代价通常与距离成正比。
  • Wasserstein距离就是完成这种转换所需的最小移动总代价。

数学定义

假设我们有两个定义在度量空间上的概率分布 P P P Q Q Q,即它们是两个概率测度。我们考虑如何将分布 P P P 转换为分布 Q Q Q 的问题。

  • 一阶Wasserstein距离(Wasserstein-1 distance),常用公式为:

    W 1 ( P , Q ) = inf ⁡ γ ∈ Π ( P , Q ) ∫ X × X d ( x , y ) d γ ( x , y ) W_1(P, Q) = \inf_{\gamma \in \Pi(P, Q)} \int_{X \times X} d(x, y) \, d\gamma(x, y) W1(P,Q)=γΠ(P,Q)infX×Xd(x,y)dγ(x,y)

    其中:

    • d ( x , y ) d(x, y) d(x,y) 是空间中点 x x x y y y 之间的距离度量(如欧几里得距离)。
    • Π ( P , Q ) \Pi(P, Q) Π(P,Q) 表示所有以 P P P Q Q Q 为边缘分布的联合分布集合。直观来说, γ ( x , y ) \gamma(x, y) γ(x,y) 表示从分布 P P P 中的 x x x 移动到分布 Q Q Q 中的 y y y 所需的概率质量。

Wasserstein距离的核心在于找到一种最优的方式,即以最小的代价将 P P P 转换为 Q Q Q,而这个代价通过测度 γ \gamma γ 来描述。

特别情况:离散分布

在离散分布的情况下,如果 P = { p 1 , p 2 , … , p n } P = \{p_1, p_2, \dots, p_n\} P={p1,p2,,pn} Q = { q 1 , q 2 , … , q n } Q = \{q_1, q_2, \dots, q_n\} Q={q1,q2,,qn} 是两个离散的概率分布,并且点之间的距离是欧几里得距离,Wasserstein距离则可以通过计算“最优传输计划”来得到,类似于线性规划问题中的最小化问题。

Wasserstein距离的类型

根据距离函数的幂次不同,Wasserstein距离可以有不同的形式:

  • 一阶Wasserstein距离(Wasserstein-1 distance):度量两个分布的平均移动距离,最常见。
  • 二阶Wasserstein距离(Wasserstein-2 distance):度量的是平均平方移动距离,也很常用。

二阶Wasserstein距离的公式如下:
W 2 2 ( P , Q ) = inf ⁡ γ ∈ Π ( P , Q ) ∫ X × X d ( x , y ) 2 d γ ( x , y ) W_2^2(P, Q) = \inf_{\gamma \in \Pi(P, Q)} \int_{X \times X} d(x, y)^2 \, d\gamma(x, y) W22(P,Q)=γΠ(P,Q)infX×Xd(x,y)2dγ(x,y)

应用

Wasserstein距离在多个领域有重要应用,特别是在以下几个方面:

  1. 机器学习和深度学习:在生成对抗网络(GANs)中,Wasserstein距离被用来衡量生成分布与真实分布之间的差异。Wasserstein GAN (WGAN) 是改进的生成对抗网络,使用Wasserstein距离代替传统的Jensen-Shannon散度来增强稳定性。
  2. 图像处理:Wasserstein距离可用于衡量图像之间的差异,特别是在图像匹配和图像分类任务中,用来度量不同图像的概率分布差异。
  3. 概率论与统计学:它被用来比较两个随机变量或两个概率分布的差异,特别是在度量分布的集中趋势或重心时。

小结

Wasserstein距离提供了一种非常直观且严谨的方法来衡量两个概率分布之间的差异,特别适用于那些涉及空间结构的应用场景。在优化和机器学习等领域,它是一种强大的工具。

让我们通过一个简单的例子来直观展示如何计算两个离散分布之间的Wasserstein距离。

示例:离散分布间的Wasserstein距离

假设我们有两个简单的离散分布 P P P Q Q Q ,定义在一维空间上。它们的分布如下:

  • 分布 P P P :在点 x 1 = 1 x_1 = 1 x1=1 x 2 = 3 x_2 = 3 x2=3 上分别有概率质量 p 1 = 0.4 p_1 = 0.4 p1=0.4 p 2 = 0.6 p_2 = 0.6 p2=0.6
  • 分布 Q Q Q :在点 y 1 = 2 y_1 = 2 y1=2 y 2 = 4 y_2 = 4 y2=4 上分别有概率质量 q 1 = 0.5 q_1 = 0.5 q1=0.5 q 2 = 0.5 q_2 = 0.5 q2=0.5
问题:计算一阶Wasserstein距离 W 1 ( P , Q ) W_1(P, Q) W1(P,Q)

步骤 1:定义运输方案

我们希望通过某种“最优”方式将分布 P P P 的质量分配给 Q Q Q。假设质量从 P P P 中的点 x i x_i xi 移动到 Q Q Q 中的点 y j y_j yj ,并且移动的“代价”是它们的距离(使用一维欧几里得距离),即 d ( x i , y j ) = ∣ x i − y j ∣ d(x_i, y_j) = |x_i - y_j| d(xi,yj)=xiyj

下面我们用 γ i j \gamma_{ij} γij 表示从 P P P 的点 x i x_i xi 移动到 Q Q Q 的点 y j y_j yj 的质量。

步骤 2:计算欧几里得距离

我们计算点之间的距离:

d ( x 1 , y 1 ) = ∣ 1 − 2 ∣ = 1 , d ( x 1 , y 2 ) = ∣ 1 − 4 ∣ = 3 d(x_1, y_1) = |1 - 2| = 1, \quad d(x_1, y_2) = |1 - 4| = 3 d(x1,y1)=∣12∣=1,d(x1,y2)=∣14∣=3
d ( x 2 , y 1 ) = ∣ 3 − 2 ∣ = 1 , d ( x 2 , y 2 ) = ∣ 3 − 4 ∣ = 1 d(x_2, y_1) = |3 - 2| = 1, \quad d(x_2, y_2) = |3 - 4| = 1 d(x2,y1)=∣32∣=1,d(x2,y2)=∣34∣=1

步骤 3:分配质量

为了使总移动成本最小化,我们需要确定怎样从 P P P 的两个点 ( 1 , 3 ) (1, 3) (1,3) 分配质量给 Q Q Q 的两个点 ( 2 , 4 ) (2, 4) (2,4) 。我们有以下的约束:

  • 移动的质量不能超过各点原本的概率质量。即:
    γ 11 + γ 12 = p 1 = 0.4 \gamma_{11} + \gamma_{12} = p_1 = 0.4 γ11+γ12=p1=0.4
    γ 21 + γ 22 = p 2 = 0.6 \gamma_{21} + \gamma_{22} = p_2 = 0.6 γ21+γ22=p2=0.6
    γ 11 + γ 21 = q 1 = 0.5 \gamma_{11} + \gamma_{21} = q_1 = 0.5 γ11+γ21=q1=0.5
    γ 12 + γ 22 = q 2 = 0.5 \gamma_{12} + \gamma_{22} = q_2 = 0.5 γ12+γ22=q2=0.5

同时,我们需要最小化移动代价:
Total Cost = γ 11 ⋅ 1 + γ 12 ⋅ 3 + γ 21 ⋅ 1 + γ 22 ⋅ 1 \text{Total Cost} = \gamma_{11} \cdot 1 + \gamma_{12} \cdot 3 + \gamma_{21} \cdot 1 + \gamma_{22} \cdot 1 Total Cost=γ111+γ123+γ211+γ221

步骤 4:解最优分配问题

我们通过简单推导和分配方案,得到一个可能的最优方案:

  1. 0.4 0.4 0.4 的质量从 x 1 = 1 x_1 = 1 x1=1 移动到 y 1 = 2 y_1 = 2 y1=2
  2. 0.1 0.1 0.1 的质量从 x 2 = 3 x_2 = 3 x2=3 移动到 y 1 = 2 y_1 = 2 y1=2
  3. 0.5 0.5 0.5 的质量从 x 2 = 3 x_2 = 3 x2=3 移动到 y 2 = 4 y_2 = 4 y2=4

这个方案符合所有约束条件,接下来我们计算总的移动代价:

Total Cost = ( 0.4 ⋅ 1 ) + ( 0.1 ⋅ 1 ) + ( 0.5 ⋅ 1 ) = 0.4 + 0.1 + 0.5 = 1.0 \text{Total Cost} = (0.4 \cdot 1) + (0.1 \cdot 1) + (0.5 \cdot 1) = 0.4 + 0.1 + 0.5 = 1.0 Total Cost=(0.41)+(0.11)+(0.51)=0.4+0.1+0.5=1.0

因此,Wasserstein距离 W 1 ( P , Q ) = 1.0 W_1(P, Q) = 1.0 W1(P,Q)=1.0

小结

在这个简单的例子中,我们通过最优传输的方式计算了两个离散分布 P P P Q Q Q 之间的Wasserstein距离。Wasserstein距离表示将一个分布转换为另一个分布所需的最小移动成本。在这个案例中,我们发现将 P P P 转换为 Q Q Q 所需的最小成本为1。

假设是两个连续的分布呢?

这个过程可以推广到连续分布和更复杂的多维场景,但其核心思想仍然是通过“最优传输”来测量两个分布的相似性或差异。

当我们考虑连续概率分布之间的Wasserstein距离时,基本思路依然是最优传输问题,不过需要通过积分来计算,而不是简单的质量分配。在这里,我们将以两个连续的概率分布为例,展示如何计算它们的Wasserstein距离

示例:计算两个一维连续分布的Wasserstein-1距离

假设我们有两个定义在实数轴 R \mathbb{R} R 上的概率分布:

  1. 分布 P P P 是一个标准正态分布 N ( 0 , 1 ) \mathcal{N}(0, 1) N(0,1)
  2. 分布 Q Q Q 是一个正态分布 N ( 1 , 1 ) \mathcal{N}(1, 1) N(1,1) ,即均值为1,方差为1。
问题:计算这两个分布的一阶Wasserstein距离 W 1 ( P , Q ) W_1(P, Q) W1(P,Q)

步骤 1:定义Wasserstein距离公式

在一维情况下,如果我们有两个连续分布 P P P Q Q Q累积分布函数(CDF) F P F_P FP F Q F_Q FQ,则一阶Wasserstein距离 W 1 ( P , Q ) W_1(P, Q) W1(P,Q) 可以通过下面的公式计算:

W 1 ( P , Q ) = ∫ − ∞ + ∞ ∣ F P ( x ) − F Q ( x ) ∣ d x W_1(P, Q) = \int_{-\infty}^{+\infty} |F_P(x) - F_Q(x)| \, dx W1(P,Q)=+FP(x)FQ(x)dx

这里的 F P ( x ) F_P(x) FP(x) F Q ( x ) F_Q(x) FQ(x) 分别是 P P P Q Q Q 的累积分布函数。

步骤 2:累积分布函数 (CDF) 的计算

对于正态分布 N ( μ , σ 2 ) \mathcal{N}(\mu, \sigma^2) N(μ,σ2),它的累积分布函数 F μ , σ ( x ) F_{\mu, \sigma}(x) Fμ,σ(x) 是:

F μ , σ ( x ) = 1 2 [ 1 + erf ( x − μ 2 σ ) ] F_{\mu, \sigma}(x) = \frac{1}{2} \left[ 1 + \text{erf} \left( \frac{x - \mu}{\sqrt{2} \sigma} \right) \right] Fμ,σ(x)=21[1+erf(2 σxμ)]

其中 erf ( x ) \text{erf}(x) erf(x) 是误差函数。

对于我们的两个分布:

  • F P ( x ) = F 0 , 1 ( x ) F_P(x) = F_{0, 1}(x) FP(x)=F0,1(x) 是标准正态分布的CDF。
  • F Q ( x ) = F 1 , 1 ( x ) F_Q(x) = F_{1, 1}(x) FQ(x)=F1,1(x) 是均值为1,方差为1的正态分布的CDF。

我们可以将这两个CDF代入公式,并计算它们的差的绝对值。

步骤 3:具体计算

在一维正态分布的情况下,Wasserstein距离可以通过累积分布函数的特性简化计算。对于两个正态分布 P ∼ N ( 0 , 1 ) P \sim \mathcal{N}(0, 1) PN(0,1) Q ∼ N ( 1 , 1 ) Q \sim \mathcal{N}(1, 1) QN(1,1),Wasserstein-1距离 W 1 ( P , Q ) W_1(P, Q) W1(P,Q) 有一个封闭形式的解。

一维正态分布的Wasserstein-1距离可以通过均值之间的差值来直接计算:

W 1 ( P , Q ) = ∣ μ P − μ Q ∣ W_1(P, Q) = |\mu_P - \mu_Q| W1(P,Q)=μPμQ

在这个例子中:

  • μ P = 0 \mu_P = 0 μP=0 (标准正态分布的均值)
  • μ Q = 1 \mu_Q = 1 μQ=1 N ( 1 , 1 ) \mathcal{N}(1, 1) N(1,1) 的均值)

因此:

W 1 ( P , Q ) = ∣ 0 − 1 ∣ = 1 W_1(P, Q) = |0 - 1| = 1 W1(P,Q)=∣01∣=1

结论

对于这两个一维连续正态分布 P = N ( 0 , 1 ) P = \mathcal{N}(0, 1) P=N(0,1) Q = N ( 1 , 1 ) Q = \mathcal{N}(1, 1) Q=N(1,1),它们的一阶Wasserstein距离 W 1 ( P , Q ) = 1 W_1(P, Q) = 1 W1(P,Q)=1

一些拓展

  • 二阶Wasserstein距离(Wasserstein-2 distance) 在高斯分布之间也有封闭形式的解。对于两个正态分布 N ( μ P , σ P 2 ) \mathcal{N}(\mu_P, \sigma_P^2) N(μP,σP2) N ( μ Q , σ Q 2 ) \mathcal{N}(\mu_Q, \sigma_Q^2) N(μQ,σQ2),Wasserstein-2距离的公式是:

    W 2 ( P , Q ) = ( μ P − μ Q ) 2 + ( σ P − σ Q ) 2 W_2(P, Q) = \sqrt{(\mu_P - \mu_Q)^2 + (\sigma_P - \sigma_Q)^2} W2(P,Q)=(μPμQ)2+(σPσQ)2

    这结合了均值和方差之间的差异。

  • 对于更复杂的分布,我们可能需要数值方法来计算Wasserstein距离,例如通过对最优传输问题进行数值优化。

总的来说,Wasserstein距离为我们提供了一种在概率空间中衡量分布之间差异的有效工具,特别是在涉及均值、方差以及分布形状的场景中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/55913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gpt为什么可以依据上下文来回答问题,依据的是什么原理

GPT 可以依据上下文回答问题,主要依据以下几个原理: Transformer 架构: 并行计算与长距离依赖处理:Transformer 架构摒弃了传统的递归神经网络和长短时记忆网络的序列依赖处理方式,具有并行计算的能力。它可以同时处理…

洞察AI趋势:智享AI直播,打造专属你的数字化直播AIGC系统!

洞察AI趋势:智享AI直播,打造专属你的数字化直播AIGC系统! 在当今这个日新月异的数字时代,人工智能(AI)已不再是遥不可及的未来科技,而是正深刻改变着我们生活、工作的每一个角落。其中&#xf…

[ROS2]解决PyQt5和sip的各种报错问题 stderr: qt_gui_cpp

前言 编译ros环境的时候遇到了qt_gui_cpp各种编译问题,但是鉴于网上解决方法基本没有,故记录下来帮助后来者。整篇文章总结下来就是一句话:PyQt5和sip安装过程或安装版本有问题,需要重新安装。 问题与解决方法 如果PyQt5你是正…

DAMA数据管理知识体系(第12章 元数据管理)

课本内容 12.1 引言 图12-1 语境关系图:元数据概念理解 元数据的信息范围很广,不仅包括技术和业务流程、数据规则和约束,还包括逻辑数据结构与物理数据结构等。它描述了数据本身(如数据库、数据元素、数据模型)&#x…

女性议题,正在成为喜综困境?

《脱口秀和Ta的朋友们》(以下简称《脱友》)与《喜剧之王单口季》(以下简称《喜单》)两档喜综的对垒,竟然意外走向了同一个落点:对女性视角的收割。 #杨笠 这是血肉在疯长的声音# #杨笠 不是敢说是不知道这…

滚雪球学MySQL[8.3讲]:数据库中的JSON与全文检索详解:从数据存储到全文索引的高效使用

全文目录: 前言8.3 JSON与全文检索1. JSON数据类型的使用1.1 JSON 数据类型概述1.2 JSON 数据的插入与查询1.3 JSON 常用函数与操作1.4 JSON使用的优缺点与性能考虑 2. 全文索引与全文检索2.1 全文索引概述2.2 全文检索的使用2.3 全文检索模式2.4 全文索引优化与性能…

react-问卷星项目(4)

项目实战 使用CSS 尽量不要使用内联CSS 内联style代码多&#xff0c;性能差&#xff0c;扩展性差外链css文件可复用代码&#xff0c;可单独缓存文件 元素内联style 和HTMl元素的style相似必须用JS写法&#xff0c;不能是字符串&#xff0c;里面必须是对象 <span style…

洛谷P5648

洛谷P5648 这题花了很长时间&#xff0c;是在线段树题单里找到的&#xff08; &#xff09;。有线段树做法&#xff0c;但是我感觉可能比倍增做法更难看懂。以后有空再看看吧。感觉线段树现在只会板子题&#xff0c;绿稍微难点可能就不会。 花了很久时间之后&#xff0c;就觉得…

【YOLO学习】YOLOv5口罩检测实战

文章目录 1. 环境配置2. 下载代码3. 安装库3.1 安装pytorch3.2 安装其他库 4. 测试5. 数据标注6. 模型训练6.1 一些修改6.2 训练 7. 界面可视化 1. 环境配置 1. 先参考其他文章安装 Anaconda 或者 Miniconda&#xff0c;我安装的是 Miniconda。 2. 更换国内源&#xff0c;以加快…

LLM详解

一 定义 Large Language Model&#xff0c;称大规模语言模型或者大型语言模型&#xff0c;是一种基于大量数据训练的统计语言模型&#xff0c;可用于生成和翻译文本和其他内容&#xff0c;以及执行其他自然语言处理任务&#xff08;NLP&#xff09;&#xff0c;通常基于深度神…

vue 的属性绑定

双大括号不能在 HTML attributes 中使用。想要响应式地绑定一个 attribute&#xff0c;应该使用 v-bind 指令。 <template> <div v-bind:class"boxClass" v-bind:id"boxId"> </div> </template><script> export default{da…

VNC轻松连接远程Linux桌面

Linux配置VNC&#xff08;以RedHat、CentOS为例&#xff09; 说明&#xff1a; Linux平台安装VNCServer Windows平台使用VNC-Viewer 1.在Linux平台安装VNCServer服务端软件包。 yum -y install vnc *vnc-server*2.修改VNCServer主配置文件 vi /etc/sysconfig/vncservers复制…

【Redis】Set类型的常用命令与应用场景

目录 1.命令小结 2.命令解析 3.编码方式与应用场景 1.命令小结 &#xff08;1&#xff09;set的特点 1&#xff09;set中存放的数据也都是String类型 2&#xff09;set集合中的元素是无须的 3&#xff09;set集合中的元素是唯一的&#xff0c;不可重复 &#xff08;2&a…

RISC-V开发 linux下GCC编译自定义指令流程笔记

第一步&#xff1a;利用GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言 第二步&#xff1a;利用RSIC-V的中的.insn模板进行自定义指令的插入 第三步&#xff1a;RISC-V开发环境的搭建 C语言插入汇编 GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言语句方便了…

在树莓派上部署安装OAK

OAK设备可以与微型主机&#xff08;例如树莓派&#xff09;进行连接&#xff0c;在树莓派上安装DepthAI, 需要安装相关依赖Dependencies并且可以通过pip安装Depthai Library. DepthAI Library 在PyPi上对树莓派有预构建的 wheels 使用预配置的树莓派OS 镜像 我们提供预安装了D…

期权懂|面对期权下跌该如何操作呢?

本期让我懂 你就懂的期权懂带大家来了解&#xff0c;面对期权下跌该如何操作呢&#xff1f;有兴趣的朋友可以看一下。期权小懂每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 面对期权下跌该如何操作呢&#xff1f; 首先我们需要保持冷静…

Zotero插件指南:20个工具让你的学术生活更简单

以下插件排序按照星标量进行排序&#xff0c;常用的插件大概是前20的样子&#xff0c;可以根据自己的需求进行插件的安装。 顺带提一句&#xff0c;插件不是越多越好&#xff0c;装多了可能会出现软件卡顿的情况。 1、Scholaread for Zotero 插件下载&#xff1a;插件下载 …

Linux文件权限与用户管理详解:权限、所属用户组和所有者的变更

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

HTB:Markup[WriteUP]

目录 连接至HTB服务器并启动靶机 1.What version of Apache is running on the targets port 80? 2.What username:password combination logs in successfully? 使用Yakit并使用TOP1000字典对密码进行爆破 3.What is the word at the top of the page that accepts use…

以光塑形:光固化3D打印机原理图文解析

公众号端&#xff1a; 光固化打印机介绍https://mp.weixin.qq.com/s?__bizMzkwMjc0MTE3Mw&mid2247484073&idx1&sn0d0fd026b373b06cd7c340ec8f56a006&chksmc0a1af73f7d62665a632baebbde4e5e00ffb9c6bd31bf547b4a86855d5524535619a6175a428#rd 光固化打印机…