欧式距离和马氏距离的关系(公式推导)
欧氏距离(Euclidean Distance)与马氏距离(Mahalanobis Distance)
欧氏距离
- 度量样本和样本分布间的距离d(x,μ)=(x−μ)T(x−μ)\begin{aligned} d(x,\mu)=\sqrt{(x-\mu)^T(x-\mu)} \end{aligned} d(x,μ)=(x−μ)T(x−μ)其中x=(x1,x2,…,xn)Tx=(x_1,x_2,…,x_n)^Tx=(x1,x2,…,xn)T是n维向量,μ=(μ1,μ2,…,μn)T\mu=(\mu_1,\mu_2,…,\mu_n)^Tμ=(μ1,μ2,…,μn)T是样本分布的中心,即 d(x,μ)=∑i=1n(xi−μi)2\begin{aligned} d(x,\mu)=\sqrt{\sum_{i=1}^n(x_i-\mu_i)^2} \end{aligned} d(x,μ)=i=1∑n(xi−μi)2
- 度量样本和样本的距离 d(x,y)=(x−y)T(x−y)\begin{aligned} d(x,y)=\sqrt{(x-y)^T(x-y)} \end{aligned} d(x,y)=(x−y)T(x−y)其中,x=(x1,x2,…,xn)Tx=(x_1,x_2,…,x_n)^Tx=(x1,x2,…,xn)T、y=(y1,y2,…,yn)Ty=(y_1,y_2,…,y_n)^Ty=(y1,y2,…,yn)T均为n维向量,即d(x,y)=∑i=1n(xi−yi)2\begin{aligned} d(x,y)=\sqrt{\sum_{i=1}^n(x_i-y_i)^2} \end{aligned} d(x,y)=i=1∑n(xi−yi)2
协方差
- 对于m个一维数据(x1,x2,…,xm)(x_1,x_2,…,x_m)(x1,x2,…,xm),它们的方差为:σ2=∑i=1m(xi−μ)2m−1\begin{aligned} \sigma^2=\frac{\sum_{i=1}^m(x_i-\mu)^2}{m-1} \end{aligned} σ2=m−1∑i=1m(xi−μ)2方差反应数据的离散程度,但高维数据没有方差的概念,高维数据集通常使用协方差描述数据各个维度之间的相关性。
- 对m个n维数据X=[x11x21…xm1x12x22…xm2…………x1nx2n…xmn]=[X1X2…Xn]\begin{aligned} X=\left[ \begin{matrix} x_{11}&x_{21}&…&x_{m1} \\ x_{12}&x_{22}&…&x_{m2} \\ …&…&…&… \\ x_{1n}&x_{2n}&…&x_{mn} \end{matrix} \right] =\left[ \begin{matrix} X_1\\ X_2\\…\\X_n \end{matrix} \right] \end{aligned} X=⎣⎢⎢⎡x11x12…x1nx21x22…x2n…………xm1xm2…xmn⎦⎥⎥⎤=⎣⎢⎢⎡X1X2…Xn⎦⎥⎥⎤ XXX的每一列对应样本集中的一个n维数据,数据集中共包括m个样本,其中每一维的均值为μi=E(Xi)\mu_i=E(X_i)μi=E(Xi)。该样本集的协方差矩阵为:S=(X−μ)(X−μ)Tm−1\begin{aligned} S=\frac{(X-\mu)(X-\mu)^T}{m-1} \end{aligned} S=m−1(X−μ)(X−μ)T
马氏距离
- 度量样本和样本分布间的距离d=(x−μ)TS−1(x−μ)\begin{aligned} d=\sqrt{(x-\mu)^TS^{-1}(x-\mu)} \end{aligned} d=(x−μ)TS−1(x−μ)其中x=(x1,x2,…,xn)Tx=(x_1,x_2,…,x_n)^Tx=(x1,x2,…,xn)T是n维向量,μ=(μ1,μ2,…,μn)T\mu=(\mu_1,\mu_2,…,\mu_n)^Tμ=(μ1,μ2,…,μn)T是样本分布的中心,S是样本集的协方差矩阵。
实例分析
已知一个聚类,A为该聚类的聚类中心,聚类的其他样本由红色标出。对于样本B、C,如果要判断谁和样本A的距离最近,可以采用以下两种方式:
- 使用欧式距离判断,显然C离A更近。但此时并没有考虑数据的分布,默认数据呈圆形分布,即默认数据各维的方差相同。因此使用欧式距离进行判断并不完善。
- 使用马氏距离判断,充分考虑数据各维的相关性和各维的方差,此时应为B距离A更近。
使用欧式距离时,不考虑数据不同维度的方差,也不考虑数据不同维度的相关性。 因此数据集已知时,通常使用马氏距离代替欧式距离。
深入理解(公式推导)
原空间的马氏距离等价于变换空间中的欧式距离。为了方便理解,后面的内容仅讨论二维数据,且各维的均值都为0(数据已中心化)。
- 原空间
在原空间中,数据集各维之间存在相关性,且各维的方差存在差异。此时某个样本xxx到聚类中心的马氏距离为:d=xTSX−1x\begin{aligned} d=\sqrt{x^TS_X^{-1}x} \end{aligned} d=xTSX−1x原空间中样本集的协方差矩阵为:SX=E(XXT)=[σx12cov(x1,x2)cov(x2,x1)σx22]\begin{aligned} S_X=E(XX^T)= \left[ \begin{matrix} \sigma_{x_1}^2&cov(x_1,x_2)\\ cov(x_2,x_1)&\sigma_{x_2}^2 \end{matrix} \right] \end{aligned} SX=E(XXT)=[σx12cov(x2,x1)cov(x1,x2)σx22] - 消除数据各维的相关性,即对数据集进行正交变换
令y=Axy=Axy=Ax,其中AAA是正交矩阵,即x=A−1y=ATy\begin{aligned} x=A^{-1}y=A^Ty \end{aligned} x=A−1y=ATy该空间中样本集的协方差矩阵为:SY=E(YYT)=E(AxxTAT)=ASXA−1\begin{aligned} S_Y=E(YY^T)=E(Axx^TA^T)=AS_XA^{-1} \end{aligned} SY=E(YYT)=E(AxxTAT)=ASXA−1即:
SX=A−1SYA\begin{aligned} S_X=A^{-1}S_YA \end{aligned} SX=A−1SYA在当前空间中,样本集的协方差矩阵为:SY=[σy1200σy22]S_Y=\left[ \begin{matrix} \sigma_{y_1}^2&0\\ 0&\sigma_{y_2}^2 \end{matrix} \right] SY=[σy1200σy22]也就是说,在当前空间中,数据的各维不相关。 - 各维方差归一化
令[z1z2]=[1σ1001σ2][y1y2]=[y1σ1y2σ2]\left[ \begin{matrix} z1\\z2 \end{matrix} \right]= \left[\begin{matrix} \frac{1}{\sigma_1}&0\\0&\frac{1}{\sigma_2} \end{matrix} \right] \left[\begin{matrix} y_1\\y_2 \end{matrix}\right]=\left[\begin{matrix} \frac{y_1}{\sigma_1}\\\frac{y_2}{\sigma_2} \end{matrix}\right] [z1z2]=[σ1100σ21][y1y2]=[σ1y1σ2y2]为了方便表示,令B=[1σ1001σ2]B=\left[ \begin{matrix} \frac{1}{\sigma_1}&0\\0&\frac{1}{\sigma_2} \end{matrix} \right] B=[σ1100σ21]则:z=Byz=Byz=By,y=B−1zy=B^{-1}zy=B−1z。在该空间中,样本集的协方差矩阵为:SZ=E(ZZT)=E(BYYTBT)=BSYBT\begin{aligned} S_Z=E(ZZ^T)=E(BYY^TB^T)=BS_YB^T \end{aligned} SZ=E(ZZT)=E(BYYTBT)=BSYBT即:SY=B−1SZB−1\begin{aligned} S_Y=B^{-1}S_ZB^{-1} \end{aligned} SY=B−1SZB−1在当前空间中,样本集的协方差矩阵为:
SZ=[1001]S_Z=\left[ \begin{matrix} 1&0\\ 0&1 \end{matrix} \right] SZ=[1001]也就是说,在当前空间中,数据各维的方差均为1。
综上所述,原空间的马氏距离为:d=xTSX−1x=yTAA−1SY−1AATy=yTSY−1y=zTB−1BSZBB−1z=zTSZz=zTz\begin{aligned} d&=\sqrt{x^TS_X^{-1}x}\\&=\sqrt{y^TAA^{-1}S_Y^{-1}AA^Ty}\\&=\sqrt{y^TS_Y^{-1}y}\\&=\sqrt{z^TB^{-1}BS_ZBB^{-1}z}\\&=\sqrt{z^TS_Zz}\\&=\sqrt{z^Tz} \end{aligned} d=xTSX−1x=yTAA−1SY−1AATy=yTSY−1y=zTB−1BSZBB−1z=zTSZz=zTz也就是说,原空间的马氏距离等价于转换空间中的欧式距离。在转换空间中,数据各维之间不相关且数据各维的方差均为1。
马氏距离的优势
当数据分布已知时,通常使用马氏距离代替欧式距离。马氏距离适用于数据各维存在相关性或数据各维方差存在差异(数据分布呈椭圆形)的情况。
欧式距离和马氏距离的关系(公式推导)相关推荐
- 数据的距离度量 一、欧式距离,曼哈顿距离,闵氏距离,切比雪夫距离,兰氏距离,马氏距离
数据的距离度量 一.欧式距离,曼哈顿距离,闵氏距离,切比雪夫距离,兰氏距离,马氏距离 前言 欧式距离 标准欧式距离 曼哈顿距离 闵氏距离 切比雪夫距离 兰氏距离 马氏距离 前言 本篇记录一下常用的数据 ...
- 六大距离:欧式距离、街道距离、马氏距离等
文章目录 1 简 介 2 距离特征 2.1 Euclidean距离 2.2 Cosine距离 2.3 manhattan距离 2.4 chebyshev距离 2.5 minkowski距离 2.6 m ...
- 距离度量的方法,欧式距离,切比雪夫距离、马氏距离、巴氏距离,曼哈顿距离
距离度量的方法有欧式距离,切比雪夫距离.马氏距离.巴氏距离,曼哈顿距离等: 用欧氏距离(也称欧几里德度量),高中所学的两点距离公式就是欧氏距离在二维空间上的公式,也就是欧氏距离的n的值为2的情况. 二 ...
- 欧式距离、标准化欧式距离、马氏距离、余弦距离
目录 欧氏距离 标准化欧氏距离 马氏距离 夹角余弦距离 汉明距离 曼哈顿(Manhattan)距离 1.欧式距离 欧式距离源自N维欧氏空间中两点x1,x2x1,x2间的距离公式: 2.标准化欧式距离 ...
- 简单粗暴理解与实现机器学习之K-近邻算法(三):距离度量、欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化距离、余弦距离、汉明距离、杰卡德距离、马氏距离
K-近邻算法 文章目录 K-近邻算法 学习目标 1.3 距离度量 1 欧式距离**(Euclidean Distance):** 2 **曼哈顿距离(Manhattan Distance):** 3 ...
- Mahalanobis距离(马氏距离)
Mahalanobis距离(马氏距离) Mahalanobis距离是多维空间中两点相似性的度量,它本身不是聚类或者分类算法. Mahalanobis距离与Euclidean距离(欧式距离)类似,不过还 ...
- 明可夫斯基距离和马氏距离
在机器学习中,距离是一个非常形象并且常用的概念.在分类和聚类问题中,距离的作用尤为明显.除此之外,在回归问题,甚至自然语言处理问题上,距离也有其相应的应用. 除了距离之外,相似系数也是解决这一问题的方 ...
- ML:图像数据、字符串数据等计算相似度常用的十种方法(余弦相似性、皮尔逊、闵可夫斯基距离/曼哈顿距离/欧氏距离/切比雪夫距离、马氏距离、汉明距离、编辑距离、杰卡德相似系数、相对熵/KL散度、Helli
ML:图像数据.字符串数据等计算相似度常用的十种方法(余弦相似性.皮尔逊.闵可夫斯基距离/曼哈顿距离/欧氏距离/切比雪夫距离.马氏距离.汉明距离.编辑距离.杰卡德相似系数.相对熵/KL散度.Helli ...
- 多元统计分析——欧式距离和马氏距离
在一元的情形中,定义两个点和之间的距离: 两者作差的绝对值,我们称为欧式距离. 经过标准化的作差绝对值,我们称为统计距离,或者标准化过后的距离.其中,代表样本的标准差. 在多元的情形中,假设我们有两个 ...
最新文章
- php提交表单关闭弹出层,使用js实现关闭js弹出层的窗口
- Eclipse不编译解决方案
- java越权发送邮件_已登录用户 越权 访问action方法怎么解决?
- 20155235 2016-2017-2《Java程序设计》课程总结
- 36氪联合阿里云,共同研制中小企业发展「催化剂」
- Linux: xclip,pbcopy,xsel用法 terminal 复制粘帖 (mac , ubuntu)
- Linux namespace - Docker 背后的故事
- 你羡慕了吗?10万个数字人民币红包派发,每个200元
- 记一次反制追踪溯本求源
- MyBatis整合Spring的实现(11)
- 关于解决error A2004: symbol type conflict错误
- 关键字 : this /self / parent
- kafka报错 WARN Session 0x0 for server null, unexpected error, closing socket connection
- apt user manul
- as常用固定搭配_四年级英语单词详解:as的固定搭配.doc
- 目标跟踪质心跟踪算法
- JS onblur 和 onfocus 造成死循环
- C/C++程序员是什么让你有如此优势?音视频开发该怎么学?
- 网络--VLAN知识详解
- springBoot 拦截器与过滤器