wasserstein distance简单记录

news2024/10/7 10:16:38

W a s s e r s t e i n Wasserstein Wasserstein d i s t a n c e distance distance一般被称为推土距离,假设有两个分布 P ( x ) P(x) P(x) Q ( y ) Q(y) Q(y) ,两个分布间的推土距离为: W ( P , Q ) = inf ⁡ γ ∈ Π ( P , Q ) E ( x , y ) [ ∥ x − y ∥ ] W(P, Q)=\inf _{\gamma \in \Pi(P, Q)} \mathbb{E}_{(x, y)}[\|x-y\|] W(P,Q)=γΠ(P,Q)infE(x,y)[xy]公式中的 Π ( P , Q ) \Pi(P, Q) Π(P,Q)表示 P P P Q Q Q的联合概率分布的集合, ∥ x − y ∥ \|x-y\| xy表示待移动土块 x x x所在位置到目的土块 y y y所在位置的距离(距离的计算方式有很多种), i n f inf inf表示求最小值。

第一次看这个公式的时候,有个疑问是既然给定 P P P Q Q Q之后, P P P Q Q Q之间的概率分布不是确定了吗?为什么还会存在 P P P Q Q Q的概率分布集合?

在概率论中,如果我们有两个随机变量 X X X Y Y Y,它们的联合概率分布是确定的,因为它描述了 X X X Y Y Y同时发生的概率。然而,在 W a s s e r s t e i n Wasserstein Wasserstein距离的计算中,我们并不是在讨论两个随机变量的联合概率分布,而是在寻找一个联合概率分布,使得它的边缘分布分别等于给定的两个概率分布 P P P Q Q Q,并且使得某种成本(例如,所有可能的配对之间的距离的期望值)最小。

这个问题被称为最优传输问题或者Earth Mover’s Distance问题。在这个问题中,我们可以想象 P P P Q Q Q分别代表了两堆土,我们的目标是找到一种最经济的方式,将 P P P堆的土移动到 Q Q Q堆的位置。在这个过程中,我们可以有无数种可能的移动策略,每种策略都对应了一个联合概率分布,这个联合概率分布描述了从 P P P堆的每个位置到 Q Q Q堆的每个位置的移动概率。我们的目标是找到一种移动策略,使得移动的总成本最小,这就是为什么在 W a s s e r s t e i n Wasserstein Wasserstein距离中,我们需要在所有可能的联合概率分布中寻找最优的那一个。

看了上面,可能还是不懂,联合概率分布是怎么对应一个移动策略的?下面通过一个简单例子来说明一下联合概率分布怎么对应移动策略。

假定 Q Q Q分布和 P P P分布如下所示:
在这里插入图片描述

现在演示将 P P P移动成 Q Q Q的一种方法,并使用一个表格记录移动过程:

  • 第一步:移动 y 1 y_1 y1,如下所示:
    在这里插入图片描述对应的表格记录为:

    搬运过程Q
    x1x2x3x4x5
    23450
    Py1321000
    y2500000
    y3200000
    y4100000
    y5300000

    表格的意思是将 P P P y 1 y_1 y1 的两份土搬运到 x 1 x_1 x1,将 y 1 y_1 y1的一份土搬运到 x 2 x_2 x2,这时候 y 1 y_1 y1的土搬运完毕;

  • 第二步:移动 y 2 y_2 y2,如下所示:
    在这里插入图片描述
    对应的表格记录为:

    搬运过程Q
    x1x2x3x4x5
    23450
    Py1321000
    y2502300
    y3200000
    y4100000
    y5300000

    表格的意思是将 P P P y 2 y_2 y2 的两份土搬运到 x 2 x_2 x2,将 y 2 y_2 y2的三份土搬运到 x 3 x_3 x3,这时候 y 2 y_2 y2的土搬运完毕;

  • 第三步:移动 y 3 y_3 y3,如下所示:
    在这里插入图片描述
    对应的表格记录为:

    搬运过程Q
    x1x2x3x4x5
    23450
    Py1321000
    y2502300
    y3200110
    y4100000
    y5300000

    表格的意思是将 P P P y 3 y_3 y3 的一份土搬运到 x 3 x_3 x3,将 y 3 y_3 y3的一份土搬运到 x 4 x_4 x4,这时候 y 3 y_3 y3的土搬运完毕;

  • 第四步:移动 y 4 y_4 y4,如下所示:
    在这里插入图片描述
    对应的表格记录为:

    搬运过程Q
    x1x2x3x4x5
    23450
    Py1321000
    y2502300
    y3200110
    y4100010
    y5300000

    表格的意思是将 P P P y 4 y_4 y4的一份土搬运到 x 4 x_4 x4,这时候 y 4 y_4 y4的土搬运完毕;

  • 第五步:移动 y 5 y_5 y5,如下所示:
    在这里插入图片描述
    对应的表格记录为:

    搬运过程Q
    x1x2x3x4x5
    23450
    Py1321000
    y2502300
    y3200110
    y4100010
    y5300030

    表格的意思是将 P P P y 5 y_5 y5的三份土搬运到 x 4 x_4 x4,这时候 y 5 y_5 y5的土搬运完毕;

