换个姿势看马氏距离和主成分分析

作者丨张贺 

来源丨机器学习算法与Python实战(tjxj666

马氏距离[1],全称马哈拉诺比斯距离,是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的,即独立于测量尺度。

首先简要介绍一下欧式距离,假设在在一个p维空间中有两个点和 的欧式距离为: 

当p为2时,欧式距离即为平面上两个点的直线距离,在p维空间中,欧式距离即为p维空间上两个点的直线距离。

为了数学上的表达方便,我们经常使用平方欧式距离:

由公式可知,如果各分量的单位不全相同,则上述欧式距离是无意义的。即使各分量的单位相同,如果各分量的方差不同,那么欧式距离也会受到较大方差分量的影响。

为了便于理解,我们看一下到样本均值的平方欧式距离:

由于为随机变量,应在平均的角度观察每一项所起作用的大小,则有:

从公式中可以看出,方差越大,随机分量起的作用就越大。此处如果对各分量都做了标准化变换,则各分量方差均为1,因此平方和中各分量所起的平均作用都一样,

虽然欧式距离经变量的标准化之后能够消除各变量的单位或方差的不同影响,但不能消除变量之间相关性带来的不利影响。如图所示[2]

换个姿势看马氏距离和主成分分析

肉眼可见B点应该更加离群,但是经过标准化之后求欧式距离发现A点离原点更远,也就是A点更离群,这与我们的直觉相违背,主要原因在于有明显的线性相关关系,这对于欧式距离的计算会产生不利的影响。

那么如何克服分量之间的相关性对于欧式距离计算的影响呢?我们可以考虑对,坐标轴做一定程度的旋转,旋转成构成的新坐标轴,此处可以使得不相关,由于的方差不一样,那么同样可以通过标准化变化使得方差一样,新坐标系下两个点之间的欧式距离即为马氏距离。马氏距离的公式定义如下:

下面详细介绍一下马氏距离的推导过程:

是p维随机变量, ∑x 是随机向量x的协方差矩阵,它有特征值-特征向量对,其中为正交向量对。

对x做线性变换后得到新随机变量,其中维度为,x维度为

同理,可得,则对于,有

这里,即为随机变量x的主成分[3],第i个主成分的方差等于∑x的第i个特征值。

新随机变量y不同分量的协方差计算如下:

因此,对x做线性变换后得到新随机变量y里面的各分量是线性无关的,其协方差矩阵是对角矩阵,y的方差为,我们还需要对y做标准化处理,使得y的方差变为1,形成新的y,变换公式如下:

的协方差

代入上式,可得:

因而,对于旋转压缩后的的各分量之间线性无关,而且已经标准化,同时与尺度无关。因而这里可以直接使用欧氏距离描述两点之间的距离,公式如下:

证毕

以上可以看出,只需要将变量按照主成分进行旋转,从而让随机变量的各分量相互独立,然后进行标准化后的欧式距离即为马氏距离,对x的各分量做线性变换后,马氏距离保持不变,马氏距离是一个与各变量单位无关的纯数值.

Reference

https://en.wikipedia.org/wiki/Mahalanobis_distance

https://www.bilibili.com/video/av46833516?p=16

统计学习方法-李航

换个姿势看马氏距离和主成分分析

近期精彩内容推荐:  

换个姿势看马氏距离和主成分分析 直播界要哭了!罗永浩进军电商直播

换个姿势看马氏距离和主成分分析 家裁员我加薪,他凭什么身价1200亿?

换个姿势看马氏距离和主成分分析 什么?你还在使用fastjson,性能太差了

换个姿势看马氏距离和主成分分析 2020年抖音用户画像报告

换个姿势看马氏距离和主成分分析

换个姿势看马氏距离和主成分分析

在看点这里换个姿势看马氏距离和主成分分析好文分享给更多人↓↓

相关文章:

猜你喜欢
  • 2021-12-14
  • 2021-11-14
  • 2021-04-04
相关资源
相似解决方案