龙空技术网

样本距离 - 数据挖掘方法

银河统计工作室 107

前言:

当前兄弟们对“数据挖掘的算法类型”可能比较着重,我们都想要知道一些“数据挖掘的算法类型”的相关内容。那么小编同时在网摘上收集了一些有关“数据挖掘的算法类型””的相关知识,希望小伙伴们能喜欢,你们一起来了解一下吧!

在数据挖掘技术中,"距离"和"相似性"是常用的概念。它们用于描述数据之间的相对距离或相似程度,从而帮助我们进行聚类、分类和预测等任务。

距离表示为绝对数,指的是两个数据之间的距离或差异程度,通常用欧氏距离、曼哈顿距离、闵可夫斯基距离等方式进行度量。其中欧氏距离是指两个点之间的直线距离,曼哈顿距离则是指两点之间的曼哈顿距离(即横纵坐标距离的绝对值之和),而闵可夫斯基距离则是这两种距离的一般化形式。距离度量可以帮助我们在数据空间中测量两个数据之间的相对距离,从而帮助我们进行聚类、分类等任务。

一、欧氏距离(Euclidean Distance)

欧氏距离是一个经常使用的距离公式,指在m维空间中两个点之间的真实直线距离,或者向量的自然长度(即该点到原点的距离)。

二维平面上两点A(X1, Y1)和B(X2, Y2)间的欧氏距离:

三维平面上两点A(X1, Y1, Z1)和B(X2, Y2, Z2)间的欧氏距离:

设有m个n维向量 (Xk1,Xk2,…,Xkn),k=1,2,…,m;向量 (Xi1,Xi2,…,Xin)与 (Xj1,Xj2,…,Xjn) 间的欧氏距离:

现有10名学生六门课程成绩表(附表I)如下:

计算第3名和第5名学生成绩之间的欧氏距离。

:第3名成绩向量为A(76,93,93,79,71,27)A(76,93,93,79,71,27)

第5名成绩向量为B(80,39,48,75,41,52)和B(80,39,48,75,41,52)

两者欧氏距离为:

为了对比每两名之间的欧氏距离值,需要计算出欧氏距离矩阵如下:

距离矩阵为方阵,具有对称性,只需要计算出对角线以下三角阵即可。距离方阵中,对角线为0表示样本自身完全一样,所以距离为0。

从距离方阵中我们可以发现最小值为 D18 = D81 = 18.60 ,表示第1名同学和第8名同学6门课程综合距离最小,即两者成绩最相近。

那么,和第5名同学成绩最近的是哪名同学呢?通过查询距离方阵中第5行和第5列可知D57=D75=27.07。所以, 第5名同学和第7名同学6门课程综合距离最小,两者成绩最相近。

二、曼哈顿距离(Manhattan Distance)

曼哈顿距离也称为城市街区距离(City Block distance),想象在曼哈顿要从一个十字路口开车到另外一个十字路口,驾驶距离是两点间的直线距离吗?显然不是,除非你能穿越大楼。实际驾驶距离就是“曼哈顿距离”。

由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。

可以定义曼哈顿距离为在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。

在二维平面上两点 A(X1,Y1) 和 B(X2,Y2) 的曼哈顿距离为:

D12 = |X1−X2|+|Y1−Y2|

设有m个n维向量 (Xk1,Xk2,…,Xkn),k=1,2,…,m;向量 (Xi1,Xi2,…,Xin)与 (Xj1,Xj2,…,Xjn) 间的曼哈顿距离为:

Dij=|Xi1−Xj1|+|Xi2−Xj2|+⋯+|Xim−Xjm|=∑k=1m|Xik−Xjk|

根据【图表1】中学生成绩表计算第3名和第5名学生成绩之间的曼哈顿距离。

解:第3名成绩向量为A(76,93,93,79,71,27)、第5名成绩向量为B(80,39,48,75,41,52),两者曼哈顿距离为,

根据【图表1】中学生成绩表计算第3名和第5名学生成绩之间的曼哈顿距离。

:第3名成绩向量为A(76,93,93,79,71,27)、第5名成绩向量为B(80,39,48,75,41,52),两者曼哈顿距离为,

D35=|76−80|+|93−39|+|93−48|+|79−75|+|71−41|+|27−52|=172

曼哈顿距离的计算比欧氏距离简单,曼哈顿距离是多维样本间的两两绝对值差值之和,欧氏距离是多维样本间的两两绝对值差值平方和的二次方根

三、切比雪夫距离(Chebyshev Distance)

切比雪夫距离得名自俄罗斯数学家切比雪夫。在数学中,切比雪夫距离是向量空间中的一种度量,二个点之间的距离定义是其各坐标数值差绝对值的最大值。

在平面上两点 A(X1,Y1) 和 B(X2,Y2)的切比雪夫距离为:

