2020-02-26 14:30:31 +08:00
|
|
|
|
# [马氏距离和欧式距离详解](https://blog.csdn.net/bluesliuf/article/details/88862918)
|
|
|
|
|
|
|
|
|
|
一般在机器学习模型中会涉及到衡量两个样本间的距离,如聚类、KNN,K-means等,使用的距离为欧式距离。其实,除了欧氏距离之外,还有很多的距离计算标准,本文主要介绍欧氏距离和马氏距离。
|
|
|
|
|
|
|
|
|
|
## 欧氏距离
|
|
|
|
|
|
|
|
|
|
最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x=(x[1],…,x[n]) 和 y=(y[1],…,y[n]) 之间的距离为:
|
|
|
|
|
|
|
|
|
|
```m
|
|
|
|
|
d(x,y)=sqrt((x[1]-y[1])^2+(x[2]-y[2])^2+...+(x[n]-y[n]))=sqrt(sum(i=1,n,(x[i]-y[i])^2))
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
1. 二维平面上两点a(x[1],y[1])与b(x[2],y[2])间的欧氏距离:
|
|
|
|
|
|
|
|
|
|
d(a,b)=sqrt((x[1]-x[2])^2+(y[1]-y[2])^2)
|
|
|
|
|
|
|
|
|
|
2. 两个n维向量a(x[1][1],x[1][2],…,x[1][n])a(x[1][1],x[1][2],…,x[1][n])与 b(x[2][1],x[2][2],…,x[2][n])b(x[2][1],x[2][2],…,x[2][n])间的欧氏距离:
|
|
|
|
|
|
|
|
|
|
d(a,b)=sqrt(sum(k=1,n,(x[1][k]-x[2][k])^2))
|
|
|
|
|
|
|
|
|
|
## 马氏距离
|
|
|
|
|
|
|
|
|
|
在介绍马氏距离之前,我们先来看如下几个概念:
|
|
|
|
|
|
|
|
|
|
1. 方差:方差是标准差的平方,而标准差的意义是数据集中各个点到均值点距离的平均值。反应的是数据的离散程度。
|
|
|
|
|
2. 协方差:标准差与方差是描述一维数据的,当存在多维数据时,我们通常需要知道每个维数的变量中间是否存在关联。协方差就是衡量多维数据集中,变量之间相关性的统计量。比如说,一个人的身高与他的体重的关系,这就需要用协方差来衡量。如果两个变量之间的协方差为正值,则这两个变量之间存在正相关,若为负值,则为负相关。
|
|
|
|
|
3. 协方差矩阵:当变量多了,超过两个变量了。那么,就用协方差矩阵来衡量这么多变量之间的相关性。假设 XX 是以 nn个随机变数(其中的每个随机变数是也是一个向量,当然是一个行向量)组成的列向量:
|
|
|
|
|
|
|
|
|
|
TODO:
|
|
|
|
|
|
|
|
|
|
[原文连接](https://blog.csdn.net/bluesliuf/article/details/88862918)
|
2020-02-26 16:18:11 +08:00
|
|
|
|
|
|
|
|
|
## 参考文献
|
|
|
|
|
|
|
|
|
|
[Mahalanobis Distance](http://mccormickml.com/2014/07/22/mahalanobis-distance/)
|