1.欧式距离(Euclidean Distance)

欧式距离源自N维欧氏空间中两点x1,x2x_1,x_2x1​,x2​间的距离公式:

2.标准化欧式距离(Standardized Euclidean distance)

引入标准化欧式距离的原因是一个数据xix_ixi​ 的各个维度之间的尺度不一样。
【对于尺度无关的解释】如果向量中第一维元素的数量级是100,第二维的数量级是10,比如v1=(100,10),v2 = (500,40),则计算欧式距离

可见欧式距离会给与第一维度100权重,这会压制第二维度的影响力。对所有维度分别进行处理,使得各个维度的数据分别满足标准正态分布:

uiu_iui​是该维度所有数据的均值,sis_isi​ 是对应方差。
然后在对x′x′x′进行欧式距离:

3. 马氏距离

马氏距离又称为数据的协方差距离,它是一种有效的计算两个未知样本集的相似度的方法。马氏距离的结果也是将数据投影到N(0,1)区间并求其欧式距离,与标准化欧氏距离不同的是它认为各个维度之间不是独立分布的,所以马氏距离考虑到各种特性之间的联系。

马氏距离可以通过协方差自动生成相应的权重,而使用逆则抵消掉这些权重。

最典型的就是根据距离作判别问题,即假设有n个总体,计算某个样品X归属于哪一类的问题。此时虽然样品X离某个总体的欧氏距离最近,但是未必归属它,比如该总体的方差很小,说明需要非常近才能归为该类。对于这种情况,马氏距离比欧氏距离更适合作判别。

4.余弦距离(余弦相似性)cosine similarity

严格来讲余弦距离不是距离,而只是相似性。其他距离直接测量两个高维空间上的点的距离,如果距离为0则两个点“相同”;余弦的结果为在[0,1]之中,如果为 1,只能确定两者完全相关、完全相似。

假设两用户同时对两件商品评分,向量分别为(3,3)和(5,5),这两位用户对两件商品的喜好其实是一样的,余弦距离此时为1,欧式距离给出的解显然没有余弦值直观。

相对于标准化后的欧式距离,余弦距离少了将数据投影到一个均值为0的区间里这一步骤。对于点X和点Y,其余弦距离:

余弦距离在给文本分类的词袋模型中使用,例如给一篇文章一共出现过6000个词,则用一个6000维度的向量X表示这篇文章,每个维度代表各个字出现的数目;另外一篇文章也恰好只出现过这6000字,用向量Y表示该文章,则这两篇文章相似度可以用余弦距离来测量。

优点:余弦距离根据向量方向来判断向量相似度,与向量各个维度的相对大小有关,不受各个维度直接数值影响。
某种程度上,归一化后的欧氏距离和余弦相似性表征能力相同。

5.汉明距离(Hammi)

汉明距离是两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。比如:
1011101 与 1001001 为 2
2143896 与 2233796 是 3
可以把它看做将一个字符串变换成另外一个字符串所需要替换的字符个数。
此外,汉明重量是字符串相对于同样长度的零字符串的汉明距离,如:
11101 的汉明重量是 4。
所以两者间的汉明距离等于它们汉明重量的差a-b

6.曼哈顿距离 (Manhattan distance)

曼哈顿距离的定义如下:

p是I的维度。当I为图像坐标时,曼哈顿距离即是x,y坐标距离之和。

