【机器学习】——聚类中几种常用的相似度度量

  在 聚类问题中,相似度直接影响聚类的结果,其选择是聚类的根本问题。将样本看作n维向量空间中点的集合,则样本间的相似度可用样本在该向量空间的距离表示。

距离度量的基本性质

  1. 非负性 :在这里插入图片描述

  2. 同一性:在这里插入图片描述

  3. 对称性: 在这里插入图片描述

  4. 直递性:

在这里插入图片描述

            可理解为两边之和大于第三边,即三角不等式。

八种常用的度量方式

1、闵可夫斯基距离

定义:给定n维空间中的任意两点

在这里插入图片描述
这两点间的闵可夫斯基距离为:在这里插入图片描述

缺点:
(1)没有考虑各个分量量纲不同的问题。

(2)没有考虑各个分量的分布不同的问题

(3)没有考虑变量间的相关关系

 因此计算闵可夫斯基距离前常对数据进行标准化和中心化处理 。

2、曼哈顿距离

 闵可夫斯基距离是一类距离,当其参数p=1时,称为曼哈顿距离:
在这里插入图片描述

  曼哈顿距离又称为计程车距离,其直观表示为两点在n维标准坐标系上的绝对轴距之和。图示为给定二维空间上的两点 在这里插入图片描述
的曼哈顿距离,不失一般性,可推广到n维空间。
在这里插入图片描述
  曼哈顿距离计算速度快,某些情况下具有更好的稳定性。但其缺点为如果数据集中某些特征值很大,这些特征会掩盖其他特征间的邻近关系。

Python代码计算曼哈顿距离:

# 计算点a(1,2,3,b(4,5,6)的曼哈顿距离
import numpy as np
def distman(a, b):
    return np.sum(abs(a - b))
a=np.array([1,2,3])
b=np.array([4,5,6])
print('a与b的曼哈顿距离:',distman(a,b))
>> a与b的曼哈顿距离: 9

3、欧氏距离

当闵可夫斯基距离的参数p=2时,称为欧几里得距离:
在这里插入图片描述

  欧几里得距离(欧氏距离)是n维空间中两点的真实距离,直观表示为两点在n维标准坐标系中的直线距离。图示为给定二维空间上的两点

在这里插入图片描述
的欧几里得距离, 不失一般性,可推广到n维空间。
在这里插入图片描述

Python代码计算欧几里得距离:

# 计算点a(1,2,3,b(4,5,6)的欧氏距离
import numpy as np
def disted(a, b):
    return np.sqrt(np.sum(np.power
  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值