马氏距离和欧氏距离
来源:互联网 发布:第一名排名软件 编辑:程序博客网 时间:2024/04/28 14:17
原文链接:http://blog.csdn.net/u010167269/article/details/51627338?_t_t_t=0.0028043033089488745原文地址
Mahalanobis Distance & Euclidean Distance
Definition
马氏距离(Mahalanobis Distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。
对于一个均值为
DM(x)=(x−μ)T∑−1(x−μ)−−−−−−−−−−−−−−−−−√
如果
Why is Mahalanobis distance?
马氏距离有很多优点,马氏距离不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。
它的缺点是夸大了变化微小的变量的作用。
这个stackexchange问答很好的回答了马氏距离的解释:
下图是一个二元变量数据的散点图:
当我们将坐标轴拿掉,如下图,我们能做些什么呢?
那就是根据数据本身的提示信息来引入新的坐标轴。
坐标的原点在这些点的中央(根据点的平均值算得)。第一个坐标轴(下图中蓝色的线)沿着数据点的“脊椎”,并向两端延伸,定义为使得数据方差最大的方向。第二个坐标轴(下图红色的线)会与第一个坐标轴垂直并向两端延伸。如果数据的维度超过了两维,那就选择使得数据方差是第二个最大的方向,以此类推。
我们需要一个比例尺度。用数据沿着每一个坐标轴的标准差来定义一个单位长度。要记住68-95-99.7法则:大约2/3的点需要在离原点一个单位长度的范围内;大约95%的点需要在离原点两个单位的长度范围内;这会使得我们更紧盯着正确的单元。为了以示参考,如下图:
上图并不像是一个圆,对吧?那是因为这幅图是被扭曲的(图中,不同轴上的单位长度不一样)。因此,让我们重新沿着正确的方向画图——从左到右,从下到上(相当于旋转一下数据)。同时,并让每个轴方向上的单位长度相同,这样横坐标上一个单位的长度就与纵坐标上的单位长度相同。
这里发生了什么?我们让数据告诉我们怎样去从散点图中构建坐标系统,以便进行测量。这就是上面所要表达的内容。尽管在这样的过程中我们有几种选择(我们可以将两个坐标轴颠倒;在少数的几种情况下,数据的“脊椎”方向——主方向,并不是唯一的),但是这些在最后并不影响距离。
Technical comments
沿着新坐标轴的单位向量是协方差矩阵的特征向量。
注意到没有变形的椭圆,变成圆形后沿着特征向量用标准差(协方差的平方根)将距离长度分割。用
在最后一步中,坐标轴扩展的量是协方差矩阵的逆的特征值(平方根),同理的,坐标轴缩小的量是协方差矩阵的特征值。所以,点越分散,需要的将椭圆转成圆的缩小量就越多。
尽管上述的操作可以用到任何数据上,但是对于多元正态分布的数据表现更好。在其他情况下,点的平均值或许不能很好的表示数据的中心,或者数据的“脊椎”(数据的大致趋势方向)不能用变量作为概率分布测度(using variance as a measure of spread)来准确的确定。
原始坐标系的平移、旋转,以及坐标轴的伸缩一起形成了仿射变换(affine transformation)。除了最开始的平移之外,其余的变换都是基底变换,从原始的一个变为新的一个。
对于多元正太分布,Mahalanobis 距离(已经变换到新的原点)出现在表达式
假设数据分布是一个二维的正椭圆,
x 轴y 轴均值都为0,x 轴的方差为1000,y 轴的方差为1,考虑两个点(1,0),(0,1) 到原点的距离,如果计算的是欧氏距离那么两者相等,但是仔细想一下,因为x轴的方差大,所以(0,1) 应该是更接近中心的点,也就是正态分布标准差的(68,95,99.7) 原则。这时候需要对x,y 轴进行缩放,对应的操作就是在协方差矩阵的对角上加上归一化的操作,使得方差变为1.假设数据分布是一个二维的椭圆,但是不是正的,比如椭圆最长的那条线是
45° 的,因为矩阵的对角只是对坐标轴的归一化,如果不把椭圆旋转回来,这种归一化是没有意义的,所以矩阵上的其他元素(非对角)派上用场了。如果椭圆不是正的,说明变量之间是有相关性的(x大y也大,或者负相关),加上协方差非对角元素的意义就是做旋转。
上图是,一个左下右上方向标准差为 3,正交方向标准差为 1 的多元高斯分布的样本点。由于 x 和 y 分量共变(即相关),x 与 y 的方差不能完全描述该分布;箭头的方向对应的协方差矩阵的特征向量,其长度为特征值的平方根。
- 马氏距离和欧氏距离
- 曼哈顿距离和欧氏距离比较
- 【Python】欧氏距离和余弦距离
- 马氏距离和欧氏距离的介绍
- 欧氏距离 vs 马氏距离
- 欧氏距离 vs 马氏距离
- 欧氏距离 vs 马氏距离
- 欧氏距离与马氏距离
- 欧式距离、标准化欧式距离、马氏距离、余弦距离
- 曼哈顿距离、欧氏距离
- 欧式距离和马氏距离的区别
- 曼哈顿距离,欧式距离,明式距离,切比雪夫距离以及马氏距离
- 机器学习两种距离——欧式距离和马氏距离
- 欧氏距离,马氏距离(转载)
- 欧氏距离与马氏距离的优缺点是什么?
- 马氏距离(Mahalanobis distance)和欧氏距离(Euclidean distance )
- 马氏距离(Mahalanobis distance)和欧氏距离(Euclidean distance )
- 【matlab 异常点检测】基于欧氏距离和马氏距离的异常点检测
- Java 知识点
- hibernate映射对象三种状态的分析
- HDU-3037 (组合数学)
- 大整型数求和(A+B problem 2)
- JProfiler入门学习
- 马氏距离和欧氏距离
- C++——如何理解.h文件和.cpp文件
- Android应用安装后打开,按Home键切出应用后再点击桌面图标返回导致应用重启问题及再次把app唤醒到前台
- Webpack2 完整踩坑教程(二)
- PyCharm Ctrl+Shift+F 失灵
- Android 使用MediaPlayer没提示音问题
- malloc的具体实现
- caffe训练网络不收敛——有哪些坑需要我们去填
- opencv中视频的保存(两个版本的)