样本相似性度量(欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离)

article/2025/9/24 15:51:03

样本相似性度量(欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离)

在分类过程中,常常需要估算不同样本直接的 Similarity Measurement (相似性度量)。

此时常用的方法就是计算两个样本直接的 Distance(距离)。

常用方法有:

    1. 欧几里得距离(Euclidean Distance)
    1. 曼哈顿距离(Manhattan Distance)
    1. 切比雪夫距离(Chebyshev Distance)
    1. 闵可夫斯基距离(Minkowski Distance)
    1. 标准化欧氏距离(Standardized Euclidean distance)

  1. 欧几里得距离(Euclidean Distance)

欧几里得距离(Euclidean Distance),简称欧氏距离,又称欧几里得度量(euclidean metric)。

指 m 维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。

在欧几里得空间中,点 x = ( x 1 , ⋯   , x n ) x=\left(x_{1}, \cdots, x_{n}\right) x=(x1,,xn) y = ( y 1 , ⋯   , y n ) y=\left(y_{1}, \cdots, y_{n}\right) y=(y1,,yn) 之间的欧几里得距离为:

d ( x , y ) : = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + ⋯ + ( x n − y n ) 2 = ∑ i = 1 n ( x i − y i ) 2 d(x, y) :=\sqrt{\left(x_{1}-y_{1}\right)^{2}+\left(x_{2}-y_{2}\right)^{2}+\cdots+\left(x_{n}-y_{n}\right)^{2}}=\sqrt{\sum_{i=1}^{n}\left(x_{i}-y_{i}\right)^{2}} d(x,y):=(x1y1)2+(x2y2)2++(xnyn)2 =i=1n(xiyi)2

y y y 点为原点时,即为向量 x ⃗ \vec{x} x 的自然长度(该点到原点的距离)。

向量 x ⃗ \vec{x} x 的自然长度:

∥ x ⃗ ∥ 2 = ∣ x 1 ∣ 2 + ⋯ + ∣ x n ∣ 2 \|\vec{x}\|_{2}=\sqrt{\left|x_{1}\right|^{2}+\cdots+\left|x_{n}\right|^{2}} x 2=x12++xn2

n n n 维空间的欧几里得距离公式可以推出:

二维平面上两点 a ( x 1 , y 1 ) a\left(x_{1},y_{1}\right) a(x1,y1) b ( x 2 , y 2 ) b\left(x_{2},y_{2}\right) b(x2,y2) 间的欧几里得距离:

d 12 = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 d_{12}=\sqrt{\left(x_{1}-x_{2}\right)^{2}+\left(y_{1}-y_{2}\right)^{2}} d12=(x1x2)2+(y1y2)2

三维空间两点 a ( x 1 , y 1 , z 1 ) a\left(x_{1}, y_{1}, z_{1}\right) a(x1,y1,z1) b ( x 2 , y 2 , z 2 ) b\left(x_{2},y_{2}, z_{2}\right) b(x2,y2,z2) 间的欧几里得距离:

d 12 = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + ( z 1 − z 2 ) 2 d_{12}=\sqrt{\left(x_{1}-x_{2}\right)^{2}+\left(y_{1}-y_{2}\right)^{2}+\left(z_{1}-z_{2}\right)^{2}} d12=(x1x2)2+(y1y2)2+(z1z2)2

  1. 曼哈顿距离(Manhattan Distance)

计程车几何 (Taxicab geometry) 或曼哈顿距离 (Manhattan distance or Manhattan length) 或方格线距离是由十九世纪的赫尔曼 · 闵可夫斯基所创辞汇,为欧几里得几何度量空间的几何学之用语,用以标明两个点上在标准坐标系上的绝对轴距之总和。

曼哈顿与欧几里得距离: 红、蓝与黄线分别表示所有曼哈顿距离都拥有一样长度(12),而绿线表示欧几里得距离有 6×√2 ≈ 8.48 的长度

如上图,从右上角的黑点到左下角的黑点的最小距离是?

是红色线的欧几里得距离?

显然是错误的。在这样的空间里,欧几里得距离计算最小距离是不合适的。

需要采用新的距离计算方式 —— 曼哈顿距离

在 N 维空间中,点 x = ( x 1 , ⋯   , x n ) x=\left(x_{1}, \cdots, x_{n}\right) x=(x1,,xn) y = ( y 1 , ⋯   , y n ) y=\left(y_{1}, \cdots, y_{n}\right) y=(y1,,yn) 之间的曼哈顿距离为:

