机器学习中距离与相似度度量ppt课件
- 格式:ppt
- 大小:683.50 KB
- 文档页数:21
KNN算法在机器学习领域中被广泛应用,它是一种监督学习算法,用于分类和回归。
KNN算法的核心思想是基于已知类别的数据集,通过测量新数据点与已知类别数据点之间的距离来进行分类。
在KNN算法中,常用的距离度量有欧氏距离和余弦相似度。
在本文中,我们将深入探讨这两种距离度量的特点和应用,以便更好地理解它们在KNN算法中的作用。
1. 欧氏距离欧氏距离是最常见的距离度量方式之一,它衡量的是两个点之间的直线距离。
在二维空间中,欧氏距离的计算公式为:\[d(x,y) = \sqrt{(x1-y1)^2 + (x2-y2)^2}\]其中,\(x\)和\(y\)分别是两个点的坐标,\(x1\)和\(y1\)是\(x\)和\(y\)的第一个维度的坐标,\(x2\)和\(y2\)是\(x\)和\(y\)的第二个维度的坐标。
2. 余弦相似度余弦相似度是衡量两个向量方向的夹角的相似程度,它不考虑向量的大小。
在KNN算法中,常用余弦相似度来衡量特征向量之间的相似程度。
余弦相似度的计算公式为:\[similarity = \frac{A \cdot B}{||A|| \times ||B||}\]其中,\(A\)和\(B\)分别是两个特征向量,\(A \cdot B\)是\(A\)和\(B\)的点积,\(||A||\)和\(||B||\)分别是\(A\)和\(B\)的范数。
3. 欧氏距离和余弦相似度的比较欧氏距离和余弦相似度在KNN算法中的作用略有不同。
欧氏距离更适用于数值型特征,它能够更好地反映不同特征之间的绝对距离。
而余弦相似度更适用于文本分类、推荐系统等领域,它能够更好地反映特征向量之间的相对方向。
4. 个人观点和理解在实际应用中,选择欧氏距离还是余弦相似度取决于数据的特征和具体情况。
在处理数值型特征时,欧氏距禿更能反映特征之间的绝对距离,更适合于KNN算法的分类。
而在处理文本分类、推荐系统等领域时,余弦相似度能更好地反映特征向量之间的相对方向,更适合于KNN算法的应用。
机器学习中的相似性度量在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。
采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。
本文的目的就是对常用的相似性度量作一个总结。
本文目录:1. 欧氏距离2. 曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离5. 标准化欧氏距离6. 马氏距离7. 夹角余弦8. 汉明距离9. 杰卡德距离&杰卡德相似系数10. 相关系数&相关距离11. 信息熵12. hausdorff距离13. Bhattacharyya距离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)间的欧氏距离也可以用表示成向量运算的形式(4) Matlab计算欧氏距离Matlab计算距离主要使用pdist函数。
若X是一个M×N的矩阵,则pdist(X)将X矩阵M 行的每一行作为一个N维向量,然后计算这M个向量两两间的距离。
例子:计算向量(0,0)、(1,0)、(0,2)两两间的欧式距离X=[0 0 ; 1 0 ; 0 2]D=pdist(X,′euclidean′)结果:D=1.00002.0000 2.23612. 曼哈顿距离(Manhattan Distance)从名字就可以猜出这种距离的计算方法了。
想象你在曼哈顿要从一个十字路口开车到另外一个十字路口,驾驶距离是两点间的直线距离吗?显然不是,除非你能穿越大楼。
实际驾驶距离就是这个“曼哈顿距离”。
而这也是曼哈顿距离名称的来源,曼哈顿距离也称为城市街区距离(City Block distance)。
机器学习中距离和相似性度量方法距离和相似性度量是机器学习中一种重要的数学工具,用于衡量数据集中样本之间的相似性或差异。
在许多机器学习算法中,距离和相似性度量方法被广泛应用于分类、聚类、降维等任务中,帮助机器学习模型更好地理解和处理数据。
下面将介绍一些常见的距离和相似性度量方法。
1. 欧几里得距离(Euclidean distance):欧几里得距离是最常用的距离度量方法之一,用于计算两个向量之间的直线距离。
对于两个n维向量x和y,欧几里得距离可以表示为:d(x, y) = sqrt((x1-y1)^2 + (x2-y2)^2 + ... + (xn-yn)^2)2. 曼哈顿距离(Manhattan distance):曼哈顿距离是另一种常见的距离度量方法,用于计算两个向量之间的路径距离。
对于两个n维向量x和y,曼哈顿距离可以表示为:d(x, y) = ,x1-y1, + ,x2-y2, + ... + ,xn-yn3. 闵可夫斯基距离(Minkowski distance):闵可夫斯基距离是欧几里得距离和曼哈顿距离的推广,可以根据参数p的不同取值决定使用欧几里得距离还是曼哈顿距离。
对于两个n维向量x和y,闵可夫斯基距离可以表示为:d(x, y) = ((,x1-y1,^p) + (,x2-y2,^p) + ... + (,xn-yn,^p))^1/p4. 切比雪夫距离(Chebyshev distance):切比雪夫距离是曼哈顿距离的推广,用于计算两个向量之间的最大绝对差距。
对于两个n维向量x和y,切比雪夫距离可以表示为:d(x, y) = max(,x1-y1,, ,x2-y2,, ..., ,xn-yn,)5. 余弦相似度(Cosine similarity):余弦相似度是一种广泛用于文本和稀疏数据的相似性度量方法。
对于两个n维向量x和y,余弦相似度可以表示为:sim(x, y) = (x·y) / (,x,*,y,)其中,x·y表示向量x和y的点积,x,和,y,表示向量x和y的范数。
机器学习中的相似性度量⽅法在机器学习和数据挖掘中,我们经常需要知道个体间差异的⼤⼩,进⽽评价个体的相似性和类别。
最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。
不同距离度量的应⽤场景根据数据特性的不同,可以采⽤不同的度量⽅法。
which one to use depends on what type of data we have and what our notion of similar is.各种“距离”的应⽤场景简单概括为,空间:欧⽒距离,路径:曼哈顿距离,国际象棋国王:切⽐雪夫距离,以上三种的统⼀形式:闵可夫斯基距离,加权:标准化欧⽒距离,排除量纲和依存:马⽒距离,向量差距:夹⾓余弦,编码差别:汉明距离,集合近似度:杰卡德类似系数与距离,相关:相关系数与相关距离。
距离度量公理Axioms of Distance Measures⼀般⽽⾔,定义⼀个距离函数 d(x,y), 需要满⾜下⾯⼏个准则:(即距离度量需要满⾜的性质)1) d(x,y) = 0 iff x = y // 到⾃⼰的距离为02) d(x,y) >= 0 // 距离⾮负3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a4) d(x,k)+ d(k,y) >= d(x,y) // 三⾓形法则triangle inequality: (两边之和⼤于第三边)Note: iff = if and only if基础知识:熵与互信息[]⽂本相似度量⽅法⼀览此处的“⽂本”⼀词涵盖以下两个对象:1. 字符串/序列2. 包含较多⽂本内容的⽂档相关的度量⽅法可以分为两⼤类,各类下⾯再有⼀些具体的分类,⽐较常⽤的⽅法如见下图Note: lz这⾥LCS也可以认为就是编辑距离吧。
总的来说,⽂本相似度量⽅法可以分为两⼤类:1. String Based,即基于待⽐较的⽂本本⾝中的信息,该类⽅法评估的是”词法“上的相似性,或说朴素的相似性2. Corpus Based,即基于⼀个较⼤的⽂本集合中的信息,该类⽅法评估的是“语义”上的相似性[]欧⽒距离度量欧拉距离,来⾃于欧式⼏何,在数学上也可以成为范数。
全面总结7种距离、相似度方法距离(distance,差异程度)、相似度(similarity,相似程度)方法可以看作是以某种的距离函数计算元素间的距离,这些方法作为机器学习的基础概念,广泛应用于如:Kmeans聚类、协同过滤推荐算法、相似度算法、MSE损失函数、正则化范数等等。
本文对常用的距离计算方法进行归纳以及解析,分为以下几类展开:一、闵氏距离(Minkowski Distance)类二、相似度(Similarity)三、字符串距离(Distance of Strings)四、集合距离 (Distance of Sets)五、信息论距离 (Information Theory measures)六、时间系列、图结构的距离七、度量学习(Metric Learning)附、常用的度量方法汇总一、闵氏距离(Distance)类•闵氏距离(Minkowski Distance)对于点x=(x1,x2...xn) 与点y=(y1,y2...yn) , 闵氏距离可以用下式表示:闵氏距离是对多个距离度量公式的概括性的表述,p=1退化为曼哈顿距离;p=2退化为欧氏距离;切比雪夫距离是闵氏距离取极限的形式。
•曼哈顿距离(Manhattan Distance)VS 欧几里得距离(Euclidean Distance)曼哈顿距离公式:欧几里得距离公式:如下图蓝线的距离即是曼哈顿距离(想象你在曼哈顿要从一个十字路口开车到另外一个十字路口实际驾驶距离就是这个“曼哈顿距离”,此即曼哈顿距离名称的来源,也称为城市街区距离),红线为欧几里得距离:•切比雪夫距离(Chebyshev Distance)切比雪夫距离起源于国际象棋中国王的走法,国际象棋中国王每次只能往周围的8格中走一步,那么如果要从棋盘中A格(x1,y1)走到B格(x2,y2)最少需要走几步?你会发现最少步数总是max(|x2-x1|,|y2-y1|)步。
有一种类似的一种距离度量方法叫切比雪夫距离。
机器学习中的度量——向量距离机器学习是时下流⾏AI 技术中⼀个很重要的⽅向,⽆论是有监督学习还是⽆监督学习都使⽤各种“度量”来得到不同样本数据的差异度或者不同样本数据的相似度。
良好的“度量”可以显著提⾼算法的分类或预测的准确率,本⽂中将介绍机器学习中各种“度量”,“度量”主要由两种,分别为距离、相似度和相关系数,距离的研究主体⼀般是线性空间中点;⽽相似度研究主体是线性空间中向量;相关系数研究主体主要是分布数据。
本⽂主要介绍距离。
1 向量距离1.1 欧式距离¬——从勾股定理⽽来让我回忆⼀下中学时候学过的勾股定理,历史悠久的勾股定理告诉了如果在⼀个直⾓三⾓形中两条直⾓边分别为a 和b ,那么斜边c 和a 、b 的关系⼀定满⾜c 2=a 2+b 2图1 勾股定理图2 成书于宋⾦时期《测圆海镜》中的⼗五个勾股形从直观上将,图2中两个点距离是蓝线的长度,⽽使⽤勾股定理可以计算出如图2的两个数据点之间距离。
图3 可汗学院距离教程中样例根据勾股定理很容易求出上⾯两个点距离为如下式⼦表⽰:这个最直观的距离还有⼀个正式称呼,欧⼏⾥得距离(Euclidean distance),上⾯是⼆维空间中欧式距离,更为⼀般的情况为:在笛卡尔坐标系(Cartesian Coordinates)中如果点x = (x1, x2,..., xn) 和点 y = (y1, y2, ..., yn) 是两个欧式空间的点,则点x 和点y 的欧式距离为:d Euclidean (x ,y )=d Euclidean (y ,x )=x 1−y 12+x 2−y 22+⋯+x n −y n 2=n∑i =1x i −y i 2 笛卡尔坐标系: ⼀种正交坐标系。
参阅图4,⼆维的直⾓坐标系是由两条相互垂直、相交于原点的数线构成的。
在平⾯内,任何⼀点的坐标是根据数轴上对应的点的坐标设定的图4 ⼀个直⾓坐标系1.2 曼哈顿距离¬¬——⾏⾛在纽约曼哈顿街道上曼哈顿距离(Manhattan distance)是由⼗九世纪的赫尔曼·闵可夫斯基所创辞汇,⽤以标明两个点上在标准坐标系上的绝对轴距之总和。
在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。
最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。
根据数据特性的不同,可以采用不同的度量方法。
一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则:1) d(x,x) = 0 // 到自己的距离为02) d(x,y) >= 0 // 距离非负3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a4) d(x,k)+ d(k,y) >= d(x,y) // 三角形法则: (两边之和大于第三边)这篇博客主要介绍机器学习和数据挖掘中一些常见的距离公式,包括:1.闵可夫斯基距离2.欧几里得距离3.曼哈顿距离4.切比雪夫距离5.马氏距离6.余弦相似度7.皮尔逊相关系数8.汉明距离9.杰卡德相似系数10.编辑距离11.DTW 距离12.KL 散度1. 闵可夫斯基距离闵可夫斯基距离(Minkowski distance)是衡量数值点之间距离的一种非常常见的方法,假设数值点 P 和 Q 坐标如下:那么,闵可夫斯基距离定义为:该距离最常用的 p 是 2 和 1, 前者是欧几里得距离(Euclidean distance),后者是曼哈顿距离(Manhattan distance)。
假设在曼哈顿街区乘坐出租车从 P 点到 Q 点,白色表示高楼大厦,灰色表示街道:绿色的斜线表示欧几里得距离,在现实中是不可能的。
其他三条折线表示了曼哈顿距离,这三条折线的长度是相等的。
当 p 趋近于无穷大时,闵可夫斯基距离转化成切比雪夫距离(Chebyshev distance):我们知道平面上到原点欧几里得距离(p = 2)为 1 的点所组成的形状是一个圆,当 p 取其他数值的时候呢?注意,当 p < 1 时,闵可夫斯基距离不再符合三角形法则,举个例子:当 p < 1, (0,0) 到 (1,1) 的距离等于 (1+1)^{1/p} > 2, 而 (0,1) 到这两个点的距离都是 1。