马氏距离-协方差矩阵

笔者在写【几种常见的距离计算公式】时,提到了马氏距离,当时困惑了很久,没搞清楚协方差矩阵具体的内容,通过查阅很多资料,在此总结一下,感谢网络上的贡献者。

  1. 马氏距离
    马氏距离就是用于度量两个坐标点之间的距离关系,表示数据的协方差距离。与尺度无关的(scale-invariant),即独立于测量尺度。

  2. 那么为什么要提出协方差呢?
    标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集。面对这样的数据集,当然,可以按照每一维(feature)独立的计算其方差,但是,通常我们还想了解每个样本中各维度(feature)之间的关系,我们可以仿照方差的定义:
    在这里插入图片描述
    在这里插入图片描述
    来度量各个维度(feature)之间的相关性,协方差可以这么来定义:
    在这里插入图片描述
    即:
    在这里插入图片描述
    其中,X,Y表示两个维度(特征),n表示样本的个数。

  3. 协方差的结果有什么意义呢?
    如果结果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。在PCA的求解过程中,正是要求协方差为0,保证特征之间相互独立。

比如有两个变量X,Y(马氏距离中的两个维度,也可以理解为机器学习、深度学习中提到的feature),观察t1-t7(7个时刻,即7个样本)他们的变化情况。分别用蓝色和红色表示X、Y,横轴是时间。可以看到X,Y均围绕各自的均值运动,并且很明显是同向变化的。
在这里插入图片描述

我们发现每一时刻它们的值做同向运动,它们的维度正相关。

如果反向运动呢?
在这里插入图片描述

  1. 协方差的性质(X、Y代表两个维度)
    在这里插入图片描述
    在这里插入图片描述
  2. 协方差矩阵
    遇到一个样本有多个随机变量(feature、维度),可以将协方差表示为:
    在这里插入图片描述

公式定义如下:
在这里插入图片描述
其中, X n X_n Xn表示第n个特征,显然,协方差矩阵是一个对称阵。

  1. 总结
    上面的内容看起来似乎很简单,但实战起来就很容易让人迷茫了。计算协方差需要计算均值,那是按行计算均值还是按列呢,必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的协方差。所以,所计算的平均值是同一维度的均值,在计算之前一定要弄清楚一列到底是代表一个样本还是一个维度。
    1)马氏距离的计算是建立在总体样本的基础上的,这一点可以从上述协方差矩阵的解释中可以得出,也就是说,如果拿同样的两个样本,放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的,除非这两个总体的协方差矩阵碰巧相同;
    2)在计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情况下,用欧式距离计算即可;
    3)还有一种情况,满足了条件总体样本数大于样本的维数,但是协方差矩阵的逆矩阵仍然不存在,比如三个样本点(3,4),(5,6)和(7,8),这种情况是因为这三个样本在其所处的二维空间平面内共线。这种情况下,也采用欧式距离计算;
    4)在实际应用中“总体样本数大于样本的维数”这个条件是很容易满足的,而所有样本点出现3)中所描述的情况是很少出现的,所以在绝大多数情况下,马氏距离是可以顺利计算的,但是马氏距离的计算是不稳定的,不稳定的来源是协方差矩阵,这也是马氏距离与欧式距离的最大差异之处。
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值