数学模型:十大距离

十大距离

文章目录

  • 十大距离
    • 定义
      • 1. 欧氏距离(Euclidean Distance)
      • 2. 曼哈顿距离(Manhattan Distance)
      • 3. 切比雪夫距离(Chebyshev Distance)
      • 4. 闵可夫斯基距离(Minkowski Distance)
      • 5. 标准化欧氏距离(Standardized Euclidean Distance)
      • 6. 马氏距离(Mahalanobis Distance)
      • 7. 余弦距离(Cosine Distance)
      • 8. 汉明距离(Hamming Distance)
      • 9. 杰卡德距离(Jaccard Distance)
      • 10. 相关距离(Correlation Distance)
    • 应用范围
      • 欧氏距离
      • 曼哈顿距离
      • 切比雪夫距离
      • 闵可夫斯基距离
      • 标准化欧氏距离
      • 马氏距离
      • 余弦距离
      • 汉明距离
      • 杰卡德距离
      • 相关距离

定义

1. 欧氏距离(Euclidean Distance)

欧氏距离是最常用的距离度量方法之一,它衡量的是多维空间中两点之间的直线距离。

  • 原理:对于二维平面上的两点 a=(x1,y1)a = (x_1, y_1)a=(x1,y1)b=(x2,y2)b = (x_2, y_2)b=(x2,y2),欧氏距离定义为:

d=(x1−x2)2+(y1−y2)2d = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}d=(x1x2)2+(y1y2)2

2. 曼哈顿距离(Manhattan Distance)

曼哈顿距离也称为城市街区距离,它计算的是沿坐标轴方向的距离总和。

  • 原理:对于二维平面上两点 a=(x1,y1)a = (x_1, y_1)a=(x1,y1)b=(x2,y2)b = (x_2, y_2)b=(x2,y2),曼哈顿距离通常定义为
    d=∣x1−x2∣+∣y1−y2∣d = |x_1 - x_2| + |y_1 - y_2|d=x1x2+y1y2

3. 切比雪夫距离(Chebyshev Distance)

切比雪夫距离也称为棋盘距离,它衡量的是两点之间的最大坐标差。

  • 原理:对于二维平面上的两点 a=(x1,y1)a = (x_1, y_1)a=(x1,y1)b=(x2,y2)b = (x_2, y_2)b=(x2,y2),切比雪夫距离定义为:
    d=max⁡(∣x1−x2∣,∣y1−y2∣)d = \max(|x_1 - x_2|, |y_1 - y_2|) d=max(x1x2,y1y2)

4. 闵可夫斯基距离(Minkowski Distance)

闵可夫斯基距离是欧氏距离、曼哈顿距离和切比雪夫距离的一般化形式。

  • 原理:对于二维平面上的两点 a=(x1,y1)a = (x_1, y_1)a=(x1,y1)b=(x2,y2)b = (x_2, y_2)b=(x2,y2),闵可夫斯基距离定义为:
    d=(∣x1−x2∣p+∣y1−y2∣p)1pd = (|x_1 - x_2|^p + |y_1 - y_2|^p)^{\frac{1}{p}}d=(x1x2p+y1y2p)p1

其中 ppp 是参数,当 p=1p = 1p=1 时,它等同于曼哈顿距离;当p=2p = 2p=2 时,它等同于欧氏距离;当 p→∞p \to \inftyp时,它等同于切比雪夫距离。

5. 标准化欧氏距离(Standardized Euclidean Distance)

标准化欧氏距离考虑了各个特征的尺度差异,通过标准差进行归一化。

  • 原理:对于二维平面上的两点 a=(x1,y1)a = (x_1, y_1)a=(x1,y1)b=(x2,y2)b = (x_2, y_2)b=(x2,y2),标准化欧氏距离定义为:
    d=(x1−x2)2sx2+(y1−y2)2sy2d = \sqrt{\frac{(x_1 - x_2)^2}{s_x^2} + \frac{(y_1 - y_2)^2}{s_y^2}}d=sx2(x1x2)2+sy2(y1y2)2

其中 sxs_xsxsys_ysy 分别是 xxxyyy维度的标准差。

6. 马氏距离(Mahalanobis Distance)

马氏距离考虑了特征之间的相关性,是标准化欧氏距离的进一步推广。

  • 原理:对于二维向量 a\mathbf{a}ab\mathbf{b}b,马氏距离定义为:
    d=(a−b)TS−1(a−b)d = \sqrt{(\mathbf{a} - \mathbf{b})^T \mathbf{S}^{-1} (\mathbf{a} - \mathbf{b})}d=(ab)TS1(ab)
    其中 S\mathbf{S}S 是样本协方差矩阵。

