本文介绍马氏距离(Mahalanobis Distance),通过本文,你将了解到马氏距离的含义、马氏距离与欧式距离的比较以及一个通过马氏距离进行异常检测的例子(基于Python的sklearn包)。
目的
计算两个样本间的距离时,需要考虑样本所在的分布造成的影响。影响包括两个方面:
- 不同维度上的方差不同,进而不同维度在计算距离时的重要性不同;
- 不同维度间可能存在相关性,干扰距离计算。
当数据的分布已知时,我们通常会用马氏距离代替欧氏距离,或者选择另一种方法:对数据进行转换(如PCA)。
定义
- 度量样本到样本分布间的距离
d = ( x ⃗ − μ ⃗ ) T S − 1 ( x ⃗ − μ ⃗ ) d = \sqrt{(\vec x - \vec \mu)^T S^{-1} (\vec x - \vec \mu)} d=(x−μ)T