一、欧氏距离(Euclidean Distance):

欧氏距离是最容易直观理解的距离度量方法,我们小学、 初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。

二维平面上点a(x1,y1)a(x_1,y_1)a(x1​,y1​)与b(x2,y2)b(x_2,y_2)b(x2​,y2​)间的欧氏距离:

d12=(x1−x2)2+(y1−Y2)2d_{12}=\sqrt{(x_1-x_2)^2+(y_1-Y2)^2} d12​=(x1​−x2​)2+(y1​−Y2)2​

三维空间点a(x1,y1,z1)a(x_1,y_1,z_1)a(x1​,y1​,z1​)与b(x2,y2,z2)b(x_2,y_2,z_2)b(x2​,y2​,z2​)间的欧氏距离:

d12=(x1−x2)2+(y1−Y2)2+(z1−z2)2d_{12}=\sqrt{(x_1-x_2)^2+(y_1-Y2)^2+(z_1-z_2)^2} d12​=(x1​−x2​)2+(y1​−Y2)2+(z1​−z2​)2​

n维空间点a(x11,x12,…,x1n)a(x_{11},x_{12},…,x_{1n)}a(x11​,x12​,…,x1n)​与b(x21,x22,…,x2n)b(x_{21},x_{22},…,x_{2n})b(x21​,x22​,…,x2n​)间的欧氏距离(两个n维向量) :

d12=∑k=1n(x1−x2)2d_{12}=\sum_{k=1}^n\sqrt{(x_1-x_2)^2} d12​=k=1∑n​(x1​−x2​)2​

二、曼哈顿距离(Manhattan Distance):

在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。 曼哈顿距离也称为“城市街区距离”(City Block distance)。

二维平面两点a(x1,y1)a(x_1,y_1)a(x1​,y1​)与b(x2,y2)b(x_2,y_2)b(x2​,y2​)间的曼哈顿距离:

d12=∣x1−x2∣+∣y1−y2∣d_{12}=|x_1-x_2|+|y_1-y_2| d12​=∣x1​−x2​∣+∣y1​−y2​∣

n维空间点a(x11,x12,…,x1n)a(x_{11},x_{12},…,x_{1n)}a(x11​,x12​,…,x1n)​与b(x21,x22,…,x2n)b(x_{21},x_{22},…,x_{2n})b(x21​,x22​,…,x2n​)的曼哈顿距离:

d12=∑k=1n(x1−x2)2d_{12}=\sum_{k=1}^n\sqrt{(x_1-x_2)^2} d12​=k=1∑n​(x1​−x2​)2​

三、 切比雪夫距离 (Chebyshev Distance):

国际象棋中, 国王可以直行、 横行、 斜行, 所以国王走一
步可以移动到相邻8个方格中的任意一个。 国王从格子
(x1,y1)(x_1,y_1)(x1​,y1​)走到格子(x2,y2)(x_2,y_2)(x2​,y2​)最少需要多少步? 这个距离就叫切比
雪夫距离。

二维平面两点a(x1,y1)a(x_1,y_1)a(x1​,y1​)与b(x2,y2)b(x_2,y_2)b(x2​,y2​)间的切比雪夫距离:

d12=max(∣x1−x2∣,∣y1−y2∣)d_{12}=max(|x_1-x_2|,|y_1-y_2|) d12​=max(∣x1​−x2​∣,∣y1​−y2​∣)

n维空间点a(x11,x12,…,x1n)a(x_{11},x_{12},…,x_{1n)}a(x11​,x12​,…,x1n)​与b(x21,x22,…,x2n)b(x_{21},x_{22},…,x_{2n})b(x21​,x22​,…,x2n​)的切比雪夫距离:

d12=max(∣x1i−x2i∣)d_{12}=max(|x_{1i}-x_{2i}|) d12​=max(∣x1i​−x2i​∣)

四、 闵可夫斯基距离(Minkowski Distance):

闵氏距离不是一种距离, 而是一组距离的定义, 是对多个距离度量公式的概括性的表述。
两个n维变量a(x11,x12,…,x1n)a(x_{11},x_{12},…,x_{1n})a(x11​,x12​,…,x1n​)与b(x21,x22,…,x2n)b(x_{21},x_{22},…,x_{2n})b(x21​,x22​,…,x2n​)间的闵可夫斯基距离定义为:

d12=p∑k=1n∣x1k−x2k∣pd_{12}=p\sqrt{\sum_{k=1}^n|x_{1k}-x_{2k}|^p} d12​=pk=1∑n​∣x1k​−x2k​∣p​

其中p是一个变参数:
当p=1时, 就是曼哈顿距离;
当p=2时, 就是欧氏距离;
当p→∞时, 就是切比雪夫距离。
根据p的不同, 闵氏距离可以表示某一类/种的距离。