7. 余弦距离(Cosine Distance)

余弦距离衡量的是两个向量之间的夹角,常用于文本分析和推荐系统。

  • 原理:对于两个向量 a\mathbf{a}ab\mathbf{b}b,余弦相似度定义为:
    cos⁡(θ)=a⋅b∥a∥∥b∥\cos(\theta) = \frac{\mathbf{a} \cdot \mathbf{b}}{\|\mathbf{a}\| \|\mathbf{b}\|}cos(θ)=a∥∥bab
    余弦距离则定义为:
    d=1−cos⁡(θ)d = 1 - \cos(\theta)d=1cos(θ)

8. 汉明距离(Hamming Distance)

汉明距离用于衡量两个等长字符串之间对应位置的不同字符的个数,虽然它通常用于字符串,但我们可以用二维平面上的二进制网格来可视化它。

  • 原理:对于两个等长字符串(或二进制向量)a\mathbf{a}a 和 ( \mathbf{b} ),汉明距离定义为:
    d=∑i=1n[ai≠bi]d = \sum_{i=1}^{n} [a_i \neq b_i]d=i=1n[ai=bi]
    其中 [ai≠bi][a_i \neq b_i][ai=bi] 是指示函数,当 ai≠bia_i \neq b_iai=bi 时为 1,否则为 0 。

9. 杰卡德距离(Jaccard Distance)

杰卡德距离用于衡量两个集合的相似度。

  • 原理:对于两个集合 AAABBB,杰卡德相似系数定义为:
    J(A,B)=∣A∩B∣∣A∪B∣J(A, B) = \frac{|A \cap B|}{|A \cup B|}J(A,B)=ABAB
    杰卡德距离则定义为:
    d=1−J(A,B)d = 1 - J(A, B)d=1J(A,B)

10. 相关距离(Correlation Distance)

相关距离基于皮尔逊相关系数,用于衡量两个变量之间的线性关系。

  • 原理:对于两个变量 XXXYYY,皮尔逊相关系数定义为:
    ρ=Cov(X,Y)σXσY\rho = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y}ρ=σXσYCov(X,Y)

相关距离则定义为:
d=1−∣ρ∣d = 1 - |\rho|d=1ρ

应用范围

欧氏距离

  • 数据挖掘与机器学习:在聚类算法(如K-Means聚类)中,用于衡量样本点之间的相似性,以确定样本的归属类别 。
  • 计算机图形学:计算图形中顶点之间的距离,判断图形的形状和位置关系,例如在三维模型的变形和对齐操作中。
  • 地理信息系统(GIS):计算地图上两点之间的实际距离,辅助路径规划、位置分析等。

曼哈顿距离

  • 城市规划与交通领域:模拟城市街区中两点之间的实际通行距离,在路径规划、物流配送路线计算等方面有应用 ,例如计算快递员在城市街区中的送货路线长度。
  • 网格系统与棋盘游戏:在一些基于网格的游戏(如国际象棋等)中,衡量棋子移动的步数距离 ,或者在二维网格地图中计算两点间的最短移动距离。

切比雪夫距离

  • 棋盘类游戏算法:在国际象棋、围棋等棋盘游戏的AI算法中,用于评估棋子之间的威胁程度或距离,例如判断一个棋子在多步内能够到达的范围 。
  • 图像处理与计算机视觉:在图像中判断像素点之间的最大位移距离,用于图像分割、目标跟踪等场景。

闵可夫斯基距离

  • 数据的泛化距离度量:作为欧氏距离、曼哈顿距离等的一般化形式,可根据不同的参数 ( p ) 灵活调整距离度量方式,适用于多种需要自定义距离度量的场景,如在不同特征分布的数据集中寻找合适的距离度量方式 。
  • 机器学习模型评估:在评估模型预测结果与真实值之间的差异时,通过调整 ( p ) 值来关注不同类型的误差,例如 ( p = 1 ) 时更关注绝对误差,( p = 2 ) 时更关注平方误差 。

标准化欧氏距离

  • 多特征数据的距离度量:当数据集中不同特征的尺度差异较大时,如在分析身高(厘米级)和体重(千克级)对个体分类的影响时,标准化欧氏距离能够消除特征尺度的影响,准确衡量样本之间的相似性 。
  • 模式识别与分类:在手写数字识别、图像分类等模式识别任务中,对不同维度特征进行标准化后再计算距离,提高分类的准确性 。

