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

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

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

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

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

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

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

相关文章

再检查下这些测试思维面试题你都会了么?

创建坐席组的功能模块,如何进行测试用例设计? 解答: 功能测试,使用等价类划分法去分析创建坐席的每个输入项的有效及无效类,同步考虑边界值去设计对应的测试用例: 先进行冒烟测试,正常创建坐席…

操作系统期末复习知识点

目录 一.概论 1.操作系统的介绍 2.特性 3.主要功能 4.作用 二.进程的描述与控制 1.进程的定义 2.特性 3.进程的创建步骤 4.基本状态转化 5.PCB的作用 6.进程与线程的比较 三.进程同步 1.同步的概念(挺重要的) 2.临界区 3.管程和进程的区…

62.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏公告类的C++还原

内容来源于:易道云信息技术研究院VIP课 上一个内容:游戏红字公告功能的逆向分析-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:0888e34878d9e7dd0acd08ef…

Redis第四讲——Redis的数据库结构、删除策略及淘汰策略

一、redis中的数据库 redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中。db数组的每项都是一个redis.h/redisDb结构,而每个redisDb结构就代表一个数据库。在初始化服务器时,程序会根据服务器状态的dbnum属性来决定应该创建多…

outlook邮件群发单显技巧?群发怎么单显?

outlook邮件群发单显如何设置?QQ邮箱怎么群发单显? 在群发邮件时,如何让每个收件人只看到自己的名字,而不是其他人的名字,这就涉及到所谓的“单显”技巧。下面蜂邮EDM就为大家揭秘Outlook邮件群发单显的奥秘。 outlo…

实战干货:用 Python 批量下载百度图片!

为了做一个图像分类的小项目,需要制作自己的数据集。要想制作数据集,就得从网上下载大量的图片,再统一处理。 这时,一张张的保存下载,就显得很繁琐。那么,有没有一种方法可以把搜索到的图片直接下载到本地电…

Spark 运行架构

Spark 框架的核心是一个计算引擎,整体来说,它采用了标准 master-slave 的结构。 如下图所示,它展示了一个 Spark 执行时的基本结构。图形中的 Driver 表示 master, 负责管理整个集群中的作业任务调度。图形中的 Executor 则是 sla…

Swift爬虫使用代理IP采集唯品会商品详情

目录 一、准备工作 二、代理IP的选择与使用 三、使用Swift编写唯品会商品爬虫 四、数据解析与处理 五、注意事项与优化建议 六、总结 一、准备工作 在开始编写爬虫之前,需要准备一些工具和库,以确保数据抓取的顺利进行。以下是所需的工具和库&…

Mac 软件出现「意外退出」及「打不开」解决方法

Mac 软件出现「意外退出」及「打不开」解决方法 软件出现意外退出及软件损坏的情况,这是因为苹果删除了TNT的证书,所以大部分TNT破解的Mac软件会出现无法打开,提示意外退出。 终端需先安装Xcode或Apple命令行工具 如未装Xcode可以使用下列命…

【算法设计与分析】分治-时间复杂度计算

目录 主定理 Master Theorem分治算法运行时间的递归表示主定理的简化形式 主定理的一般形式 递归树 Recursion Tree递归树的简单结论 主定理 Master Theorem 分治算法运行时间的递归表示 将原问题分解成 a 个子问题递归求解,每个子问题的规模是原问题的 1/b。同时子…

go-cqhttp作者停止维护——替代品OpenShamrock的使用方法

目录 前言 解决办法 配置要求 实操 刷入面具 安装lsp框架 安装OpenShamrock和QQ 注意 大功告成 前言 由于QQ官方针对协议库的围追堵截,go-cqhttp已经无力维护下去了 原文连接 QQ Bot的未来以及迁移建议 Issue #2471 Mrs4s/go-cqhttp (github.com)https…

最新GPT4.0使用教程,AI绘画,ChatFile文档对话总结+GPT语音对话使用,DALL-E3文生图

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

16.顺子日期(14)

题目 public class Main {public static boolean isLegal(String date) {int l 0;int n date.length();while(l<(n-3)) {int t1 (int)Integer.valueOf(date.substring(l,l1));int t2 (int)Integer.valueOf(date.substring(l1,l2));int t3 (int)Integer.valueOf(date.s…

FreeRTOS 实时操作系统第十二讲 - 计数信号量

一、信号量的概念 1、信号量的基本概念 消息队列是实现任务与任务或任务与中断间通信的数据结构&#xff0c;可类比裸机编程中的数组 信号量是实现任务与任务或任务与中断间通信的机制&#xff0c;可以类比裸机编程中的标志位 信号量 (semaphore) 可以实现任务与任务或任务与中…

银河麒麟Kylin-Server-V10-SP3使用ISO镜像搭建本地内网YUM/DNF源cdrom/http

机房服务器安装一般是内网环境&#xff0c;需要配置本地的YUM/DNF源。本文介绍通过ISO镜像搭建内网环境的UM/DNF源 准备工作&#xff1a; 提前准备好Kylin-Server-V10-SP3的ISO镜像文件。 本机IP地址&#xff1a;192.168.40.201 镜像存放目录/data/iso/Kylin-Server-V10-SP3-Ge…

Linux-端口、nmap命令、netstat命令

端口是设备与外界通讯交流的出入口&#xff0c;可分为物理端口和虚拟端口 物理端口实际存在可以看见&#xff0c;而虚拟端口是指计算机内部的端口&#xff0c;是不可见的&#xff0c;用来操作系统和外部交互使用。 IP地址不能锁定程序&#xff0c;所以可以通过端口&#xff0…

原生微信小程序如何动态修改svg图片颜色及尺寸、宽高(封装svgIcon组件)解决ios不显示问题

最终效果 前言 动态设置Svg图片颜色就是修改Svg源码的path中的fill属性&#xff0c; 通过wx.getFileSystemManager().readFile读取.xlsx文件 ios不显示需要把encoding设置 binary 把文件转成base64 封装svg-icon组件 1、在项目的components下新建svg-icon文件夹&#xff0c;新…

OA系统与工单系统的区别:功能、应用与优势对比

很多企业在选购系统的时候会陷入选择困难症的漩涡。市面上的各种系统&#xff0c;比如ERP系统、OA系统、工单系统等等让人眼花缭乱。想要选择一款合适的系统&#xff0c;前提是明确地知道自己需要用它来做什么&#xff0c;其次去了解每个系统的应用场景、功能等是否与自己的需求…

自动驾驶感知-预测-决策-规划-控制学习(3):感知方向文献阅读笔记

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、文章主题二、摘要阅读1.名词理解①点云是什么&#xff1f;②二维图像分割器③轻量化卷积网络提取特征④单模态表达和多模态特征融合的区别⑤基于ROS的多传感…

jetson deepstream 解码接入编码输出

不需要编解码输出画面的直接到7 使用就行 1 jetson主板编译工具 在jetson主板上安装gstreamer工具链&#xff0c;编译opencv sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-ugly gstreamer1.0-rtsp python3-dev pytho…