马氏距离

由来:
	马氏距离是由印度统计学家马哈拉诺比斯提出的,表示数据的协方差距离。是一种基于样本分布式的距离,能够很好地展现样本之间的相似度。

实例

opencv 马氏距离 马氏距离应用_数据

由上图所示,存两个准正态分布区间,均值分别为a,b。现在我们以欧氏距离度量准则考虑:
A点明显更加趋近于b区间,因此A点应该被划分为b类。但目前常用的欧氏距离具有不少的局限性。如:缺少对不同量纲的考虑,没有考虑数据之间的相关性(期望,方差...)
但如今我们采用马氏距离角度来考虑数据的分布情况,A点属于a类的概率明显远大于属于b类的概率,换句话说就是属于b类是小概率事件。

马氏距离的定义

假设数据G是一个n维样本,均值为(opencv 马氏距离 马氏距离应用_欧氏距离_02,opencv 马氏距离 马氏距离应用_协方差矩阵_03opencv 马氏距离 马氏距离应用_算法_04),协方差为opencv 马氏距离 马氏距离应用_协方差矩阵_05=opencv 马氏距离 马氏距离应用_算法_06,那么样本(opencv 马氏距离 马氏距离应用_数据_07)的马氏距离为:

opencv 马氏距离 马氏距离应用_欧氏距离_08 = (X-U)opencv 马氏距离 马氏距离应用_协方差矩阵_09(X-U)
下面举一个简单的例子:

A,B两个分部,均值,方差分别为(4,4),(1,0.125)一样本为2

opencv 马氏距离 马氏距离应用_opencv 马氏距离_10=opencv 马氏距离 马氏距离应用_算法_11/4 = 4= opencv 马氏距离 马氏距离应用_算法_12
opencv 马氏距离 马氏距离应用_算法_13=opencv 马氏距离 马氏距离应用_欧氏距离_14/0.125 = 8 =opencv 马氏距离 马氏距离应用_算法_15

欧式距离来看,该点明显靠近B分布,但是考虑数据的分布相关性,可以发现在马氏距离中该点更加倾向于A分布

马氏距离一些性质

1:与量纲无关,可以排除变量之间的干扰
2:马氏距离根据其总体样本的分布有关,也就是说同一个样本放在不同的样本分布区间会有不同的距离结果
3:要求总体样本数大于样本维数!!!

下面对性质3简单进行证明

从马氏距离公式中我们可以知道在进行高维距离计算中需要运用到协方差矩阵opencv 马氏距离 马氏距离应用_协方差矩阵_09的逆矩阵,因此性质3就是为了满足这个条件而产生的必然要求。

opencv 马氏距离 马氏距离应用_opencv 马氏距离_17

假设数据矩阵X(m,n),m为样本总数,n为样本的维度,在不清楚具体样本维度时候,我们可以采取使用采用均值代替样本均值。

此时Cov(X)=opencv 马氏距离 马氏距离应用_opencv 马氏距离_18

opencv 马氏距离 马氏距离应用_数据_19


rank( R)=m-1(这个学过矩阵论的应该清楚。。。)

rank(Cov( X))=rank(opencv 马氏距离 马氏距离应用_opencv 马氏距离_18)

=rank( Z)=rank( RX)=min(rank( R),rank( X))

=min(m-1,(m,n))=min(m-1,n)

所以要保证其可逆,要保证该协方差矩阵满秩,则m-1<n(矩阵性质),得证。