马氏距离

  • 考虑特征相关性的数据处理:在金融风险评估中,多个财务指标之间往往存在相关性,马氏距离可以考虑这些相关性,更准确地评估不同投资组合之间的相似性或风险程度 。
  • 异常检测:通过考虑数据的协方差结构,能够更有效地检测出数据集中的异常点,例如在网络流量监测中识别异常的流量模式 。

余弦距离

  • 文本挖掘与信息检索:用于计算文本之间的相似度,在搜索引擎中,判断搜索关键词与文档内容的相关性,或者在文本分类中衡量文本之间的相似程度 。
  • 推荐系统:基于用户对不同物品的评分向量,计算用户之间或物品之间的相似度,为用户提供个性化推荐,如电影推荐、音乐推荐等 。

汉明距离

  • 编码与通信领域:用于检测和纠正数据传输过程中的错误,衡量编码之间的差异程度,例如在纠错码(如汉明码)中判断编码的正确性 。
  • 生物信息学:比较DNA序列、蛋白质序列之间的差异,研究生物进化关系或物种间的亲缘关系 。

杰卡德距离

  • 集合数据分析:在社交网络分析中,计算用户兴趣集合的相似度,用于推荐相似兴趣的用户,或者在文本分析中,衡量两个文本中关键词集合的相似性 。
  • 图像识别与目标检测:判断图像中目标物体的重叠程度,在多目标检测算法中,评估检测结果与真实目标之间的相似度 。

相关距离

  • 统计学与数据分析:在研究变量之间的线性关系时,通过相关距离判断变量之间的关联程度,例如在经济学中分析不同经济指标之间的相关性 。
  • 机器学习中的特征选择:评估特征之间的相关性,去除高度相关的冗余特征,提高模型的训练效率和泛化能力 。

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

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

相关文章

流水线(Jenkins)打包拉取依赖的时候提示无法拉取,需要登录私仓的解决办法

在日常工作中,遇到了Jenkins拉取部门内部组件库失败的情况,原因是组件库后面放到了阿里云私仓,并且是没有公开的,所以就会有如下提示的,一开始我实在.npmrc文件写死阿里云提供的接入token,后面发现可能是因…

操作系统王道考研习题

1.1.4本节习题精选 一、单项选择题 01.操作系统是对()进行管理的软件。 A.软件 B.硬件 C.计算机资源 D.应用程序 01.c 操作系统管理计算机的硬件和软件资源,这些资源统称为计算机资源。注意,操作系统不仅管理处理机、存储器等硬件…

C语言extern的用法(非常详细,通俗易懂)

以往我们都是将所有的代码写到一个源文件里面,对于小程序,代码不过几百行,这或许无可厚非,但当程序膨胀代码到几千行甚至上万行后,就应该考虑将代码分散到多个文件中,否则代码的阅读和维护将成为一件痛苦的…

Git【开源分布式版本控制工具】安装-配置-常用指令-Git远程仓库-IDEA使用Git

参考博客:Git(分布式版本控制工具)_为什么哔哩哔哩有些视频没有字幕-CSDN博客 Git就是一个类似于百度云盘的仓库;重点是要掌握使用idea操作Git,企业用的最多,一般不会去使用命令 Git通过不断阶段保存文件…

JavaScript数组键值去重方法

使用 filter 和 Map 根据键值去重我来详细解释方法2,这是一种高效且简洁的数组去重方法,特别适合根据对象中的某个键值进行去重操作。完整代码function uniqueByKey(arr, key) {return [...new Map(arr.map(item > [item[key], item])).values()]; }分…

【机器学习笔记Ⅰ】9 特征缩放

特征缩放(Feature Scaling)详解 特征缩放是机器学习数据预处理的关键步骤,旨在将不同特征的数值范围统一到相近的尺度,从而加速模型训练、提升性能并避免某些特征主导模型。1. 为什么需要特征缩放? (1) 问题背景 量纲不…

10.9 大模型训练数据优化实战:3步让准确率从68%飙升至79%

大模型训练过程分析与数据优化 一、训练过程关键指标分析 (插入mermaid流程图:训练过程监控与优化闭环) #mermaid-svg-Gni031LkHA93fQYM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Gni031LkHA93fQYM .erro…

深度学习模型在C++平台的部署

