马氏距离(Mahalanobis distance)
假设空间中两个点x,y,定义
欧式距离(欧几里得距离)
Mahalanobis距离
不难发现,如果去掉马氏距离中的协方差矩阵,就退化为欧氏距离。那么我们就需要探究这个多出来的因子究竟有什么含义。
1、当S为单位矩阵时,马氏距离就是欧式距离,可以把马氏距离看成是欧式距离的一种修正。修正了欧式距离中各个维度吃醋不一致且相关的问题。
计算两个样本间的距离时,需要考虑样本所在的分布造成的影响,影响包括两个方面:
1。不同维度上的方差不同,进而不同维度在计算距离时的重要性不同;
2、不同维度间可能存在相关性,干扰距离计算。
当数据的分布已知时,我们通常会用马氏距离代替欧氏距离。
定义:
1。度量样本到样本分布间的距离
其中,是样本分布的均值,S是样本分布的协方差矩阵。
2、度量一个分布下,两个样本之间的距离
直观理解
下面是一个二维空间中距离度量的例子。
图中,圆圈表示样本分布的中心点c,两个叉分别表示两个样本点x,y,从图中可以看出,在二维空间中两个叉到样本分布
中心点间的欧氏距离相等,但是很明显,绿叉应该是分布内的点,红叉是分布外的点,所以绿叉距离分布中心点的距离应该
更近才合理。
使用马氏距离,就等同于通过数据转换的方法,消除样本中不同特征维度间的相关性和量纲差异,使得欧氏距离在新的分布上能有效度量样本到分布间的距离。
step1:端详一下原始数据分布的特点。
这些样本的特征维度即为横坐标轴和纵坐标轴,且两个特征维度呈现明显的正相关性。
step2,消除不同维度之间的相关性。
消除特征维度间的相关性后,样本分布图如下所示,还存在的一个问题是两个特征维度间的量纲不一致。
step3:消除不同维度之间的量纲差异。
经过以上三步,样本间的距离可以用欧氏距离来衡量。
性质:
马氏距离消除了样本不同维度之间的方差差异和相关性,是一个无量纲的度量方式。
与欧式距离的关系
1、如果协方差矩阵是单位矩阵--》样本的特征维度间相关性(协方差)=0,量纲一致--》马氏距离等同于欧式距离。
2、如果协方差矩阵是对角矩阵--》样本的特征维度间的量纲一致--》马氏距离等同于标准化的欧式距离。