d ( x , y ) : = ∣ x 1 − y 1 ∣ + ∣ x 2 − y 2 ∣ + ⋯ + ∣ x n − y n ∣ = ∑ i = 1 n ∣ x i − y i ∣ d(x, y) :=\left|x_{1}-y_{1}\right|+\left|x_{2}-y_{2}\right|+\cdots+\left|x_{n}-y_{n}\right|=\sum_{i=1}^{n}\left|x_{i}-y_{i}\right| d(x,y):=x1y1+x2y2++xnyn=i=1nxiyi

二维平面两点 a ( x 1 , y 1 ) a\left(x_{1},y_{1}\right) a(x1,y1) b ( x 2 , y 2 ) b\left(x_{2},y_{2}\right) b(x2,y2) 间的曼哈顿距离:

d 12 : = ∣ x 1 − y 1 ∣ + ∣ x 2 − y 2 ∣ d_{12} :=\left|x_{1}-y_{1}\right|+\left|x_{2}-y_{2}\right| d12:=x1y1+x2y2

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

国际象棋棋盘上二个位置间的切比雪夫距离是指王要从一个位子移至另一个位子需要走的步数。由于王可以往斜前或斜后方向移动一格,因此可以较有效率的到达目的的格子。上图是棋盘上所有位置距 f6 位置的切比雪夫距离

n n n 维空间中,点 x = ( x 1 , ⋯   , x n ) x=\left(x_{1}, \cdots, x_{n}\right) x=(x1,,xn) y = ( y 1 , ⋯   , y n ) y=\left(y_{1}, \cdots, y_{n}\right) y=(y1,,yn) 之间的切比雪夫距离为:

d ( x , y ) : = max ⁡ i ( ∣ x i − y i ∣ ) d(x, y) :=\max_{i}\left(\left|x_{i}-y_{i}\right|\right) d(x,y):=imax(xiyi)

二维平面两点 a ( x 1 , y 1 ) a\left(x_{1},y_{1}\right) a(x1,y1) b ( x 2 , y 2 ) b\left(x_{2},y_{2}\right) b(x2,y2) 间的切比雪夫距离:

d 12 : = m a x ( ∣ x 1 − y 1 ∣ , ∣ x 2 − y 2 ∣ ) d_{12} :=max\left(\left|x_{1}-y_{1}\right|,\left|x_{2}-y_{2}\right|\right) d12:=max(x1y1,x2y2)

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

闵可夫斯基距离(Minkowski Distance),简称闵氏距离。

它是一组距离的定义。

设定两点:

P = ( x 1 , x 2 , … , x n ) and Q = ( y 1 , y 2 , … , y n ) ∈ R n P=\left(x_{1}, x_{2}, \ldots, x_{n}\right) \text {and} Q=\left(y_{1}, y_{2}, \ldots, y_{n}\right) \in \mathbb{R}^{n} P=(x1,x2,,xn)andQ=(y1,y2,,yn)Rn

直接的闵可夫斯基距离为:

( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 / p \left(\sum_{i=1}^{n}\left|x_{i}-y_{i}\right|^{p}\right)^{1 / p} (i=1nxiyip)1/p

那么 p p p 的常用取值为 1 1 1 2 2 2

p = 1 p=1 p=1 即为曼哈顿距离:

( ∑ i = 1 n ∣ x i − y i ∣ 1 ) 1 1 = ∑ i = 1 n ∣ x i − y i ∣ \left(\sum_{i=1}^{n}\left|x_{i}-y_{i}\right|^{1}\right)^{\frac{1}{1}}=\sum_{i=1}^{n}\left|x_{i}-y_{i}\right| (i=1nxiyi1)11=i=1nxiyi

p = 2 p=2 p=2 即为欧几里得距离:

( ∑ i = 1 n ∣ x i − y i ∣ 2 ) 1 2 = ∑ i = 1 n ( x i − y i ) 2 \left(\sum_{i=1}^{n}\left|x_{i}-y_{i}\right|^{2}\right)^{\frac{1}{2}}=\sqrt{\sum_{i=1}^{n}\left(x_{i}-y_{i}\right)^{2}} (i=1nxiyi2)21=i=1n(xiyi)2

p → ∞ p\rightarrow \infty p 取无穷时极限情况下可以得到切比雪夫距离:

lim ⁡ p → ∞ ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 p = max ⁡ i = 1 n ∣ x i − y i \lim _{p \rightarrow \infty}\left(\sum_{i=1}^{n}\left|x_{i}-y_{i}\right|^{p}\right)^{\frac{1}{p}}=\max _{i=1}^{n}\left|x_{i}-y_{i}\right. plim(i=1nxiyip)p1=i=1maxnxiyi

  1. 标准化欧氏距离(Standardized Euclidean distance)

标准欧氏距离的定义:

标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。

标准欧氏距离的思路:既然数据各维分量的分布不一样,好吧!那我先将各个分量都 “标准化” 到均值、方差相等吧。
均值和方差标准化到多少呢?
假设样本集 X X X 的均值 (mean) 为 m m m,标准差(standard deviation)为 s s s,那么 X X X 的 “标准化变量 X ∗ X^{*} X” 表示为:

而且标准化变量的数学期望为 0 0 0,方差为 1 1 1。因此样本集的标准化过程 (standardization) 用公式描述就是:

X ∗ = X − m s X^{*}=\frac{X-m}{s} X=sXm

标准化后的值 = (标准化前的值 - 分量的均值) / 分量的标准差

经过简单的推导就可以得到两个 n 维向量 a ( x 11 , x 12 , ⋯   , x 1 n ) a\left(x_{11}, x_{12}, \cdots, x_{1n}\right) a(x11,x12,,x1n) b ( x 21 , x 22 , ⋯   , x 2 n ) b\left(x_{21}, x_{22}, \cdots, x_{2n}\right) b(x21,x22,,x2n) 间的标准化欧氏距离的公式:

如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离 (Weighted Euclidean distance)。

d 12 = ∑ k = 1 n ( x 1 k − x 2 k s k ) 2 d_{12}=\sqrt{\sum_{k=1}^{n}\left(\frac{x_{1 k}-x_{2 k}}{s_{k}}\right)^{2}} d12=k=1n(skx1kx2k)2

如果使用长宽比为 2 : 1 2:1 2:1 的二维矩形作为单元大小,那么使用标准欧式距离公式为:

d = ( x 2 − x 1 2 ) 2 + ( x 2 − x 1 1 ) 2 d=\sqrt{\left(\frac{x_{2}-x_{1}}{2}\right)^{2} + \left(\frac{x_{2}-x_{1}}{1}\right)^{2} } d=(2x2x1)2+(1x2x1)2


http://chatgpt.dhexx.cn/article/lDKjZrtm.shtml

相关文章

机器学习聚类算法中的闵可夫斯基距离

最近闲着没事了解一下聚类算法,闵可夫斯基距离真有趣,搞得我有点一头雾水,废话不多,上定义: 本文从公式上表述了欧几里得距离、曼哈顿距离、切比雪夫距离记忆闵可夫斯基距离之间的关系。 一般而言,定义一…

距离度量:欧式距离/曼哈顿距离/切比雪夫距离/闵可夫斯基距离/标准化欧氏距离/余弦距离/汉明距离/杰卡德距离/马氏距离

日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 2 常见的距离公式 2.1 欧式距离(Euclidean Distance): 欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接…

欧式距离余弦相似度matlab,相似度计算——欧氏距离,曼哈顿距离,闵可夫斯基距离,汉明距离,夹角余弦...

在机器学习领域,被俗称为距离,却不满足三条距离公理的不仅仅有余弦距离(满足正定性和对称性,但是不满足三角不等式),还有KL距离( Kulback- Leibler Divergence),也叫作相对熵(不满足对称性和三角不等式),它常用于计算两个分布之间的差异 欧氏距离 欧氏距离: 切比雪夫距离…

闵可夫斯基距离

本文从公式上表述了欧几里得距离、曼哈顿距离、切比雪夫距离记忆闵可夫斯基距离之间的关系。 一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则: 1) d(x,x) 0 // 到自己的距离为0 2) d(x,y) > 0 // 距离非负 3) d(x,y) d(y,x) // 对称…

闵可夫斯基距离(MinkowskiDistance)

闵可夫斯基距离(MinkowskiDistance) 闵氏距离不是一种距离,而是一组距离的定义。 (1)闵氏距离的定义 两个n维变量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的闵可夫斯基距离定义为: 其中p是一个变参数。 当p1时,就是曼哈顿距离 当p2时&#xf…

Linux操作系统概述

Linux操作系统概述 Linux发展历史Linux的发展要素Linux与UNIX的异同操作系统类型选择和内核版本的选择Linux的系统架构 Linux内核的主要模块Linux的文件结构 Linux发展历史 Linux操作系统于1991年诞生,目前已经成为主流的操作系统之 一 。其版本从开始的0.01版本到…

国产Linux操作系统

一、Kylin OS:由麒麟软件公司发行的Debian系Linux操作系统。 包含四个版本: 1、银河Kylin:为银河麒麟Linux操作系统收费版本。 2、Neo Kylin:是中标麒麟,为麒麟软件与中标软件合并后的发行版本。 3、Open Kylin&…

