马氏距离(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黄线。左移的具体位置,就是通过马氏距离来获得的。马氏距离中引入的协方差参数,表征的是点的稀密程度。

从哲学上来说,用马氏距离处理数据时,不再把数据单纯的看作是冷冰冰的数字——那个引入的协方差,承认了客观上的差异性,就好像是有了人类的感情倾向,使得模式识别更加“人性化”也更加“视觉直观”。
马氏距离(Mahalanobis distance)的更多相关文章
- MATLAB求马氏距离(Mahalanobis distance)
MATLAB求马氏距离(Mahalanobis distance) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.马氏距离计算公式 d2(xi, ...
- paper 114:Mahalanobis Distance(马氏距离)
(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalan ...
- Mahalanobis Distance(马氏距离)
(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalan ...
- Mahalanobia Distance(马氏距离)的解释
马氏距离有多重定义: 1)可以表示 某一个样本与DataSet的距离. 2)可以表示两个DataSet之间的距离. 1) The Mahalanobis distance of an observat ...
- Mahalanobis距离(马氏距离)的“哲学”解释
讲解教授:赵辉 (FROM : UESTC) 课程:<模式识别> 整理:PO主 基础知识: 假设空间中两点x,y,定义: 欧几里得距离, Mahalanobis距离, 不难发现,如果去掉马 ...
- 有关马氏距离和hinge loss的学习记录
关于度量学习,之前没有看太多相关的文献.不过南京的周老师的一篇NIPS,确实把这个问题剖析得比较清楚. Mahalanobis距离一般表示为d=(x-y)TM(x-y),其中x和y是空间中两个样本点, ...
- 基于欧氏距离和马氏距离的异常点检测—matlab实现
前几天接的一个小项目,基于欧氏距离和马氏距离的异常点检测,已经交接完毕,现在把代码公开. 基于欧式距离的: load data1.txt %导入数据,行为样本,列为特征 X=data1; %赋值给X ...
- Python实现的计算马氏距离算法示例
Python实现的计算马氏距离算法示例 本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码: # encod ...
- 相似系数_杰卡德距离(Jaccard Distance)
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...
随机推荐
- Noise Contrastive Estimation
Notes from Notes on Noise Contrastive Estimation and Negative Sampling one sample: \[x_i \to [y_i^0, ...
- R语言获取数据类型信息的一些有用函数
向量.因子.时间序列x[i]: 矩阵.数据框x[i, j] x[i, ] x[, j]: 数组就是根据维度多打几个逗号而已x[i, j, k, -]: 列表要用双重中括号x[[i]]. 特殊的 ...
- SQLServer------Join的使用方法
参考菜鸟教程网: http://www.runoob.com/sql/sql-join.html select a.Canteen,b.OrderNum,b.CreateTime,c.Name fro ...
- linux下libevent安装
wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz tar –xzvf libevent-1.4.13-stable.tar.gz ...
- PHP优化小建议
PHP优化小建议 1 .. foreach 效率更高,尽量用 foreach 代替 while 和 for 循环 2 ..循环内部不要声明变量,尤其是对象这样的变量 3 ..在多重嵌套循环中,如有可能 ...
- css zoom属性兼容ie,firefox,chrome
jquery代码: $("body").css({ "zoom":"2", "transform":"scal ...
- 【01-06】JPA 全局单一主键
建一张主键表 @Override public boolean equals(Object o) { return (o == this || (o instanceof AbstractEntity ...
- 【10-26】java调试技术学习笔记
调试工具 jdk自带的工具 jmap jconsole VisualVM jmap jmap -histo:live pid 列出该进程的所有活动实例统计信息 jmap -dump:live,file ...
- JQuery radio(单选按钮)操作方法汇总
这篇文章主要介绍了JQuery radio(单选按钮)操作方法汇总,本文讲解了获取选中值.设置选中值.根据Value值设置选中.删除Radio.遍历等内容,需要的朋友可以参考下 随着Jquery的 ...
- 学习实战java虚拟机的计划图
啥也不说了,实战java虚拟机,好好学习,天天向上! <实战java虚拟机>一书Q交流群:397196583
