【拜小白的机器学习】6-机器学习中几种距离相似性度量方法

本文详细介绍了机器学习中常用的距离和相似性度量方法,包括欧式距离、标准化欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、马氏距离、余弦距离、向量内积、皮尔逊相关系数、汉明距离和杰卡德距离。这些度量方法在数据挖掘、分类和聚类算法中起到关键作用,选择合适的度量方式对于提高模型的准确性至关重要。
摘要由CSDN通过智能技术生成

在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。本文的目的就是对常用的相似性度量作一个总结。


根据数据特性的不同,可以采用不同的度量方法。一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则:

  • 1) d(x,x) = 0                          // 到自己的距离为0;
  • 2) d(x,y) >= 0                       // 距离非负;
  • 3) d(x,y) = d(y,x)                   // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a;
  • 4) d(x,k)+ d(k,y) >= d(x,y)    // 三角形法则: (两边之和大于第三边);

满足这4个条件的距离函数很多,一般有几类是比较常见的,通常来自比较直观的形象,如平面的一个两点的直线距离。下面讨论应用比较广泛的几类距离或相似性度量函数。


===================分割线========================

1.欧式距离(Euclidean Distance)

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


  • 1)二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离:


  • 2)三维空间点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:


  • 3)n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的欧氏距离(两个n维向量):

也可以用表示成向量运算的形式:


Matlab计算欧氏距离

例子:计算向量(1,1)、(2,2)、(3,3)、(4,4)两两间的欧式距离

X = [1 1;2 2;3 3;4 4];
d = pdist(X,'euclidean')
d = 
    1.4142    2.8284    4.2426    1.4142    2.8284    1.4142

Matlab计算距离使用pdist()函数。若X是一个m×n的矩阵,则pdist(X)将X矩阵每一行作为一个n维行向量,然后计算这m个向量两两间的距离。

======================分割线=====================

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

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

  • 标准化欧氏距离公式:


如果将方差的倒数看成一个权重,也可称之为加权欧氏距离(Weighted Euclidean distance)。

Matlab计算标准化欧氏距离(假设两个分量的标准差分别为0.5和1):

X = [1 1;2 2;3 3;4 4];
d = pdist(X,'seuclidean',[0.5,1])
d =
    2.2361    4.4721    6.7082    2.2361    4.4721    2.2361
======================分割线=====================

3. 曼哈顿距离(Manhattan Distance)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值