马氏距离(Mahalanobis distance)

  马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为协方差矩阵为Σ的多变量矢量,其马氏距离为

马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量的差异程度:

   如果协方差矩阵为单位矩阵,马氏距离就简化为欧式距离;如果协方差矩阵为对角阵,其也可称为正规化的马氏距离。

其中σi是xi的标准差

基础知识

假设空间中两点x,y,定义:

欧几里得距离:

Mahalanobis距离:

不难发现,如果去掉马氏距离中的协方差矩阵,就退化为欧氏距离。那么我们就需要探究这个多出来的因子究竟有什么含义。

第一个例子基础知识

从下往上的一段50米长的坡道路,下面定一个A点,上面定B一个点。假设有两种情况从A到B:

a)坐手扶电梯上去。

b)从手扶电梯旁边的楼梯爬上去。

两种情况下我们分别会产生两种不同的主观感受,坐电梯轻松愉快,感觉很快就从A到了B——“A与B真近”;走楼梯爬的气喘吁吁很累,感觉走了好久才走到B——“A与B真远”。

第二个例子

观看落日之时,由于大气的折射效应,太阳形状产生形变并且视觉位置也比真实位置高。

解释

以上两个例子看似和模式识别没有关系,实际上都引入了“相对论”的问题。回到问题本身,欧式距离就好比一个参照值,它表征的是当所有类别等概率出现的情况下,类别之间的距离。此时决策面中心点的位置就是两个类别中心的连线的中点。如图1所示。而当类别先验概率并不相等时,显然,如果仍然用中垂线作为决策线是不合理的,将出现判别错误(绿色类的点被判别为红色类),假设图1中绿色类别的先验概率变大,那么决策线将左移,如图2黄线。左移的具体位置,就是通过马氏距离来获得的。马氏距离中引入的协方差参数,表征的是点的稀密程度。

  从哲学上来说,用马氏距离处理数据时,不再把数据单纯的看作是冷冰冰的数字——那个引入的协方差,承认了客观上的差异性,就好像是有了人类的感情倾向,使得模式识别更加“人性化”也更加“视觉直观”。

时间: 2024-11-04 04:26:19

马氏距离(Mahalanobis distance)的相关文章

MATLAB求马氏距离(Mahalanobis distance)

MATLAB求马氏距离(Mahalanobis distance) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.马氏距离计算公式 d2(xi, xj)=(xi-xj)TS-1(xi-xj) 其中,S是总体的协方差矩阵,而不是样本的协方差矩阵. 2.matlab中现有的函数 >> x=[155 66;180 71;190 73;160 60;190 68;150 58;170 75] x = 155 66 180 71 190 73 160

各种距离 欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准欧氏距离、马氏距离、余弦距离、汉明距离、杰拉德距离、相关距离、信息熵

1. 欧氏距离(Euclidean Distance) 欧氏距离是最容易直观理解的距离度量方法,我们小学.初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离. 二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离: 三维空间点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离: n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的欧氏距离(两个n维向量): Matlab计算欧氏距离: Matlab计算距离使用pdist函数.若X是一个m×n的矩阵,

paper 114:Mahalanobis Distance(马氏距离)

(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalanobis distance is a distance measure introduced by P. C. Mahalanobis in 1936.It is based on correlations between variables by which different patterns

Mahalanobis距离(马氏距离)的“哲学”解释

讲解教授:赵辉 (FROM : UESTC) 课程:<模式识别> 整理:PO主 基础知识: 假设空间中两点x,y,定义: 欧几里得距离, Mahalanobis距离, 不难发现,如果去掉马氏距离中的协方差矩阵,就退化为欧氏距离.那么我们就需要探究这个多出来的因子究竟有什么含义. 第一个例子 从下往上的一段50米长的坡道路,下面定一个A点,上面定B一个点.假设有两种情况从A到B: a)坐手扶电梯上去. b)从手扶电梯旁边的楼梯爬上去. 两种情况下我们分别会产生两种不同的主观感受,坐电梯轻松愉快,

metric learning -- 马氏距离与欧氏距离

马氏距离是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离. 协方差:

基于欧氏距离和马氏距离的异常点检测—matlab实现

前几天接的一个小项目,基于欧氏距离和马氏距离的异常点检测,已经交接完毕,现在把代码公开. 基于欧式距离的: load data1.txt %导入数据,行为样本,列为特征 X=data1; %赋值给X u=mean(X); %求均值 [m,n]=size(X); for i=1:m dist(i)=sqrt(sum(X(i,:)-u).^2); end [a,b]=sort(dist);%对欧氏距离进行排序 T=ceil(m*0.02)%设置阀值 Threshold=a(m-T);%定为阀值 le

马氏距离在SLAM中的应用

在数据关联中,常常采用马氏距离来计算实际观测特征 i 与地图特征 j 的距离,从而能较为准确的选出最可能的关联.具体的做法是: D(ij)=sqrt( ( Z(i)-μ(j) )'Σ^(-1)( Z(i)-μ(j) ) ) Z(i)表示当前激光雷达的第i个测量,μ表示EKF或其他算法所维护的地图集合. 技术背景 马氏距离可以用来计算两个样本集之间的相似度,与欧式距离不同的是它考虑样本各种特性之间的联系:例如,体重和身高是有联系的, 在衡量两个人的体型相似度的时候不能单独考虑体重,还需结合其身高进

【BZOJ 1193】 [HNOI2006]马步距离

1193: [HNOI2006]马步距离 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 919  Solved: 419 [Submit][Status] Description Input 只包含4个整数,它们彼此用空格隔开,分别为xp,yp,xs,ys.并且它们的都小于10000000. Output 含一个整数,表示从点p到点s至少需要经过的马步移动次数. Sample Input 1 2 7 9 Sample Output 5 贪心+暴

string型哈希值的明氏距离比较

前一段时间在网上找以图搜图的资料,发现了感知哈希算法,得出的哈希值以字符串形式保存,我们管这种形式叫做哈希指纹.字符串中为十六进制数,需计算其二进制中的明氏距离,即二进制表示中不一样位数的个数.如下测试代码: // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; int LSH(string str1,string str2); int sub