五、 马氏距离(Mahalanobis Distance):

下图有两个正态分布的总体,它们的均值分别为a和b,但方差不一样,则图中的A点离哪个总体更近? 或者说A有更大的概率属于谁? 显然, A离左边的更近, A属于左边总体的概率更大, 尽管A与a的欧式距离远一些。 这就是马氏距离的直观解释。

马氏距离是基于样本分布的一种距离。
物理意义就是在规范化的主成分空间中的欧氏距离。所谓规范化的主成分空间就是利用主成分分析对一些数据进行主成分分解。 再对所有主成分分解轴做归一化, 形成新的坐标轴。 由这些坐标轴张成的空间就是规范化的主成分空间。

定义: 有M个样本向量X1XmX_1~X_mX1​ Xm​, 协方差矩阵记为SSS, 均值记为向量μμμ, 则其中
样本向量XXX到μμμ的马氏距离表示为:

D(x)=(X−u)TS−1(X−u)D(x)=\sqrt{(X-u)^TS^{-1}(X-u)}D(x)=(X−u)TS−1(X−u)​

向量XiX_iXi​与XjX_jXj​之间的马氏距离定义为:

D(Xi,Xj)=(Xi−Xj)TS−1(Xi−Xj)D(X_i,X_j)=\sqrt{(X_i-X_j)^TS^{-1}(X_i-X_j)} D(Xi​,Xj​)=(Xi​−Xj​)TS−1(Xi​−Xj​)​

若协方差矩阵是单位矩阵(各个样本向量之间独立同分布) , 则XiX_iXi​与XjX_jXj​之间的马氏距离等
于他们的欧氏距离(若协方差矩阵是对角矩阵, 则就是标准化欧氏距离。) :

量纲无关, 排除变量之间的相关性的干扰;马氏距离的计算是建立在总体样本的基础上的,如果拿同样的两个样本, 放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的, 除非这两个总体的协方差矩阵碰巧相同;
计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在, 这种情况下, 用欧式距离计算即可。

六、 标准化欧氏距离 (Standardized Euclidean Distance):

标准化欧氏距离是针对欧氏距离的缺点而作的一种改进。
思路: 既然数据各维分量的分布不一样, 那先将各个分量都“标准化”到均值、方差相等。 假设样本集X的均值(mean)为m, 标准差(standard deviation)为S, X
的“标准化变量”表示为:

X∗=X−mSX^*=\frac{X-m}{S} X∗=SX−m​

标准化欧氏距离公式:

d12=∑k=1n(x1k−x2kSk)2d_{12}=\sqrt{\sum_{k=1}^n(\frac{x_{1k}-x_{2k}}{S_k})^2} d12​=k=1∑n​(Sk​x1k​−x2k​​)2​

七、 汉明距离(Hamming Distance):

两个等长字符串s1与s2的汉明距离为: 将其中一个变为另外一个所需要作的最小字符替换次数,更直接地可以看作是两个字符串中对应字符不同的次数。

汉明重量: 是字符串相对于同样长度的零字符串的汉明距离,也就是说,它是字符串中非零的元素个数:对于二进制字符串来说,就是1的个数,所以11101的汉明重量是4。因此,如果向量空间中的元素a和b之间的汉明距离等于它们汉明重量的差a-b。

应用: 汉明重量分析在包括信息论、编码理论、密码学等领域都有应用。比如在信息编码过程中,为了增强容错性,应使得编码间的最小汉明距离尽可能大。但是,如果要比较两个不同长度的字符串,不仅要进行替换,而且要进行插入与删除的运算,在这种场合下,通常使用更加复杂的编辑距离等算法。

八、杰卡德距离(Jaccard Distance):

杰卡德相似系数(Jaccard similarity coefficient): 两个集合A和B的交集元素在A, B
的并集中所占的比例, 称为两个集合的杰卡德相似系数, 用符号J(A,B)J(A,B)J(A,B)表示:

J(A,B)=A⋂BA⋃BJ(A,B) = \frac{A\bigcap_{}B}{A\bigcup_{}B} J(A,B)=A⋃​BA⋂​B​

杰卡德距离(Jaccard Distance): 与杰卡德相似系数相反, 用两个集合中不同元素
占所有元素的比例来衡量两个集合的区分度

J(A,B)=∣A⋃B∣−∣A⋂B∣∣A⋃B∣J(A,B) = \frac{|{A\bigcup_{}B|}-|A\bigcap_{}B|}{|A\bigcup_{}B|} J(A,B)=∣A⋃​B∣∣A⋃​B∣−∣A⋂​B∣​

转载自:
作者:平原2018
博文地址:https://blog.csdn.net/sinat_30353259/article/details/80885702