[机器学习-概念] 什么是欧式距离、标准化欧式距离、马氏距离、余弦距离相关推荐

  1. 距离度量:闵氏、欧式、马氏、余弦、汉明等

    目录 1. 闵氏距离(Minkowski Distance) 2. 欧式距离(Euclidean Distance) 3. 标准化欧式距离(Standardized Euclidean distanc ...

  2. 十种距离计算公式及Python简单实践(余弦距离、欧式距离、jaccard距离等)

    一.余弦距离 形式化描述: 余弦夹角也可以叫余弦相似度.几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异. 余弦取值范围为[-1,1].求得两个向量的夹角,并 ...

  3. 高斯判别算法GDA(吴恩达机器学习c#实践,生成高斯模板显示同心圆马氏距离,一)

    首先实现P(x|y)=高斯函数(正态分布),即y是正态分布,是条件,我们把它还原到图像界面I(i,j)每一个像素,是结果. 这个实际就是生成高斯模板,我们前面有3*3的高斯生成算法,但是根本没有办法显 ...

  4. 高斯判别算法GDA(吴恩达机器学习c#实践,生成高斯模板显示同心椭圆马氏距离,二)

    先看以下是个什么? 真看不出什么,对比一下还行,还是看不出来,我们让马氏距离放大十倍等于15,高斯值放大1000倍等于4的像素加以阻挡指示出来,使用白色. 同心椭圆:(为什么协方差矩阵?0值改0.5, ...

  5. 距离度量方式(马氏距离,欧式距离,曼哈顿距离)

  6. K邻近算法概述、欧式距离、Scikit-learn使用 、kNN邻近算法距离度量、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离、余弦距离、汉明距离、杰卡德距离、马氏距离

    一.K-邻近算法概述 K邻近算(K Nearest Neighbor算法,KNN算法):如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别 ...

  7. 简单粗暴理解与实现机器学习之K-近邻算法(三):距离度量、欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化距离、余弦距离、汉明距离、杰卡德距离、马氏距离

    K-近邻算法 文章目录 K-近邻算法 学习目标 1.3 距离度量 1 欧式距离**(Euclidean Distance):** 2 **曼哈顿距离(Manhattan Distance):** 3 ...

  8. 马氏距离和欧式距离详解

    一般在机器学习模型中会涉及到衡量两个样本间的距离,如聚类.KNN,K-means等,使用的距离为欧式距离.其实,除了欧氏距离之外,还有很多的距离计算标准,本文主要介绍欧氏距离和马氏距离. 欧氏距离 最 ...

  9. 多元统计分析——欧式距离和马氏距离

    在一元的情形中,定义两个点和之间的距离: 两者作差的绝对值,我们称为欧式距离. 经过标准化的作差绝对值,我们称为统计距离,或者标准化过后的距离.其中,代表样本的标准差. 在多元的情形中,假设我们有两个 ...

  10. 马氏距离详解(数学原理、适用场景、应用示例代码)

    看了很多关于马氏距离(Mahalanobis Distance)的介绍,但是总感觉有一些地方不太清晰,所以结合数学公式.机器学习中的应用案例,从头梳理一下. 马氏距离实际上是欧氏距离在多变量下的&qu ...

最新文章

  1. 03Template Method模式
  2. oracle19c数据库清理,Oracle 19c集群重装
  3. ksql 数量大于2_504深入解读路基土石方说明,路基填方数量组成?运距>15km咋办...
  4. python数据结构的列表_Python数据结构之列表
  5. 1054 The Dominant Color (20 分)_12行代码AC
  6. python中的 descriptor
  7. Kafka基本概念与术语
  8. sublime html乱码,HTML5 sublime 编码出现乱码怎么处理
  9. ESXI6.7虚拟机配置LACP静态汇聚端口网络负载均衡分流
  10. hbase shell相关命令
  11. JSP隐含变量和Spring中Model在EL表达式中的读取顺序
  12. 学习总结之 WebApi 用户登录和匿名登录,及权限验证
  13. 面试:Synchronized锁升级(理解)
  14. 计算机系统日志指什么内容,系统日志
  15. 实时操作系统与分时操作系统原理详解——经典
  16. R 语言数据处理入门-2(缺失值处理)
  17. 【Vue】var that=this写法的意义
  18. 九、Redis三种集群模式
  19. python xlrd读取excel慢_与xlrd相比,使用openpyxl读取Excel文件要慢很多
  20. 5.小程序的Ajax数据请求

热门文章

  1. HTML5与Phonegap框架初步
  2. C#中释放数据库连接资源
  3. 优化反射性能的总结(上)
  4. XShell技巧收集
  5. 百度启用Baidu.co.jp域名,有利于其在日本推广
  6. NodeJS同步MySQL上游数据到ElasticSearch数据库中
  7. Linux下查看物理CPU、逻辑CPU和CPU核数
  8. Node.js 后端框架排名
  9. Javascript实现导出word - jquery jquery.wordexport.js 实现导出word
  10. Codeforces Round #617 (Div. 3) String Coloring(E1.E2)