【数据挖掘】机器学习中相似性度量方法-切比雪夫距离

写在前面:
首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。

路虽远,行则将至;事虽难,做则必成。只要有愚公移山的志气、滴水穿石的毅力,脚踏实地,埋头苦干,积跬步以至千里,就一定能够把宏伟目标变为美好现实。

“相似性度量(similarity measurement)”系列文章:、
【数据挖掘】机器学习中相似性度量方法-欧式距离
【数据挖掘】机器学习中相似性度量方法-余弦相似度
【数据挖掘】机器学习中相似性度量方法-曼哈顿距离

Hello,大家好。

继续更新"相似性度量(similarity measurement)"系列文章,今天介绍的是切比雪夫距离。多的不说,少的不唠,下面开始今天的教程。

以下内容,完全是我根据参考资料和个人理解撰写出来的,不存在滥用原创的问题。

1、切比雪夫距离

切比雪夫距离(Chebyshev Distance)是一种在向量空间或序列空间中计算两个点或序列之间相似度的度量方式。

切比雪夫距离的一个直观理解可以与国际象棋中的“王”的移动方式相联系。在国际象棋中,“王”可以往前后左右以及斜前斜后方向移动一格,因此其移动步数可以看作是棋盘上两个位置之间的切比雪夫距离。

切比雪夫距离与其他距离度量(如欧氏距离、曼哈顿距离)有所不同。它关注的是各维度上差值的最大值,而不是像欧氏距离那样关注各维度上差值的平方和。这使得切比雪夫距离在某些应用场景中具有特殊的优势。

2、计算公式

计算切比雪夫距离时,需要比较两个点或序列中每一对对应位置的元素,并计算它们的差的绝对值。然后从这些差值中取最大值作为切比雪夫距离。例如,对于序列A: [10, 20, 30]和序列B: [5, 10, 20],切比雪夫距离的计算过程为:计算差值 |10 - 5| = 5,|20 - 10| = 10,|30 - 20| = 10,然后取最大值10作为切比雪夫距离。

2.1 二维平面

二维平面两个点A( x 1 , y 1 x_ 1, y_ 1 x1,y1)和B( x 2 , y 2 x_ 2, y_ 2 x2,y2)之间的切比雪夫距离:
  d ( A , B ) = m a x ( ∣ x 1 − x 2 ∣ , ∣ y 1 − y 2 ∣ ) \ d(A,B) = max(|x_1 - x_2| , |y_1 - y_2|)  d(A,B)=max(x1x2,y1y2)

2.2 高维空间

两个向量A( x 1 , x 2 , x 3 , . . . , x n x_ 1,x_ 2, x_ 3, ..., x_ n x1,x2,x3,...,xn)和B( y 1 , y 2 , y 3 , . . . , y n y_ 1,y_ 2, y_ 3,..., y_ n y1,y2,y3,...,yn)之间的切比雪夫距离:

  d ( A , B ) = m a x ( ∣ x 1 − y 1 ∣ , ∣ x 2 − y 2 ∣ , . . . , ∣ x n − y n ∣ ) \ d(A,B) = max({|x_{1}-y_{1}|,|x_{2}-y_{2}|,...,|x_{n}-y_{n}|})  d(A,B)=max(x1y1,x2y2,...,xnyn)

3、代码实现

编写代码实现切比雪夫距离,下面是Python代码:

# -*- coding: utf-8 -*-
"""
Created on Sun Jun 16 22:19:04 2024

@author: AIexplore微信公众号
"""


import numpy as np  
  

def chebyshev_distance(X, Y):  
    """  
    计算两个点(向量)之间的切比雪夫距离。  
      
    参数:  
    X (list or numpy.ndarray): 第一个点的坐标列表或NumPy数组。  
    Y (list or numpy.ndarray): 第二个点的坐标列表或NumPy数组。  
      
    返回:  
    float: 两个点之间的切比雪夫距离。  
    """  
    # 确保两个点具有相同的维度  
    assert len(X) == len(Y), "The points must have the same dimension."  
      
    # 计算每个维度上的差的绝对值,并取最大值  
    distance = np.max(np.abs(np.array(X) - np.array(Y)))  
      
    return distance  
  
