余弦距离,欧式距离,马氏距离之间的关系

欧式距离:

马氏距离:

S为协方差矩阵,当样本集合的协方差矩阵是单位矩阵时,即样本的各个维度上的方差均为1.马氏距离就等于欧式距离相等。

余弦距离:

一,余弦距离和欧式距离:

两个向量间的余弦值可以通过使用欧几里得点积公式求出:

从三维图可以看出:

虚线为欧式距离:欧氏距离衡量的是空间各点的绝对距离,跟各个点所在的位置坐标直接相关。

夹角为余弦距离:衡量的是空间向量的夹角,更加体现在方向上的差异,而不是位置。

欧氏距离更倾向于:体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析

余弦距离:更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦距离对绝对数值不敏感)。
以一个例子说明余弦距离:

x,y向量为两条新闻,x,y的各个维度就相当于该新闻所包含的信息。两向量的夹角越小,两条新闻越相似。这与x,y各个维度的数值无关,至于夹角有关。

因为归一化后,A,B的模为1.

二,马氏距离与欧式距离:

马氏距离是不受量纲影响的欧式距离。

欧式距离的缺点:

若判断A,B两个人哪个适合打篮球:A身高1.8米,弹跳50厘米。B身高2.6米,弹跳20厘米。按照欧式距离,虽然A身高比B少了0.8米,但是A弹跳比B多30厘米啊,所以欧式距离会认为A应该比B适合。但是我们直觉会认为,B两米多高啊,A才1.8米,A的弹跳多那30厘米也没什么 用啊。所以结论就是 欧式距离 容易受量纲影响

但是归一化后的欧式距离越近,就越相似?

当然我们可以先做归一化来消除这种维度间量纲不同的问题,但是样本分布也会影响分类

如下图一样,设现在有x,y两个维度,且x,y的均值都为0。A与B相对于原点的欧式距离是相同的。但是由于样本总体沿着横轴分布,所以B点更有可能是这个样本中的点,而A则更有可能是离群点。

因此,也要考虑上方差(数据偏离均值的程度)的影响,上图明显y轴的偏离程度少与x轴的偏离程度。在一个方差较小的维度下很小的差别就有可能成为离群点。

那么当各个维度的方差相同就足够了?

如下图所示:

其中x,y两个维度的方差(离均值0的偏离程度)相同,但是为什么看上去还是A比较像离群点?因为可以看出样本集是服从f(x)=x分布的。所以要马氏距离等于欧式距离,就必须要求样本集是独立分布的。

由于常用的标准化方法为:

标准化后数据 = (原数据 - 均值)/标准差

所以标准化后,均值为0,标准差等于方差等于1.

所以要马氏距离等于欧式距离:

就要求数据:

1.各维度独立分布

2.方差相等为1,均值为0,且进行标准化过。

这时候马氏距离就等于欧式距离。此时图上,B距离比A近,因此可以看作B为样本点,A为离群点。

发布了270 篇原创文章 · 获赞 408 · 访问量 76万+

猜你喜欢

转载自blog.csdn.net/u014453898/article/details/98657357