【知识学习】马氏距离 Mahalanobis Distance

目录

1. 协方差的意义

2. 马氏距离

2.1 概述

2.2 公式

2.3 实际意义

2.4 局限性

2.4.1 协方差矩阵必须满秩【不平衡数据少数类一般都不是】

2.4.2 不能处理非线性流形(manifold)的问题【线性流形和非线性流形,特征选择是线性降维吗】

2.5 优点

3. 思考

4. Reference


马氏距离(Mahalanobis Distance)是度量学习中一种常用的距离指标,同欧氏距离、曼哈顿距离、汉明距离等一样被用作评定数据之间的相似度指标。但却可以应对高维线性分布的数据中各维度间非独立同分布的问题。

1. 协方差的意义

协方差就是衡量多维数据集中,变量之间相关性的统计量。比如说,一个人的身高与他的体重的关系,这就需要用协方差来衡量。如果两个变量之间的协方差为正值,则这两个变量之间存在正相关,若为负值,则为负相关。

  • 当其大于0时,表明X与Y正相关;
  • 当其小于0时,表明X与Y负相关;
  • 当其等于0时,表明X与Y不相关;

2. 马氏距离

2.1 概述

马氏距离(Mahalanobis Distance)是由马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。马氏距离(Mahalanobis Distance)是一种距离的度量,可以看作是欧氏距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。【考虑特征之间的相关性有什么意义呢】

2.2 公式

对于一个均值为,协方差矩阵为的多变量矢量,其马氏距离为。

马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为的随机变量X和Y的差异程度或者数据点x和y之间的马氏距离。

2.3 实际意义

先举个比较常用的例子,身高和体重,这两个变量拥有不同的单位标准,也就是有不同的scale。比如身高用毫米计算,而体重用千克计算,显然差10mm的身高与差10kg的体重是完全不同的。但在普通的欧氏距离中,这将会算作相同的差距【如果说归一化之后还会有影响吗】

当然我们可以先做归一化来消除这种维度间scale不同的问题,但是样本分布也会影响分类。举个一维的栗子,现在有两个类别,统一单位,第一个类别均值为0,方差为0.1,第二个类别均值为5,方差为5。那么一个值为2的点属于第一类的概率大还是第二类的概率大?距离上说应该是第一类,但是直觉上显然是第二类,因为第一类不太可能到达2这个位置。所以,在一个方差较小的维度下很小的差别就有可能成为离群点。就像下图一样,A与B相对于原点的距离是相同的。但是由于样本总体沿着横轴分布,所以B点更有可能是这个样本中的点,而A则更有可能是离群点【其实不是很理解QAQ】

还有一个问题——如果维度间不独立同分布,样本点一定与欧氏距离近的样本点同类的概率更大吗?【就是说欧氏距离同类的概率不一定大】

可以看到样本基本服从f(x) = x的线性分布,A与B相对于原点的距离依旧相等,显然A更像是一个离群点。即使数据已经经过了标准化,也不会改变A B与原点间距离大小的相互关系。所以要本质上解决这个问题,就要针对主成分分析中的主成分来进行标准化。【为什么会涉及到主成分分析中的主成分啊】

2.4 局限性

2.4.1 协方差矩阵必须满秩【不平衡数据少数类一般都不是】

里面有求逆矩阵的过程,不满秩不行,要求数据要有原维度个特征值,如果没有可以考虑先进行PCA,这种情况下PCA不会损失信息。

2.4.2 不能处理非线性流形(manifold)的问题【线性流形和非线性流形,特征选择是线性降维吗】

只对线性空间有效,如果要处理流形,只能在局部定义,可以用来建立KNN图。

2.5 优点

不受量纲的影响,两点之间的马氏距离与原始距离的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除相关性的干扰。

3. 思考

(1)首先,为什么用马氏距离?

利用马氏距离排除变量之间相关性的干扰,更好的计算点与类之间的距离,分类更精确

(2)会出现什么问题?

数据过采样的话,需要计算距离的样本更多的是处于少数类中,又是特征选择问题,其实很容易出现特征数大于样本数的情况,此时,协方差如何计算?

(3)非线性流形是什么意思?排除变量之间的干扰与不适用非线性流形之间是否矛盾?

4. Reference

马氏距离(Mahalanobis Distance)_意念回复的博客-CSDN博客_马氏距离
降维方法总结(线性与非线性)_rederchen的博客-CSDN博客_线性降维和非线性降维的区别

你可能感兴趣的:(Knowledge,learning,数据挖掘,机器学习,人工智能)