# data
A = [1, 2]  
B = [2, 6]  
print(chebyshev_distance(A, B))  # 输出应为 4
  
# data
A = np.array([1, 2, 3])  
B = np.array([2, 9, 4])  
print(chebyshev_distance(A, B))  # 输出应为 7

输出结果:

chebyshev_distance: 4
chebyshev_distance: 7

4、应用场景

切比雪夫距离越小表示两个序列或两个点之间的差异越小、相似度越高。切比雪夫距离常用于自然语言处理、信息检索和生物信息学等领域,在这些领域中,它常被用来衡量序列之间的差异或相似度。

参考文章

[1]https://blog.csdn.net/weixin_35757704/article/details/115437768
[2]https://mp.weixin.qq.com/s/g1-U59Xo7ScjscyrL61Ujw
[3]https://cloud.tencent.com/developer/article/2281505
[4]https://blog.51cto.com/u_12273822/5245220

写在最后

作者介绍:CSDN人工智能领域优质创作者,CSDN博客专家,阿里云专家博主,阿里云技术博主,有机器学习、深度学习、OCR识别项目4年以上工作经验,专注于人工智能技术领域。会根据实际项目不定期输出一些非商业的技术,内容不限,欢迎各位朋友关注。
1、关注下方公众号,让我们共同进步。
2、需要技术指导、交流合作,点击"关于我-与我联系"添加微信交流。

都看到这里了,动动发财的小手点个赞再走吧。

微信扫码关注微信公众号,发现不一样的世界。
在这里插入图片描述

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

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

相关文章

群体优化算法---电磁共振优化算法(EROA)介绍包含示例滤波器设计

介绍 电磁共振优化算法(Electromagnetic Resonance Optimization Algorithm, EROA)是一种新型的元启发式优化算法,其灵感来源于电磁共振现象。电磁共振是一种物理现象,当一个系统在特定频率下响应最大时,这个频率被称…

数据结构和算法(1) ---- Queue 的原理和实现

Queue 的定义和结构 队列(Queue) 是只允许在一端进行插入,在另一端进行删除的线性表 队列是一种先进先出(First In First Out)的线性表,简称 FIFO(First IN First OUT), 允许插入的一端称为队尾, 允许删除的一端称为队列头 队列的基本结构如下图所示&a…

使用python绘制三维曲面图

使用python绘制三维曲面图 三维曲面图三维曲面图的用途效果代码 三维曲面图 三维曲面图是一种用于展示三维数据的图表,通过一个连续的曲面来表示数据的变化情况。它通常用于可视化数学函数或实验数据的三维关系,可以非常直观地展示变量之间的复杂关系。…

大电流与小电流在检测原理上有区别吗

1 常用电流检测原理 1.1 分流器原理 被测量的电流在输入端电阻上Rshunt形成电压正比于测量电流,通过同相比例电路进行放大输出。 缺点: 输入电流减小时,需要更大的Rshunt;输入电阻Rshunt串入检测回路内将引起被测电流减小&a…

App推广告别邀请码,Xinstall助您一键触达海量用户!

在移动互联网高速发展的今天,App的推广与运营已成为每个开发者都必须面对的问题。然而,随着互联网流量的日益分散和用户需求的不断变化,传统的App推广方式已经难以满足现代市场的需求。尤其是在获取用户时,很多开发者还在采用传统…

我们是否需要AI服务器?推动人工智能繁荣发展的AI服务器

揭穿人工智能服务器的炒作 人工智能的研究已经有几十年了,早在 1960 年代,生成式人工智能就已应用于聊天机器人。然而,2022 年 11 月 30 日发布的 ChatGPT 聊天机器人和虚拟助手席卷了 IT 界,让 GenAI 成为家喻户晓的术语&#x…

(2024.6.23)最新版MAVEN的安装和配置教程(超详细)

1.什么是MAVEN Maven是一个自动化构建工具,主要用于Java项目,它由Apache软件基金会维护。Maven能够自动化完成编译、测试、打包、发布等构建过程,可以大大提高开发效率,保证项目的质量。 下面我们从几个方面来介绍一下MAVEN的功能…