通过上面的例子,我们知道了将 P P P搬运成 Q Q Q的一种策略,那么这种策略怎么和联合概率分布联系起来呢?注意我们在搬运过程中得到了一个表格。如下所示:

搬运过程Q
x1x2x3x4x5
23450
Py1321000
y2502300
y3200110
y4100010
y5300030

在搬运过程中 P P P中所有土的数量为 3 + 5 + 2 + 1 + 3 = 14 3+5+2+1+3=14 3+5+2+1+3=14我们将14作为分母放进表格中可以得到:

搬运过程Q
x1x2x3x4x5
23450
Py132/141/14000
y2502/143/1400
y32001/141/140
y410001/140
y530003/140

现在在回过头来看这个表格,是不是看着和联合概率分布很像了。所以说一种移动策略对应一种联合概率分布,我们需要得到的是使得距离之和最小的一个概率分布。我们可以有很多种移动策略,对应于公式中的联合概率分布集合 Π ( P , Q ) \Pi(P, Q) Π(P,Q),我们需要做的是在这么多种联合概率分布中找到一个最符合条件的,在 W a s s e r s t e i n Wasserstein Wasserstein距离中就是使得距离之和最小的联合概率分布。

所以我们可以理解 W a s s e r s t e i n Wasserstein Wasserstein距离为求解带约束的最优化问题,我们可以通过数学方法来求解得到最优的联合概率分布值。

这是我暂时对于 W a s s e r s t e i n Wasserstein Wasserstein距离的理解,如果有错误很抱歉。

参考资料:还看不懂Wasserstein Distance吗?看看这篇。

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

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

相关文章

深度学习trick

本次Tricks主要面向于深度学习中计算机视觉方向的研究,分为数据增广方法、训练技巧,参数调节这三个方面进行深入的分析。内容有一部分是基于openmmlab的mmdet和mmseg两个框架上的成熟应用案例进行详细阐述。 首先是数据增广的tricks: 0、Fli…

【Java基础教程】(十八)包及访问权限篇 · 下:Java编程中的权限控制修饰符、单例设计模式 (Singleton)和多例设计模式的综合探析~

Java基础教程之包及访问权限 下 本节学习目标1️⃣ 访问控制权限2️⃣ 命名规范3️⃣ 单例设计模式 (Singleton)4️⃣ 多例设计模式 本节学习目标 掌握Java 中的4种访问权限;掌握Java 语言的命名规范;掌握单例设计模式与多例设计模式的定义结构&#x…

【HISI IC萌新虚拟项目】cpu_if的接口cpu_agent utils搭建

关于整个虚拟项目,请参考: 【HISI IC萌新虚拟项目】Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客 前言 spt_agent utils已经完成了(虽然之后可能还会有微调),接下来完成配置通路cpu interface对应的utils。这个通路比较特殊,一是带反馈的接口,二是时…

Android 通过插桩来代理线程池

前言 在日常开发App的过程中,难免需要依赖第三方Sdk,这样就无形中增加了我们自己App的线程数,从而会导致App出现内存溢出、Cpu消耗增加等等负面影响。如果依赖的Sdk提供了线程池代理的接口还好,那样直接设置我们自定义的线程池。但…

密码学学习笔记(十五):ECDSA - 椭圆曲线数字签名算法

