聚类分析及python实现(二)

既然聚类分析是按照对象之间的相似性和相异性来聚,那么如何来刻画对象的相似(相异)程度呢?这就今天要介绍的尺子——距离(distance).

距离是两对象之间的时间或空间相隔远近的度量,记d(A,B)为对象A与对象B之间的距离,距离要满足下面3条公理.

非负性, 即 d(A,B)≥0,当且仅当A和B在一起的时候,d(A,B)=0;

对称性,即d(A,B)=d(B,A) , 也就是从A到B的距离与从B到A的距离是相等的.

三角不等式性,即d(A,B)≤d(A,C)+d(C,B) 如果在平面上很好理解,三角形两边之和不小于第三边.

满足这3条公理的距离也有好几种,先从最简单的入手,假设有n个样本,每个样本有k个指标,数据矩阵如下表所示

表1 数据矩阵

记第i个样本为

第j个样本为

把每个样本看成p维空间里的质点,记(i)与(j)的距离为d(i,j) , 那么

称为绝对距离. 而

称为欧几里得距离. 还有一个稍微复杂的距离公式

称为闵科夫斯基距离.

可以看到欧几里得距离是闵科夫斯基距离当q=2的特例. 更操蛋的就是闵科夫斯基距离的极限形式

称为切比雪夫距离.

不同的距离定义有不同的适用范围,一般来说,绝对距离直接把两个样本对应指标差值取绝对值求和,可谓简单粗暴;欧几里得距离通常采用的是原始数据,而并非正规化后的数据,比如某个指标在10-100内取值,那么便可以直接使用,不需要将其规范到[0,1]区间再度量,否则便消除欧几里得距离的意义了;闵科夫斯基距离把欧几里得距离一般化,应对高维情况;切比雪夫距离呢?因为取了最大值,故两个样本最大差异最后归根到底可能落在少数个指标上,打个比方,我们要对比班里两个男同学,他们都很帅,家境都很好,成绩都很优异,但是,一个是痞子性格,一个一本正经性格,于是乎用切比雪夫距离来衡量可能就在他们性格上.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181121A1R7D700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励