字节跳动:从梦想之芽到参天大树

字节跳动掌舵人:张一鸣 2012年:梦想的起点:在一个阳光明媚的早晨,北京的一座普通公寓里,一位名叫张一鸣的年轻人坐在电脑前,眼中闪烁着坚定的光芒。他的心中有一个梦想——通过技术改变世界,让…

PHP米表域名出售管理源码带后台

源码介绍 html5米表源码PHP域名销售程序安装方法: 本站已测试,各项功能正常,功能易用,不复杂,非常适合个人米表使用 1、所有文件传至网站目录 2、浏览器执行http://你的访问网址/install 3、输入mysql帐号及密码信息,提交安装 源码截图 源码下载 …

【2024最新版】Java JDK安装配置全攻略:图文详解

目录 1. 引言2. 准备工作2.1 **确定操作系统**2.2 **检查系统要求**2.3 **下载JDK安装包**3. 安装步骤(以Windows系统为例)4. 配置环境变量4.1 jdk配置验证4.2 **配置JAVA_HOME环境变量**4.3 **配置Path环境变量**4.4 验证jdk是否配置成功 5. 结语 1. 引…

轻松重命名Windows用户Users目录下的文件夹名称

设置系统还原点 为避免设置失败,需提前准备好系统还原点以备份恢复系统。 打开系统属性: 在“系统保护”选项卡中,选择你想要保护的系统驱动器(通常是C:驱动器)。 点击“配置”按钮。 在弹出的窗口中,选…

opencascade AIS_InteractiveContext源码学习1 object display management 对象显示管理

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

20240623 每日AI必读资讯

🤖原生鸿蒙AI浓度要爆表了! - 一年一度华为开发者大会上,余承东首次揭秘“鸿蒙原生智能”Harmony Intelligence! - 华为小艺进化成系统级智能体。 - 一句话实现跨多个应用的规划和任务执行;在第三方APP上随意处理文…

NSIS 入门教程 (三)

引言 在教程的第二部分中,我们为安装程序增加了一个卸载程序,并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观,我们要启用现代用户界面。要提…

java基于ssm+jsp 社区疫情防控管理信息系统

1前台首页功能模块 社区疫情防控管理信息系统,在社区疫情防控管理信息系统可以查看首页、物品信息、论坛信息、新闻资讯、我的、跳转到后台等内容,如图1所示。 图1系统首页界面图 用户登录、用户注册,通过注册填写账号、密码、姓名、身份证、…

supOS浅度集成

一、浅度集成介绍 浅度集成是根据项目或者演示要求而做的集成工作,通过接入supOS的单点登录,UI调整,菜单栏的集成,从而达到客户使用supOS平台来使用各个应用的能力。 二、浅度集成的作用 通过较少的研发投入使APP应用浅度融入到…

密码学-密码协议之零知识证明

一、前言 零知识证明实际上一种密码协议,该协议的一方称为证明者(Prover),通常用P表示,协议的另一方是验证者(Verifier),一般用V表示。零知识证明是指P试图使V相信某个论断是正确的,但却不向V提供任何有用的信息&…

随记:内卷是什么意思?

内卷,网络流行语,原指一类文化模式达到了某种最终的形态以后,既没有办法稳定下来,也没有办法转变为新的形态,而只能不断地在内部变得更加复杂的现象。经网络流传,很多高等学校学生用其来指代非理性的内部竞…

UsersGUI.java用户界面

完成效果图: 点击阅读按钮: 点击删除按钮: 点击新建按钮: Code /* This GUI application allows users to manage their diaries: ​ Read: Users can read existing diaries. Create: Users can create new diaries. Delete: Us…

2024 年值得推荐的 10 款 iPhone 数据恢复软件

iPhone 从来都不是一个简单的打电话电话。它就像一台微型电脑,让我们互相联系、拍照、拍视频、发邮件、看文档、看书。然而,随着它成为日常生活的必需品,我们总是容易因各种原因丢失数据,如删除、恢复出厂设置、iOS 错误、文件同步…