Linux【操作系统】

目录 一、冯诺依曼体系结构 ​ 二、操作系统​ 三、进程 ​ 1.PCB ​ 2.task_ struct内容分类 ​ 3.查看进程​​​​​​​​ 4.getpid​ 5.系统调用接口和创建子进程 6.fork基本用法 四、进程状态 进程状态查看 Z(zombie)-僵尸进程 僵尸进程危害 孤儿进程 …

理解操作系统(Linux)

操作系统是一款对软硬件资源进行管理的软件! 操作系统为什么要对软硬件资源进行管理呢? 操作系统通过合理的管理软硬件资源的手段,为用户提供良好的(稳定的、高效的、安全的)执行环境。 操作系统是如何进行管理的呢…

【Linux操作系统】——Linux命令

文章目录 Linux系统命令登录注销目录文件补充ls通配符rm命令cp命令more命令less命令vi命令文件压缩以及解压 Linux系统命令 Windows系统中查看当前电脑的IP地址 ipconfig 在Linux系统中查看当前电脑的IP地址 ifconfig 登录注销 sudo useradd ccy //添加用户 (不能被立即使用…

Linux操作系统基础(完结)

#摘要 一、Linux操作系统概述 二、Linux操作系统安装 三、Linux文件系统及文件基础 四、Linux操作系统命令使用基础 五、Linux应用程序的安装与卸载基础 五、用户及进程 六、相关信息查询 七、网络配置 八、Linux应用程序的安装与卸载基础 #一、Linux操作系统概述 ##1、发展 …

Linux:操作系统

Linux-操作系统 一、操作系统:1.程序:2.OS: 二、虚拟机的三种网卡:1.桥接:2.NAT:3.仅主机: 三、linux命令:1.shell:2.linux命令(本质是程序)&…

Linux——操作系统详解

目录 一.操作系统的含义 1.操作系统是什么? 2.那么操作系统为什么要对软硬件资源进行管理呢?这样做的好处在哪里? 3.操作系统又是怎么进行管理的? 如何理解“先描述,再组织”? 二.总结: …

linux操作系统的基本认识

1.linux是什么东西? linux是什么?它是操作系统吗?我刚开始学这个东西的时候也不太清楚,只是听别人说linux操作系统什么的。那linux到底是什么?我们来认识一下: Linux是最知名和最常用的开源操作系统。作为一…

Linux操作系统的发展

一、计算机的发展历程 1.计算机的起源 在开始讲解计算机的历史前,我们需要认识到人和动物最大的区别在于人是会使用工具的。从饮血茹毛到使用火烧熟食物,工具的使用给对于人类发展的作用是巨大的。同样,计算机也是工具,为我们的…

Linux操作系统介绍

##一. 什么是Linux? ## 1.什么是Linux: Linux是一款广泛应用在服务器上的操作系统。 2.什么是操作系统: 操作系统是硬件基础上的第一层软件, 应用软件都需要安装到操作系统上使用。 3.Linux的特点: 安全免费开源稳定…

Linux操作系统学习

目录 一、操作系统 1、什么是操作系统(OS)? 2、常见的操作系统 二、Linux系统的介绍 1、Linux操作系统的特点 2、Linux发展历程 3、Linux内核及发行版本 3.1 Linux内核版本(kernel) 3.2 Linux发行版本 三、L…

【Linux】操作系统及进程概念

大家好我是沐曦希💕 文章目录 一、冯诺依曼体系结构二、操作系统OS三、系统调用和库函数概念四、进程1.概念2.描述进程-PCB3.查看进程4.查看系统调用5.查看进程调用6. 通过系统调用创建进程-fork初识 一、冯诺依曼体系结构 我们常见的计算机,如笔记本。…

Linux操作系统——基础详解

目录 Linux操作系统 Linux 简介 Linux 接口 Linux 组成部分 Shell Linux 应用程序 Linux 内核结构 Linux 进程和线程 基本概念 Linux 进程间通信 Linux 中进程管理系统调用 Linux 进程和线程的实现 Linux 调度 Linux 启动 Linux 内存管理 基本概念 Linux 内存…

Linux(一)操作系统基础知识

Linux操作系统基础知识 1、Linux简介与程序开发环境 1.1 什么是Linux? Linux是一个可以自由发布的类UNIX内核实现,它是一个操作系统的底层核心。Linux是由芬兰赫尔辛基大学的Linus开发,期间得到了网上广大UNIX程序员的帮助。它最初是受其教…