各种距离概念与计算公式
参考:
范数:https://blog.csdn.net/xdy1120/article/details/106426504
各种距离:https://www.cnblogs.com/AlvinSui/p/8931074.html
常见的距离算法和相似度(相关系数)计算方法:https://www.cnblogs.com/arachis/p/Similarity.html
距离与范数:https://zhuanlan.zhihu.com/p/363707147
文章目录
- 一、各种距离概念
- 1、曼哈顿距离
- 2、欧式距离
- 3、切比雪夫距离
- 4、闵可夫斯基距离
- 5、标准化欧式距离
- 6、马氏距离
- 7、余弦距离
- 8、汉明距离
- 9、杰卡德距离
- 10、相关距离
- 11、信息熵
- 二、各种距离计算公式
- 三、范数与距离
一、各种距离概念
距离这个概念,在上小学的时候就知道了,它衡量的是两点之间的远近程度。其实距离根据定义可以分为好多好多种,我们日常生活中的距离指的一般是欧式距离。在很多文献中都会讲到距离,比如曼哈顿距离、欧式距离和闵可夫斯基距离等。这些概念往往看一遍就懂了,但是在没有看概念的前提下让你描述一遍往往会一时语塞。所以笔者准备进行一下汇总并进行一些区分。
1、曼哈顿距离
出租车几何或曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。
曼哈顿这个城市的街道很有特点,因为它方方正正的,就像坐标轴上的坐标格网一样。在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。曼哈顿距离也称为“城市街区距离”(City Block distance)。
2、欧式距离
欧几里得度量(euclidean metric)也称欧氏距离,是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
下图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。
3、切比雪夫距离
二个点之间的切比雪夫距离(Chebyshev Distance)定义是其各坐标数值差绝对值的最大值。国际象棋棋盘上两个位置间的切比雪夫距离是指王要从一个位子移至另一个位子最少需要走的步数(王可以直行、横行、斜行)。
4、闵可夫斯基距离
闵氏空间指狭义相对论中由一个时间维和三个空间维组成的时空,为俄裔德国数学家闵可夫斯基(H.Minkowski,1864-1909)最先表述。闵氏距离(Minkowski Distance)不是一种距离,而是一组距离的定义,是对多个距离度量公式的概括性的表述。闵氏距离有时也指时空间隔,其计算方式详见下文
5、标准化欧式距离
标准化欧氏距离(Standardized Euclidean Distance)是针对欧氏距离的缺点而作的一种改进。标准欧氏距离的思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等(也就是将数据投影到N(0,1)区间),再根据标准化之后的数据计算欧式距离。
6、马氏距离
马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示点与一个分布之间的距离。它是一种有效的计算两个未知样本集的相似度的方法。
马氏距离又称为数据的协方差距离,它是一种有效的计算两个未知样本集的相似度的方法。马氏距离的结果也是将数据投影到N(0,1)区间并求其欧式距离,与标准化欧氏距离不同的是它认为各个维度之间不是独立分布的,所以马氏距离考虑到各种特性之间的联系。它的计算用到协方差矩阵,当协方差矩阵是对角阵(即各维度之间独立)时,马氏距离也就等于标准化欧式距离。下图表示了欧式距离和马氏距离的区别,黑线为到中心距离相等的点的集合。
7、余弦距离
几何中,夹角余弦可用来衡量两个向量方向的差异;机器学习中,借用这一概念来衡量样本向量之间的差异。下图中的 cosθcos\thetacosθ 就是指余弦距离(Cosine Distance),它的取值范围为[−1,1][-1,1][−1,1],而dis(A,B)dis(A,B)dis(A,B)就是指的欧式距离。
8、汉明距离
汉明距离(Hamming Distance)是使用在数据传输差错控制编码里面的,汉明距离表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。比如
- 1011101 与 1001001 之间的汉明距离是 2。
- 2143896 与 2233796 之间的汉明距离是 3。
9、杰卡德距离
杰卡德距离(Jaccard Distance) 是用来衡量两个集合差异性的一种指标,它是杰卡德相似系数的补集,被定义为1减去Jaccard相似系数。而杰卡德相似系数(Jaccard similarity coefficient),也称杰卡德指数(Jaccard Index),是用来衡量两个集合相似度的一种指标。
- Jaccard相似指数用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数。
- Jaccard距离用来度量两个集合之间的差异性,它是Jaccard的相似系数的补集,被定义为1减去Jaccard相似系数。
10、相关距离
相关距离(Correlation distance)是用来衡量向量X与Y差异程度的一种方法,它被定义为1减去相关系数。相关系数是衡量向量X与Y相关程度的一种方法,相关系数的取值范围是[-1,1]。相关系数的绝对值越大,则表明X与Y相关度越高。
11、信息熵
以上的距离度量方法度量的皆为两个样本(向量)之间的距离,而信息熵描述的是整个系统内部样本之间的一个距离,或者称之为系统内样本分布的集中程度(一致程度)、分散程度、混乱程度(不一致程度)。系统内样本分布越分散(或者说分布越平均),信息熵就越大。分布越有序(或者说分布越集中),信息熵就越小。
二、各种距离计算公式
三、范数与距离
向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离。
常用的向量的范数:
- L0范数:L0范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数。
- L1范数: ||x|| 为x向量各个元素绝对值之和。
- L2范数: ||x||为x向量各个元素平方和的1/2次方,L2范数又称Euclidean范数或者Frobenius范数。
- Lp范数: ||x||为x向量各个元素绝对值p次方和的1/p次方。
- L∞范数: ||x||为x向量各个元素绝对值最大那个元素的绝对值
可以看到闵可夫斯基距离就是p-norm范数的一般化定义。下图给出了一个Lp球(||X||p=1)的形状随着P的减少的可视化图:
各种距离概念与计算公式相关推荐
- 组合 公式 计算机,排列与组合的概念与计算公式
排列与组合的概念与公式 1.排列及计算公式 从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列:从n个不同元素中取出m(m≤n)个元素的所有排列 ...
- PMP中挣值管理的概念和计算公式
挣值管理 挣值管理是用来综合考察项目范围.进度和成本绩效的方法,是项目整合管理的要求.虽然它直接测量的只是进度和成本绩效,但<PMBOK® 指南>中也提到了范围.可以说,挣值管理是一种把范 ...
- 二叉树的基本概念和计算公式
概念: 1. 节点的度:一个节点含有的子树的个数称为该节点的度: 2. 叶节点或终端节点:度为零的节点: 3. 非终端节点或分支节点:度不为零的节点: 4. 父亲节点或父节点:若一个节点含有子节 ...
- 方差的概念及其计算公式
- PMP的一些概念与计算公式
EVM: 挣值管理 ES:挣得进度.ES 是 EVM 理论和实践的延伸.如果挣得进度大于 0,则 表示项目进度提前了 AT:实际时间 SPI:进度绩效指数 EAC:项目完工预算 CA:控制账户 EVA ...
- 三点估算概念与计算公式
三点估算是一种项目管理中常用的技术,用于评估活动的时间.成本等.它基于以下假设: 活动的完成时间(或成本)存在不确定性,且可能会出现偏差. 偏差的大小是由多个因素决定的,如人员技能.资源可用性等. 三 ...
- 条件分布的概念及计算公式
- 有关孔隙比的基本概念和计算公式
--------------------------------------------------------- 自己原创,转载请注明出处:https://i.cnblogs.com/EditArt ...
- 【数据挖掘】基于层次的聚类方法 ( 聚合层次聚类 | 划分层次聚类 | 族间距离 | 最小距离 | 最大距离 | 中心距离 | 平均距离 | 基于层次聚类步骤 | 族半径 )
文章目录 基于层次的聚类方法 简介 基于层次的聚类方法 概念 聚合层次聚类 图示 划分层次聚类 图示 基于层次的聚类方法 切割点选取 族间距离 概念 族间距离 使用到的变量 族间距离 最小距离 族间距 ...
最新文章
- eclipse--各类型版本包含插件比较
- centos7使用sendmail发送邮件
- 用 subsetting 限制连接池中的连接数量
- Python Data Science的多版本多环境管理工具Anaconda
- CCF 201312-4 有趣的数
- Java新手之Java 从代码到运行的过程
- MFC中将窗口最小化到系统托盘和还原
- 力扣题目——29. 两数相除
- PySpark(一)
- blog11 Sent2Vec和Doc2Vec预训练模型
- (附源码)Python音乐分类系统 毕业设计 250858
- MFC技术内幕系列之(二)---MFC文档视图结构内幕
- 三维开发及三维地形和地理信息系统的集成探索
- 公司企业邮箱怎么登录?这些安全登录邮箱的方法你要知道
- Python当中reverse()函数
- 如何写学术论文的rebuttal?
- Linux学习——流刷新定位、格式化输入和输出
- MacBook笔记本打不开github解决方案
- 发生身份验证错误,要求的函数不受支持
- 三款Zookeeper可视化工具、ZooInspector、prettyZoo、ZooKeeperAssistant
热门文章
- 荣耀linux电脑怎么安装windows,荣耀笔记本不会安装 Win10 系统 只需这六步即可完美安装...
- 揭秘黑链市场的地下产业链
- python检测图片相同部分_用 Python 实现哈希算法检测重复图片
- oracle8i数据库修复,Oracle8i数据库应用系统的备份与恢复方案的选择
- 微信Unionid与Openid的区别
- 枚举型typedef
- 赛艇项目中出现的问题
- vs调试技巧和诀窍系列_维护Windows PC的35个最佳技巧和窍门
- IMU/GNSS组合导航经典论文论文合集IMU校准ahrs滤波算法
- 计算机语言一通百通,15条关于一通百通的经典语句