欧式距离余弦相似度matlab,相似度计算——欧氏距离,曼哈顿距离,闵可夫斯基距离,汉明距离,夹角余弦...

在机器学习领域,被俗称为距离,却不满足三条距离公理的不仅仅有余弦距离(满足正定性和对称性,但是不满足三角不等式),还有KL距离( Kulback- Leibler Divergence),也叫作相对熵(不满足对称性和三角不等式),它常用于计算两个分布之间的差异

欧氏距离

欧氏距离:

切比雪夫距离 ( Chebyshev Distance )

国际象棋,国王走一步能够移动到相邻的8个方格中的任意一个。那么国王从格子

走到格子

最少步数总是

步 。有一种类似的一种距离度量方法叫切比雪夫距离。

闵可夫斯基距离(Minkowski Distance)

其中p是一个变参数。

当p=1时,就是曼哈顿距离

当p=2时,就是欧氏距离

当p→∞时,就是切比雪夫距离

马氏距离

马氏距离又称为数据的协方差距离,它是一种有效的计算两个未知样本集的相似度的方法。马氏距离的结果也是将数据投影到N(0,1)区间并求其欧式距离,与标准化欧氏距离不同的是它认为各个维度之间不是独立分布的,所以马氏距离考虑到各种特性之间的联系。尺度无关,考虑数据之间的联系

最典型的就是根据距离作判别问题,即假设有n个总体,计算某个样品X归属于哪一类的问题。此时虽然样品X离某个总体的欧氏距离最近,但是未必归属它,比如该总体的方差很小,说明需要非常近才能归为该类。对于这种情况,马氏距离比欧氏距离更适合作判别。

夹角余弦距离

总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。

在机器学习问题中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常使用余弦相似度来表示。余弦相似度的取值范围是「-1,1],相同的两个向量之间的相似度为1.如果希望得到类似于距离的表示,将1減去余弦相似度即为余弦距离。因此,余弦距离的取值范围为[0,2],相同的两个向量余弦距离为0

对于两个向量A和B,其余弦相似度定义为:

即两个向量夹角的余弦,关注的是向量之间的角度关系,并不关心它们的绝对大小,其取值范围是[-1,1]。当一对文本相似度的长度差距很大但内容相近时,如果使用词频或词向量作为特征,它们在特征空间中的的欧氏距离通常很大;而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度高。此外,在文本、图像、视频等领域,研究的对象的特征维度往往很高,余弦相似度在高维情况下依然保持“相同时为1,正交时为0,相反时为-1"”的性质,而欧氏距离的数值则受维度的影响,范围不固定,并且含义也比较模糊。

汉明距离

两个等长字符串s1与s2之间的汉明距离定义为将其中一个变为另外一个所需要作的最小替换次数。例如字符串“1111”与“1001”之间的汉明距离为2。

应用:信息编码(为了增强容错性,应使得编码间的最小汉明距离尽可能大)。

曼哈顿(Manhattan)距离

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

你可能感兴趣的:(欧式距离余弦相似度matlab)