D12=max(|X1−X2|,|Y1−Y2|

设有m个n维向量 (Xk1,Xk2,…,Xkn),k=1,2,…,m;向量 (Xi1,Xi2,…,Xin)与 (Xj1,Xj2,…,Xjn) 间的切比雪夫距离为:

根据【图表1】中学生成绩表计算第3名和第5名学生成绩之间的切比雪夫距离。

:第3名成绩向量为A(76,93,93,79,71,27)、第5名成绩向量为B(80,39,48,75,41,52),两者切比雪夫距离为:

D35=max(|76−80|,|93−39|,|93−48|,|79−75|,|71−41|,|27−52|)=54

切比雪夫距离对单科成绩距离差非常敏感,换句话说学生不能片刻,例如,如果衡量标准是每科88分,有一科课程偏低,排名就会靠后。

四、闵氏距离(Minkowski Distance)

又叫做闵可夫斯基距离 ,是欧氏空间中的一种测度,被看做是欧氏距离的一种推广。欧氏距离是闵可夫斯基距离的一种特殊情况。例如在平面上,坐标A(X1,Y1) 与坐标 B(X2,Y2)的闵氏距离为:

设有m个n维向量 (Xk1,Xk2,…,Xkn),k=1,2,…,m;向量 (Xi1,Xi2,…,Xin)与 (Xj1,Xj2,…,Xjn) 间的闵氏距离为:

闵氏距离不是一种距离,而是一组距离的定义。该距离最常用的p是2和1,前者是欧几里得距离,后者是曼哈顿距离。当 p→∞ 时,

即 p→∞ 时为切比雪夫距离。

上图反映了不同闵氏距离系数p的几何意义。图中p=2时为“欧氏距离”,两组样本时为平面圆、三组样本为圆球,超过三组为超圆。

根据【图表1】中学生成绩表计算第3名和第5名学生成绩之间的闵可夫斯基距离(p=1.5)。

:第3名成绩向量为A(76,93,93,79,71,27)、第5名成绩向量为B(80,39,48,75,41,52),两者闵可夫斯基距离为,

五、马氏距离(Mahalanobis Distance)

马氏距离由印度统计学家马哈拉诺斯(P.C.Mahalanobis)提出,表示数据的协方差距离,与欧式距离不同,它考虑了各指标之间相关性的干扰,而且不受各指标量纲的影响,但是它的缺点是夸大了变化微小的变量的作用。

设有m个n维向量 (Xk1,Xk2,…,Xkn),k=1,2,…,m;向量 (Xi1,Xi2,…,Xin)与 (Xj1,Xj2,…,Xjn) 间的马氏距离为:

式中S为样本协方差, Xi 和 Xj 为空间两点的向量。

为了更好理解马氏距离计算过程,下面给出一个简单案例。

现有样本集为:{(1,2),(3,4),(4,6),(2,3),(3,5)},求两样本{(1,2),(2,3)}的马氏距离。

、该样本集为二维变量5组样本。协方差公式为:

当样本集为m维变量时有,

矩阵中,

根据样本数据计算得,

和前面的距离公式相比,马氏距离计算比较复杂,涉及一些矩阵知识。上面的计算实例只是二维样本5组数据,计算的矩阵是二维矩阵。如果计算【图表1】中学生成绩表中6门课程数据,需要计算的是六维矩阵,手工计算是不可能的。

尽管如此,如果你有关于矩阵的数学基础、对算法编程感兴趣,认真阅读这个计算案例,然后用你熟悉的软件编程实现马氏距离计算,相信你一定会受益匪浅。

上面介绍了五种常用距离公式,算法不同,侧重点也不一样,实际工作中用马氏距离较多。但如果马氏距离处理(聚类或分类等)效果不佳,则考虑使用其它距离模型。

另外,在我们提到的公式和算法中,对不同样本指标都是等全看待,实践中可根据经验或需要对不同样本指标加权处理。例如,对于概率论、统计学、英语、政治、侧重程度数据挖掘、线性代数,不同用人单位可能侧重点不一样,如某用人单位对六门课程的侧重程度如下表:

课程

名称

概率论

统计学

英语

政治

数据

挖掘

线性

代数

合计

考试

成绩

80

90

60

60

90

80

460

权重

0.17

0.2

0.13

0.13

0.2

0.17

1

表中“权重”,进行了统计学中常用的归一化处理,这样,【图表1】中第3名和 第5名同学成绩的“加权欧氏距离”为:

六、运用EXCEL计算距离矩阵

数据挖掘实务中,样本数据量要求很大,距离矩阵的计算工作量不可能手工完成。对于很多熟悉EXCEL的实际工作者是个不小的挑战。

1、将10名学生六门课程成绩录入EXCEL表格

2、定义欧氏距离公式

【公式-B14fx=(($B2-$B$2)^2+($C2-$C$2)^2+($D2-$D$2)^2+($E2-$E$2)^2+($F2-$F$2)^2+($G2-$G$2)^2)^0.5

根据EXCEL表格数据,在单元格B14定义上述公式,然后复制、粘贴到单元格区域B15-B23

3、复制、粘贴【公式-B14】到距离矩阵对角线

【公式-对角线单元格】f x=(($Bi-$B$i)^2+($Ci-$C$i)^2+($Di-$D$i)^2+($Ei-$E$i)^2+($Fi-$F$i)^2+($Gi-$G$i)^2)^0.5

注意,公式中,i = 2, 3, ..., 11

4、分别将距离矩阵对角线单元格公式复制、粘贴到所在列

5、最终改进的公式

【公式-B14fx=((INDIRECT("$B"&$A14+1)-INDIRECT("$B"&B$13+1))^2+(INDIRECT("$C"&$A14+1)-INDIRECT("$C"&B$13+1))^2+(INDIRECT("$D"&$A14+1)-INDIRECT("$D"&B$13+1))^2+(INDIRECT("$E"&$A14+1)-INDIRECT("$E"&B$13+1))^2+(INDIRECT("$F"&$A14+1)-INDIRECT("$F"&B$13+1))^2+(INDIRECT("$G"&$A14+1)-INDIRECT("$G"&B$13+1))^2)^0.5

在单元格B14定义上述公式,然后复制、粘贴到所有距离矩阵单元格区域B15-K23

最终公式比较复杂,是前面对角线公式的改进。公式设计需要有扎实的EXCEL编程基础。至于其它距离公式矩阵,可参照欧氏距离公式。

标签: #数据挖掘的算法类型