一、概述深度学习模型能够在各种生产场景中发挥重要的作用,而深度学习模型往往在Python环境下完成训练,因而训练好的模型如何在生产环境下实现稳定可靠的部署,便是一个重要内容。C开发平台广泛存在于各种复杂的生产环境,随着业务效…

若以部署在linux,nginx反向代理,登录404,刷新404问题

history模式在router下面的index.js文件的最下面history: createWebHistory(import.meta.env.VITE_APP_CONTEXT_PATH),这两个配置文件都加上然后nginx里面的配置是这个位置按照实际情况,我的是用docker挂载的,所以在/usr/share/nginx/html/lw-clothing为…

SQL Server通过存储过程实现HTML页面生成

引言在现代企业应用中,数据可视化是提升决策效率的关键。SQL Server作为核心数据库管理系统,不仅处理数据存储和查询,还具备强大的扩展能力。通过存储过程直接生成HTML页面,企业能减少对中间层(如Web服务器或应用程序&…

qt绘制饼状图并实现点击即放大点击部分

做得比较low #ifndef TEST_POWER_H #define TEST_POWER_H#include <QWidget> #include <QtMath> #include <QPainter> #include <QPushButton> #include <QVector> #include <cmath>namespace Ui { class test_power; } struct PieData {Q…

HashMap的put、get方法详解(附源码)

put方法 HashMap 只提供了 put 用于添加元素&#xff0c;putVal 方法只是给 put 方法调用的一个方法&#xff0c;并没有提供给用户使用。 对 putVal 方法添加元素的分析如下&#xff1a;如果定位到的数组位置没有元素 就直接插入。如果定位到的数组位置有元素就和要插入的 key …

双立柱式带锯床cad【1张总图】+设计说明书+绛重

双立柱式带锯床 摘 要 随着机械制造技术的进步&#xff0c;制造业对于切割设备的精度、效率和稳定性要求越来越高。双立柱式带锯床作为一种重要的切割设备&#xff0c;必须能够满足工业生产对于高精度、高效率的需求。 双立柱式带锯床是一种重要的工业切割设备&#xff0c;其结…

在线JS解密加密配合ECC保护

在线JS解密加密配合ECC保护 1. ECC加密简介 定义 ECC&#xff08;Elliptic Curve Cryptography&#xff09;是一种基于椭圆曲线数学的公钥加密技术&#xff0c;利用椭圆曲线离散对数问题&#xff08;ECDLP&#xff09;实现高安全性。 背景 1985年&#xff1a;Koblitz&#xff0…

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

前言回顾 在上一篇文章《搭建持久化的 INFINI Console 与 Easysearch 容器环境》中&#xff0c;我们详细介绍了如何使用基础的 docker run 命令&#xff0c;手动启动和配置 INFINI Console (1.29.6) 和 INFINI Easysearch (1.13.0) 容器&#xff0c;并实现了关键数据的持久化&…

Word 怎么让段落对齐,行与行之间宽一点?

我们来分两步解决&#xff1a;段落对齐 和 调整行距。 这两个功能都集中在Word顶部的【开始】选项卡里的【段落】区域。 第一步&#xff1a;让段落对齐 “对齐”指的是段落的左右边缘如何排列。通常有四种方式。 操作方法&#xff1a;将鼠标光标点在你想修改的那个段落里的任意…

Attention机制完全解析:从原理到ChatGPT实战

一、Attention的本质与计算步骤 1.1 核心思想 动态聚焦&#xff1a;Attention是一种信息分配机制&#xff0c;让模型在处理输入时动态关注最重要的部分。类比&#xff1a;像人类阅读时用荧光笔标记关键句子。 1.2 计算三步曲&#xff08;以"吃苹果"为例&#xff09; …

2025年3月青少年电子学会等级考试 中小学生python编程等级考试三级真题答案解析(判断题)

博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解

HTML5 新特性详解:从语义化到多媒体的全面升级

很多小伙伴本都好奇&#xff1a;HTML5有什么功能是以前的HTML没有的&#xff1f; 今天就给大家说道说道 HTML5 作为 HTML 语言的新一代标准&#xff0c;带来了诸多革命性的新特性。这些特性不仅简化了前端开发流程&#xff0c;还大幅提升了网页的用户体验和功能性。本文将深入…

mac安装docker

1、下载docker-desktop https://www.docker.com/products/docker-desktop/2、安装&#xff0c;双击安装 3、优化docker配置 默认配置 cat ~/Library/Group\ Containers/group.com.docker/settings-store.json {"AutoStart": false,"DockerAppLaunchPath": …