算法中各种距离的介绍相关推荐

  1. 聚类算法中各种距离的计算与python的具体实现代码

    一.聚类算法和相似度 在机器学习中,有两类学习算法,一类是无监督学习,另一类是监督学习.聚类算法是无监督学习算法,一般构建用户兴趣属性画像等可应用聚类算法:而一般的分类算法是有监督学习,基于有标注的历 ...

  2. 【每日一算法】二叉树中所有距离为 K 的结点

    微信改版,加星标不迷路! 每日一算法-二叉树中所有距离为K的节点 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K ...

  3. python 聚类_聚类算法中的四种距离及其python实现

    欧氏距离 欧式距离也就是欧几里得距离,是最常见也是最简单的一种距离,再n维空间下的公式为: 在python中,可以运用scipy.spatial.distance中的pdist方法来实现,但需要调整其 ...

  4. k近邻回归算法python_K近邻算法用作回归的使用介绍(使用Python代码)

    介绍 在我遇到的所有机器学习算法中,KNN是最容易上手的.尽管它很简单,但事实上它其实在某些任务中非常有效(正如你将在本文中看到的那样). 甚至它可以做的更好?它可以用于分类和回归问题!然而,它其实更 ...

  5. 图像降噪算法——中值滤波/均值滤波/高斯滤波/双边滤波

    图像降噪算法--中值滤波/均值滤波/高斯滤波/双边滤波 图像降噪算法--中值滤波/均值滤波/高斯滤波/双边滤波 1. 基本原理 2. C++代码实现 3. 结论 图像降噪算法--中值滤波/均值滤波/高 ...

  6. 机器学习算法中的概率方法

    雷锋网(公众号:雷锋网) AI 科技评论按,本文作者张皓,目前为南京大学计算机系机器学习与数据挖掘所(LAMDA)硕士生,研究方向为计算机视觉和机器学习,特别是视觉识别和深度学习. 个人主页:http ...

  7. pcl中set程序_PCL中分割方法的介绍(3)

    (3)上两篇介绍了关于欧几里德分割,条件分割,最小分割法等等还有之前就有用RANSAC法的分割方法,这一篇是关于区域生成的分割法, 区 域生长的基本 思想是: 将具有相似性的像素集合起来构成区域.首先 ...

  8. (最短路径算法整理)dijkstra、floyd、bellman-ford、spfa算法模板的整理与介绍

    这一篇博客以一些OJ上的题目为载体.整理一下最短路径算法.会陆续的更新... 一.多源最短路算法--floyd算法 floyd算法主要用于求随意两点间的最短路径.也成最短最短路径问题. 核心代码: / ...

  9. 如何实现算法中的公平性

    机器学习的公平性问题近几年受到越来越多的关注,该领域出现了一些新的进展.机器学习训练在涉及到性别.种族等与人相关的敏感属性时,常常会由于统计性偏差.算法本身甚至是人为偏见而引入歧视性行为.由此,为消除 ...

最新文章

  1. qt调用c语言编写的dll文件,Qt之调用外部DLL - moki_oschina的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. git checkout -b dev origin/dev详解
  3. alibaba JSON TypeReference 复杂类型转换
  4. 理解spark中的job、stage、task
  5. 三十三、深入Python中的itertools模块
  6. python 全局变量引用与修改
  7. 1组第一次作业-小组自我介绍
  8. android listview 连续调用 getview问题分析及解决。
  9. android studio release error INSTALL_FAILED_INSUFFICIENT_STORAGE
  10. [JUC-2]AbstractQueuedSynchronizer源码分析
  11. Spring Boot 异常处理,值得学习!
  12. [bzoj1566][NOI2009]管道取珠
  13. iPhoneamp;iPad DFU及恢复模式刷机、降级教程
  14. Android学习日记(yzy): Accessibility辅助功能
  15. 计算机二级Python考试经验分享(含考试大纲及知识点总结)
  16. 前端(五)DOM 文档对象模型
  17. 物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
  18. 没钱不能创业,教写商业计划书
  19. 利用Matlab绘制弹簧—阻尼动态振动模型
  20. 【沃顿商学院学习笔记】商业基础——Operation Management:02运营管理活动中的详细流程分析

热门文章

  1. Nginx限制对代理HTTP资源的访问速率
  2. Docker启动一个Centos镜像
  3. 华为云MySQL数据库外网使用
  4. 行为设计模式 - 中介设计模式
  5. 【Java】利用Swing实现登录页面
  6. 【C语言】数据结构C语言版 实验7 二叉树
  7. 【Python】表白代码
  8. golang中的http server和http client
  9. 错过了面试,公司招满人了_您可能错过了Google令人赞叹的AI公告。
  10. 微信支付开放平台_有了开放数据,您终于可以得到这些年来所支付的费用