【机器学习:欧氏距离 】机器学习中欧氏距离的理解和应用

【机器学习:欧氏距离 】机器学习中欧氏距离的理解和应用

    • 距离公式
    • 二维
    • 更高的维度
    • 点以外的物体
    • 属性
    • 欧几里得距离的平方
    • 概括
    • 历史

在数学中,'欧氏距离’是指欧氏空间中任意两点之间的直线距离。这种距离可以通过应用勾股定理来计算,利用两点的笛卡尔坐标确定它们之间的直线距离,因此有时被称为‘勾股定理距离’。

这些名字来自古希腊数学家欧几里得和毕达哥拉斯。在以欧几里得几何原理为代表的希腊演绎几何中,距离并不表示为数字,而是相同长度的线段被认为是“相等的”。距离的概念是用于绘制圆的圆规工具中固有的,圆的所有点到公共中心点的距离都相同。毕达哥拉斯定理与距离计算的联系直到 18 世纪才建立起来。

两个非点对象之间的距离通常定义为距两个对象的点对之间的最小距离。众所周知,公式用于计算不同类型对象之间的距离,例如从点到线的距离。在高等数学中,距离的概念已被推广到抽象的度量空间,并且已经研究了欧几里得以外的其他距离。在统计和优化的某些应用中,使用欧几里德距离的平方而不是距离本身。

使用勾股定理计算二维欧氏距离

使用勾股定理计算二维欧氏距离

距离公式

实线上任意两点之间的距离是它们坐标数值差的绝对值,即它们的绝对差。因此,如果 p p p q q q是实线上的两点,则它们之间的距离由以下公式给出:

d ( p , q ) = ∣ p − q ∣ d(p, q) = |p-q| d(p,q)=pq

一个更复杂的公式,给出相同的值,但更容易推广到更高的维度,是:

d ( p , q ) = ( p − q ) 2 d(p, q) = \sqrt{(p-q)^2} d(p,q)=(pq)2

在此公式中,先平方再开平方会使任何正数保持不变,但用其绝对值替换任何负数。

二维

在二维欧氏空间中,假设点p的笛卡尔坐标为 ( p 1 , p 2 ) (p_1, p_2) (p1,p2),点q的坐标为 ( q 1 , q 2 ) (q_1, q_2) (q1,q2)。然后 p p p q q q之间的距离由下式给出:

d ( p , q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 d(p, q) = \sqrt{(p_1-q_1)^2+(p_2-q_2)^2} d(p,q)=(p1q1)2+(p2q2)2

这个距离的计算可以通过将勾股定理应用于一个直角三角形,其中p到q的线段是斜边,而其余两边分别平行于坐标轴平方根内的两个平方公式给出水平边和垂直边上的正方形面积,外平方根将斜边上的正方形面积转换为斜边的长度。

同样,我们也可以计算出两点在极坐标系中的欧氏距离。如 p p p的极坐标是 ( r , θ ) (r, \theta) (r,θ) q q q的极坐标 ( s , ψ ) (s, \psi) (s,ψ)是 ,则它们的距离由余弦定律[2]给出:

d ( p , q ) = r 2 + s 2 − 2 r s cos ⁡ ( θ − ψ ) d(p, q) = \sqrt{r^2+s^2-2rs\cos{(\theta-\psi)}} d(p,q)=r2+s22rscos(θψ)

When p p p and q q q are expressed as complex numbers in the complex plane, the same formula for one-dimensional points expressed as real numbers can be used, although here the absolute value sign indicates the complex norm:[4]

d ( p , q ) = ∣ p − q ∣ d(p, q) = |p-q| d(p,q)=pq

更高的维度

在三维欧氏空间中,如果点的位置由笛卡尔坐标给出,那么两点之间的距离可以表示为

d ( p , q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 + ( p 3 − q 3 ) 2 d(p, q) = \sqrt{(p_1-q_1)^2+(p_2-q_2)^2 + (p_3-q_3)^2} d(p,q)=(p1q1)2+(p2q2)2+(p3q3)2

通常,对于在维欧几里得空间中由笛卡尔坐标给出的点,距离为。

d ( p , q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 + ⋯ + ( p n − q n ) 2 d(p, q) = \sqrt{(p_1-q_1)^2+(p_2-q_2)^2 +\dots + (p_n-q_n)^2} d(p,q)=(p1q1)2+(p2q2)2++(pnqn)2
欧几里得距离也可以用欧几里得向量差的欧几里得范数更紧凑地表示:

d ( p , q ) = ∣ ∣ p − q ∣ ∣ d(p, q) = ||p-q|| d(p,q)=∣∣pq∣∣

在这里插入图片描述

通过反复应用勾股定理推导-维欧几里得距离公式

点以外的物体

对于不是两个点的对象对,距离可以最简单地定义为两个对象之间任意两点之间的最小距离,尽管通常使用从点到集合的更复杂的概括,例如豪斯多夫距离。用于计算不同类型对象之间距离的公式包括:

  • 在欧几里得平面中,从点到线的距离。
  • 三维欧几里得空间中从点到平面的距离。
  • 三维欧几里得空间中两条线之间的距离。

从点到曲线的距离可用于定义其平行曲线,另一条曲线的所有点与给定曲线的距离相同。

属性

欧几里得距离是度量空间中距离的典型示例,它遵循度量空间的所有定义属性:

  • 它是对称的,这意味着对于所有点 p p p q q q d ( p , q ) = d ( q , p ) d(p, q)=d(q, p) d(p,q)=d(q,p).也就是说(与单行道的道路距离不同),两点之间的距离不取决于两点中的哪一点是起点,哪一点是终点。
  • 它是正数,这意味着每两个不同点之间的距离是一个正数,而从任何一点到自身的距离为零。
  • 它服从三角形不等式:每三点 p p p q q q r r r d ( p , q ) + d ( q , r ) ≥ d ( p , r ) d(p, q)+d(q, r)\geq d(p, r) d(p,q)+d(q,r)d(p,r) 。直观地说,从 p p p经过 q q q r r r 旅行不会比直接从 p p p r r r旅行短。

另一个性质,托勒密不等式,涉及四点之间的欧几里得距离 p p p q q q r r r s s s 。它指出

d ( p , q ) ⋅ d ( r , s ) + d ( q , r ) ⋅ d ( p , s ) ≥ d ( p , r ) ⋅ d ( q , s ) d(p, q)\cdot d(r, s) + d(q, r)\cdot d(p, s) \geq d(p, r)\cdot d(q,s) d(p,q)d(r,s)+d(q,r)d(p,s)d(p,r)d(q,s)

对于平面中的点,这可以改写为,对于每个四边形,四边形相对边的乘积之和至少与其对角线的乘积一样大。然而,托勒密不等式更普遍地适用于欧几里得空间中任何维度的点,无论它们是如何排列的。对于度量空间中不是欧几里得空间的点,这种不等式可能不是真的。欧几里得距离几何研究欧几里得距离的性质,例如托勒密不等式,以及它们在测试给定距离集是否来自欧几里得空间中的点中的应用。

根据贝克曼-夸尔斯定理,欧几里得平面或保持单位距离的高维欧几里得空间的任何变换都必须是等距,保留所有距离。

欧几里得距离的平方

在许多应用中,特别是在比较距离时,在计算欧几里得距离时省略最终平方根可能更方便,因为平方根不会改变顺序(当且仅当)。由此省略产生的值是欧几里得距离的平方,称为欧几里得距离的平方。例如,欧几里得最小生成树可以仅使用距离之间的排序来确定,而不能使用它们的数值。比较平方距离会产生相同的结果,但避免了不必要的平方根计算并回避了数值精度问题。作为一个方程,距离的平方可以表示为平方和:

d 2 ( p , q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 + ⋯ + ( p n − q n ) 2 d^2(p, q) = (p_1-q_1)^2+(p_2-q_2)^2 +\dots + (p_n-q_n)^2 d2(p,q)=(p1q1)2+(p2q2)2++(pnqn)2

除了应用于距离比较之外,平方欧几里得距离在统计学中也具有核心重要性,它被用于最小二乘法,这是一种通过最小化观测值和估计值之间的平方距离平均值来将统计估计拟合到数据的标准方法,并且是比较概率分布的最简单的散度形式。彼此之间的平方距离相加,就像在最小二乘拟合中所做的那样,对应于称为勾股加法的(非平方)距离运算。在聚类分析中,可以使用平方距离来增强较长距离的效果。

平方欧几里得距离不形成度量空间,因为它不满足三角形不等式。然而,它是两点的光滑、严格凸函数,与距离不同,距离是非光滑的(靠近相等的点对)和凸但不严格凸的。因此,平方距离在优化理论中是首选,因为它允许使用凸分析。由于平方是非负值的单调函数,因此最小化平方距离等价于最小化欧几里得距离,因此优化问题在两者方面都是等价的,但使用平方距离更容易求解。

有限集合中点对之间的所有平方距离的集合可以存储在欧几里得距离矩阵中,并以这种形式用于距离几何。

在这里插入图片描述

圆锥体,平面中距原点的欧几里得距离图

在这里插入图片描述

抛物面,与原点的平方欧几里得距离图

概括

在更高级的数学理论中,当把欧氏空间视为一个向量空间时,点之间的距离与一种特殊的范数欧氏范数密切相关。,该范数定义为每个向量与原点的距离。相对于其他规范,该规范的一个重要特性是,在围绕原点的空间任意旋转下,它保持不变。根据德沃雷茨基定理,每个有限维范数向量空间都有一个高维子空间,其范数近似于欧几里得;欧几里得范数是具有此性质的唯一范数。它可以扩展到无限维向量空间,如 L 2 L^2 L2范数或 L 2 L^2 L2距离。欧几里得距离为欧几里得空间提供了拓扑空间的结构,即欧几里得拓扑,以开放球(距给定点小于给定距离的点的子集)作为其邻域。

实坐标空间和函数空间中的其他常见距离:

切比雪夫距离( L ∞ L^\infty L 距离),它测量距离作为每个坐标中距离的最大值。

出租车距离( L 1 L^1 L1距离),也称为曼哈顿距离,它以每个坐标中距离的总和来衡量距离。

闵可夫斯基距离( L p L^p Lp 距离),一种统一欧几里得距离、出租车距离和切比雪夫距离的概括。

对于三维曲面上的点,应将欧几里得距离与测地线距离区分开来,测地线距离是属于曲面的最短曲线的长度。特别是,为了测量地球或其他球形或近球面上的大圆距离,已使用的距离包括哈弗正弦距离,给出球体上两点之间的大圆距离,从它们的经度和纬度,以及文森特公式也称为“文森特距离”,表示椭球体上的距离。

在这里插入图片描述

棋盘上 3-4-5 三角形斜边的切比雪夫、欧几里得和出租车距离的比较

历史

欧几里得距离是欧几里得空间中的距离。这两个概念都以古希腊数学家欧几里得的名字命名,他的《元素》在许多世纪以来成为几何学的标准教科书。长度和距离的概念在各种文化中都很普遍,可以追溯到公元前四千年(远在欧几里得之前)苏美尔现存最早的“原始文盲”官僚文件,并且据推测在儿童中发展的时间早于相关的速度和时间概念。但是,距离的概念,作为从两点定义的数字,实际上并没有出现在欧几里得的元素中。相反,欧几里得通过线段的同余、线段长度的比较以及比例性的概念,隐含地接近了这个概念。

毕达哥拉斯定理也很古老,但只有在勒内·笛卡尔于 1637 年发明笛卡尔坐标后,它才能在距离测量中发挥核心作用。距离公式本身由亚历克西斯·克莱劳特(Alexis Clairaut)于1731年首次发表。由于这个公式,欧几里得距离有时也称为勾股距离。尽管自古以来,许多文化中就再次研究了地球表面长距离的精确测量,这些距离不是欧几里得的(见大地测量学的历史),但欧几里得距离可能不是测量数学空间中点之间距离的唯一方法的想法甚至更晚,随着 19 世纪非欧几里得几何的表述。欧几里得范数和三维以上几何的欧几里得距离的定义也最早出现在 19 世纪的奥古斯丁-路易·柯西 (Augustin-Louis Cauchy) 的著作中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AE (5)_auto exposure的驱动控制

#灵感# 有个项目,一开始驱动没配好,自动曝光乱飞。所以记下配置 参考链接:关于 bringup sensor 时,曝光时间异常的问题排查-CSDN博客 目录 确认最大曝光行: 1、曝光行配置 2、增益配置 raw 图发紫: 确…

Protobuf 编码结构

编码结构 什么是protobuf protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,可用于数据通信协议和数据存储等,它是 Google 提供的一个具有高效协议数据交换格式工具库,是一种灵活、高效和自动化机制的结构数据序列…

【Java集合篇】接上篇博文--为什么在JDK8中HashMap要转成红黑树

为什么在JDK8中HashMap要转成红黑树 ✔️为什么不继续使用链表✔️为什么是红黑树✔️红黑树的性能优势 ✔️ 拓展知识仓✔️为什么是链表长度达到8的时候转✔️为什么不在冲突的时候立刻转✔️关于为什么长度为8的时候转(源码注释解读)✔️为什么长度为6的时候转回来?✔️双向…

python实现圆圈烟花_附完整源码【第21篇—python过新年】

文章目录 前言效果图(动态)完整代码代码讲解总结寄语 前言 烟花是一种庆祝、欢庆或庆典活动中常见的美丽表现,它们以多彩的光芒和炫丽的形状为人们带来欢乐和惊喜。在这个项目中,我们将使用Python编程语言创建一个简单而有趣的程…

西电期末1025.平滑滤波

一.题目 二.分析与思路 别光看公式,读题干:“位置i的输出为距离i最近的三个输入的平均值”,再看示例,输入几个,输出几个,所以就是输出每个位置距离最近的三个输入的平均值,中间没什么问题&…

开源项目 | 完整部署流程、一款开源人人可用的开源数据可视化分析工具

📚 项目介绍 在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具,我们能够大幅提升数据分析效率、生成更高质量的项目报告,让用户通过直观的数据看到结…

企业出海数据合规:GDPR中的个人数据与非个人数据之区分

GDPR仅适用于个人数据,这意味着非个人数据不在其适用范围内。因此,个人数据的定义是一个至关重要的因素,因为它决定了处理数据的实体是否要遵守该法规对数据控制者规定的各种义务。尽管如此,什么是个人数据仍然是当前数据保护制度…

二、类与对象(四)

22 内部类 22.1 内部类的概念 如果一个类定义在另一个类的内部,这个类就叫做内部类。内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去访问内部类的成员,外部类对内部类没有任何优越的访问权限,也就是…

HarmonyOS应用开发者基础认证/HarmonyOS应用开发者高级认证

基础和高级认证的区别都是差不多,都是随机赛选的题目。 本次题目不保证完全一样,可以做些拿来练习 目录 判断题 单选题 多选题 判断题 video 组 件 可 以 ⽀ 持 本 地 视 频 路 径 和 ⽹ 络 路 径 播 放 。 播 放 ⽹ 络 视 频 时 , 需 要…

RT_Thread 调试笔记:串口打印、MSH控制台 相关

说明:记录日常使用 RT_Thread 开发时做的笔记。 持续更新中,欢迎收藏。 1.打印相关 1.打印宏定义,可以打印打印所在文件,函数,行数。 #define PRINT_TRACE() printf("-------%s:%s:%d------\r\n", __FIL…

书生浦语大模型概述

github 地址:https://github.com/InternLM/tutorial 一、大模型简介 二、书生浦语 介绍 2.1 简介 2.2 模型到应用 如上图所示,从模型到应用通过共需要经过以下4个步骤: 模型评测:选择适合自己需求的模型。 不同的大模型&#x…

将yolov8的检测框从正框修改为旋转框需要做那些修改?

将yolov8项目修改为yolov8_obb项目需要修改模型结构(增加角度预测)、dataloader(使其支持dota格式数据)、修改TaskAlignedAssigner(使其支持带角度的bbox)、修改loss(新增对角度的训练)、修改metric(将hbb指标titile修改为obb)、修改绘图代码(使其能绘制旋转框)。 …

USB -- STM32F103缓冲区描述表及USB数据存放位置讲解(续)

目录 链接快速定位 前沿 1 0x40005C00和0x40006000地址的区别和联系 2 USB_BTABLE寄存器介绍 3 USB缓冲区描述表(SRAM)介绍 3.1 发送缓冲区地址寄存器n(n[0..7]) 3.2 发送数据字节数寄存器n(n[0..7]&#xff09…

FindMy技术用于键盘

键盘是我们生活中不可或缺的输入工具,是人与计算机之间沟通的桥梁,无论是编写文档、浏览网页、玩游戏、或是进行复杂的数据分析,键盘都在其中发挥着关键的作用。此外,键盘还是各种软件的快捷键操作的关键。通过熟练地运用快捷键&a…

SpringBoot+Vue轻松实现考试管理系统

简介 本系统基于 Spring Boot 搭建的方便易用、高颜值的教学管理平台,提供多租户、权限管理、考试、练习、在线学习等功能。主要功能为在线考试、练习、刷题,在线学习。课程内容支持图文、视频,考试类型支持考试、练习、问卷。 源码下载 网…

程序性能优化全能手册

本文聊一个程序员都会关注的问题:性能。 当大家谈到“性能”时,你首先想到的会是什么? 是每次请求需要多长时间才能返回? 是每秒钟能够处理多少次请求? 还是程序的CPU和内存使用率高不高? 这些问题基本上…

专业实习day3、4(路由器做内网访问公网)

专业实习 代码 display ip interface brief 显示当前设备下所有接口IP undo IP地址支持覆盖,但是正常的命令不能覆盖必须undo(删除)掉 un in en 在做配置的过程中,设备系统一般都会出现一些提示或者告警之类的东西,从…

打造私域流量的知识付费小程序saas租户平台

当今信息爆炸的时代,知识管理已经成为了每个人必须面对的问题。然而,市面上的知识付费平台大多数都是通用的,无法满足个性化需求。 因此,明理信息科技提供了一款专属定制的适合个人的知识付费平台。核心产品能力如下:…

【kettle】pdi/data-integration 集成kerberos认证连接hdfs、hive或spark thriftserver

一、背景 kerberos认证是比较底层的认证,掌握好了用起来比较简单。 kettle完成kerberos认证后会存储认证信息在jvm中,之后直接连接hive就可以了无需提供额外的用户信息。 spark thriftserver本质就是通过hive jdbc协议连接并运行spark sql任务。 二、…