椭圆曲线数字签名算法是DSA的一种椭圆曲线变体,它发明的初衷只是避免使用Schnorr签名的专利。椭圆曲线数字签名算法依赖于验证器中的私钥和主机用于验证验证器的公钥。它的缺点和DSA一样,它也没有提供安全性证明。 椭圆曲线算法 DSS(数字签…

工作空间内各文件夹解析

src文件夹用来存放源代码 launch文件夹用来存放一个或多个ros节点启动文件 msg文件夹包含用户定制化消息的定义 srv文件夹包含各种服务的定义 action文件夹包含动作文件 package.xml是软件包清单文件 Cmakelists.txt文件包含编译软件包的各类指令

面试官: 说一下你做过哪些性能优化?

前言 如果你已经有 2 - 3 年以上开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了,下面是我自己总结的一套通用级别的 Android 性能优化。 如果你正在找工作, 那么你需要一份 Android 高级开发面试宝典 1、 你对 APP 的启动有过研究吗? 有做过…

Spring解决数据乱码问题-spring21

乱码数据实际情况: 都出现了?????? 怎么解决: 第一步,找到web.xml配置文件。 改成name控制台就不出来了 如何解决地址方法与Controller业务参数名称不一致的情况&#xf…

Linux 之 基本工具(一)

一、粘滞位 1.背景 在现实生活中,有很多人会在同一台云服务器上共同工作,会出现这些人的某些文件需要保存但又不想保存在各自的家目录下且这些文件需要共给其他一同工作的同事共享(可查阅)的情况,则需要将这些文件保…

Mysql表锁与行锁

Mysql锁实战 前言:什么是锁一:全局锁1.1 概念1.2 作用1.3 使用1.4 特点 二:表级锁2.1 概念2.2 分类2.2.1 表锁2.2.2 元数据锁 MDL2.2.3 意向锁 三:行级锁3.1 行锁(Record Lock)3.2 间隙锁(Gap Lock)3.3 临键锁(Next-Key Lock): 四…

redis乐观锁概念

乐观锁(又名乐观并发控制,Optimistic Concurrency Control,缩写“OCC”),是一种并发控制的方法。它假设多用户并发的事务在处理时不会彼此互相影响,各事务能够在不产生锁的情况下处理各自影响的那部分数据。…

Ubuntu下安装、配置及重装CUDA教程

安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例: 查看显卡驱动 nvidia-smi如果显卡驱动已经装了,那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…

如何设计一个完美的复杂业务系统架构?

1 什么是复杂系统 我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了两…

字幕切分视频

Whisper 仓库地址: https://github.com/openai/whisper 可用模型信息: 测试视频:18段,总共447S视频(11段前:有11段开头有停顿的视频) Tiny: 跑完:142S ,11段前&#xf…

微服务sleuth+zipkin——链路追踪

一、链路追踪🍉 1.什么是链路追踪?🥝 在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要…

深入理解Java虚拟机(二)Java内存区域与内存溢出异常

一、前言 对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是因为Java程序…

IEC 103/104

IEC101 串口通信 串口远动协议 控制区和数据区,(信息体地址,装置地址等) IEC102 电量采集 IEC103 保护设备的通信 串口 实时监测 各种故障 103协议就是用来保护装置和后台监控进行通信的。 IEC104 调度自动化系统、厂站之间的通讯 网络 帧里面多了…

Ansible Playbook剧本配置文件

一、执行文件 Playbook配置文件使用YAML语法,具有简 洁明了,结构清晰等特点。Playbook配置文件类似于shell脚本,是一个YAML格式的文件,用于保存针对特定需求的任务列表,前面介绍的ansible命令虽然可以完成各种任务&a…

学习记录——SAM、SPM

Segment Anything Model(SAM) 能分割一切的模型 2023 SAM是一个提示型模型,其在1100万张图像上训练了超过10亿个掩码,实现了强大的零样本泛化。许多研究人员认为「这是 CV 的 GPT-3 时刻,因为 SAM 已经学会了物体是什…

EFLFK——ELK日志分析系统+kafka+filebeat架构(有乌云的天反而是最美的)

文章目录 1.修改filebeat配置文件filebeat.yml收集日志转发(生产)给kafka2.修改logstash配置从kafka中消费日志,并输出到kibana前端展示 在ELFK的基础上,添加kafka做数据缓冲 附kafka消息队列 nginx服务器配置filebeat收集日志&am…