马氏距离例题详解(全网最详细)

article/2025/8/30 18:31:45

马氏距离例题详解


定义

马哈拉诺比斯距离是由印度统计学家马哈拉诺比斯 (英语)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为 μ = ( μ 1 , μ 2 , μ 3 , … , μ p ) T {\displaystyle \mu =(\mu _{1},\mu _{2},\mu _{3},\dots ,\mu _{p})^{T}} μ=(μ1,μ2,μ3,,μp)T,协方差矩阵为 Σ {\displaystyle \Sigma } Σ 的多变量向量 x = ( x 1 , x 2 , x 3 , … , x p ) T {\displaystyle x=(x_{1},x_{2},x_{3},\dots ,x_{p})^{T}} x=(x1,x2,x3,,xp)T,其马氏距离为

D M ( x ) = ( x − μ ) T Σ − 1 ( x − μ ) {\displaystyle D_{M}(x)={\sqrt {(x-\mu )^{T}\Sigma ^{-1}(x-\mu )}}} DM(x)=(xμ)TΣ1(xμ)
马哈拉诺比斯距离也可以定义为两个服从同一分布并且其协方差矩阵为 Σ {\displaystyle \Sigma } Σ的随机变量 x ⃗ {\displaystyle {\vec {x}}} x y ⃗ {\displaystyle {\vec {y}}} y 的差异程度:

d ( x ⃗ , y ⃗ ) = ( x ⃗ − y ⃗ ) T Σ − 1 ( x ⃗ − y ⃗ ) {\displaystyle d({\vec {x}},{\vec {y}})={\sqrt {({\vec {x}}-{\vec {y}})^{T}\Sigma ^{-1}({\vec {x}}-{\vec {y}})}}} d(x ,y )=(x y )TΣ1(x y )
如果协方差矩阵为单位矩阵,马哈拉诺比斯距离就简化为欧氏距离;如果协方差矩阵为对角阵,其也可称为正规化的欧氏距离。

d ( x ⃗ , y ⃗ ) = ∑ i = 1 p ( x i − y i ) 2 σ i 2 {\displaystyle d({\vec {x}},{\vec {y}})={\sqrt {\sum _{i=1}^{p}{(x_{i}-y_{i})^{2} \over \sigma _{i}^{2}}}}} d(x ,y )=i=1pσi2(xiyi)2
其中 σ i 是 x i {\displaystyle \sigma _{i}}是{\displaystyle x_{i}} σixi的标准差。


以上引自维基百科


计算示例


问题引入

现在有一组向量:
( 3 , 4 ) T , ( 5 , 6 ) T , ( 2 , 2 ) T , ( 8 , 4 ) T (3,4)^{T},(5,6)^{T},(2,2)^{T},(8,4)^{T} (3,4)T,(5,6)T,(2,2)T,(8,4)T
请求出 ( 3 , 4 ) T , ( 5 , 6 ) T (3,4)^{T},(5,6)^{T} (3,4)T,(5,6)T之间的马氏距离。


求解思路

现在将 ( 3 , 4 ) T , ( 5 , 6 ) T , ( 2 , 2 ) T , ( 8 , 4 ) T (3,4)^{T},(5,6)^{T},(2,2)^{T},(8,4)^{T} (3,4)T,(5,6)T,(2,2)T,(8,4)T四个向量排列:
[ 3 5 2 8 4 6 2 4 ] \left[\begin{array}{cc} 3 & 5 & 2 & 8 \\ 4 & 6 & 2 & 4 \end{array}\right] [34562284]
我们假设 [ 3 5 2 8 ] \left[\begin{array}{cc} 3 & 5 & 2 & 8 \end{array}\right] [3528]对应的是X,而 [ 4 6 2 4 ] \left[\begin{array}{cc} 4 & 6 & 2 & 4 \end{array}\right] [4624]对应的是Y。

X ‾ = ( 3 + 5 + 2 + 8 ) / 4 = 4.5 , Y ‾ = ( 4 + 6 + 2 + 4 ) / 4 = 4 \overline{\mathrm{X}}=(3+5+2+8)/4=4.5,\overline{\mathrm{Y}}=(4+6+2+4)/4=4 X=3+5+2+8/4=4.5,Y=(4+6+2+4)/4=4
∴均值 μ ⃗ = ( 4.5 , 4 ) T \vec{\mu}=(4.5,4)^{T} μ =(4.5,4)T

然后将 [ 3 5 2 8 4 6 2 4 ] \left[\begin{array}{cc} 3 & 5 & 2 & 8 \\ 4 & 6 & 2 & 4 \end{array}\right] [34562284]中心化,即X中的每个元素减去 X ‾ \overline{\mathrm{X}} X,Y中的每个元素减去 Y ‾ \overline{\mathrm{Y}} Y,得:
[ − 1.5 0.5 − 2.5 3.5 0 2 − 2 0 ] \left[\begin{array}{cc} -1.5 & 0.5 & -2.5 & 3.5 \\ 0 & 2 & -2 & 0 \end{array}\right] [1.500.522.523.50]

cov ⁡ ( X , X ) = ∑ i = 1 4 ( X i − X ‾ ) ( X i − X ‾ ) 4 − 1 = ( − 1.5 ) × ( − 1.5 ) + 0.5 × 0.5 + ( − 2.5 ) × ( − 2.5 ) + 3.5 × 3.5 3 = 7 \operatorname{cov}(\mathrm{X}, \mathrm{X})=\frac{\sum_{\mathrm{i}=1}^{\mathrm{4}}\left(\mathrm{X}_{\mathrm{i}}-\overline{\mathrm{X}}\right)\left(\mathrm{X}_{\mathrm{i}}-\overline{\mathrm{X}}\right)}{\mathrm{4}-1}=\frac{(-1.5)\times(-1.5)+0.5\times0.5+(-2.5)\times(-2.5)+3.5\times3.5}{3}=7 cov(X,X)=41i=14(XiX)(XiX)=3(1.5)×(1.5)+0.5×0.5+(2.5)×(2.5)+3.5×3.5=7

cov ⁡ ( X , Y ) = cov ⁡ ( Y , X ) = ∑ i = 1 4 ( X i − X ‾ ) ( Y i − Y ‾ ) 4 − 1 = ( − 1.5 ) × ( 0 ) + 0.5 × 2 + ( − 2.5 ) × ( − 2 ) + 3.5 × 0 3 = 2 \operatorname{cov}(\mathrm{X}, \mathrm{Y})=\operatorname{cov}(\mathrm{Y}, \mathrm{X})=\frac{\sum_{\mathrm{i}=1}^{\mathrm{4}}\left(\mathrm{X}_{\mathrm{i}}-\overline{\mathrm{X}}\right)\left(\mathrm{Y}_{\mathrm{i}}-\overline{\mathrm{Y}}\right)}{\mathrm{4}-1}=\frac{(-1.5)\times(0)+0.5\times2+(-2.5)\times(-2)+3.5\times0}{3}=2 cov(X,Y)=cov(Y,X)=41i=14(XiX)(YiY)=3(1.5)×(0)+0.5×2+(2.5)×(2)+3.5×0=2

cov ⁡ ( Y , Y ) = ∑ i = 1 4 ( Y i − Y ‾ ) ( Y i − Y ‾ ) 4 − 1 = 0 × 0 + 2 × 2 + ( − 2 ) × ( − 2 ) + 0 × 0 3 = 2.667 \operatorname{cov}(\mathrm{Y}, \mathrm{Y})=\frac{\sum_{\mathrm{i}=1}^{\mathrm{4}}\left(\mathrm{Y}_{\mathrm{i}}-\overline{\mathrm{Y}}\right)\left(\mathrm{Y}_{\mathrm{i}}-\overline{\mathrm{Y}}\right)}{\mathrm{4}-1}=\frac{0\times0+2\times2+(-2)\times(-2)+0\times0}{3}=2.667 cov(Y,Y)=41i=14(YiY)(YiY)=30×0+2×2+(2)×(2)+0×0=2.667

∴ 协 方 差 矩 阵 Σ = [ 7 2 2 2.667 ] ∴ 协方差矩阵{\displaystyle \Sigma }=\left[\begin{array}{cc} 7 & 2 \\ 2 & 2.667 \end{array}\right] Σ=[7222.667]
∴ 协 方 差 矩 阵 的 逆 Σ − 1 = [ 0.18 − 0.13 − 0.13 0.48 ] ∴ 协方差矩阵的逆{\displaystyle \Sigma^{-1} }=\left[\begin{array}{cc} 0.18 & -0.13 \\ -0.13 & 0.48 \end{array}\right] Σ1=[0.180.130.130.48]

∴ 可 以 计 算 ( 3 , 4 ) T , ( 5 , 6 ) T 之 间 的 距 离 为 : D M = [ ( 3 − 5 , 4 − 6 ) T ] T Σ − 1 ( 3 − 5 , 4 − 6 ) T ∴ 可以计算(3,4)^{T},(5,6)^{T}之间的距离为:{\displaystyle D_{M}={\sqrt {[(3-5,4-6 )^{T}]^{T}\Sigma ^{-1}(3-5,4-6 )^{T}}}} (3,4)T,(5,6)TDM=[(35,46)T]TΣ1(35,46)T
即 D M = ( 3 − 5 , 4 − 6 ) Σ − 1 ( 3 − 5 , 4 − 6 ) T = 1.2 即D_{M}={\sqrt {(3-5,4-6 )\Sigma ^{-1}(3-5,4-6 )^{T}}}=1.2 DM=(35,46)Σ1(35,46)T =1.2

因此 ( 3 , 4 ) T , ( 5 , 6 ) T (3,4)^{T},(5,6)^{T} (3,4)T,(5,6)T之间的马氏距离为1.2!


代码实现

#coding=utf-8
import numpy
x = numpy.array([[3,4],[5,6],[2,2],[8,4]])
print("x矩阵的维度:",x.ndim)  # 二维向量组成的矩阵
xT = x.T
D = numpy.cov(xT)
invD = numpy.linalg.inv(D)
tp = x[0] - x[1]
print(numpy.sqrt(numpy.dot(numpy.dot(tp, invD), tp.T)))

大功告成!最后感谢小伙伴们的学习噢~


http://chatgpt.dhexx.cn/article/JJgFgDvW.shtml

相关文章

浅谈马氏距离【Mahalonobis Distance】

浅谈马氏距离【Mahalonobis Distance】 1. Introduction2. 欧式距离对于多元数据会存在一些什么问题?3 .什么是马氏距离4.马氏距离背后的数学和intuition5. 利用python来计算马氏距离6. Case1: 使用马氏距离进行多元异常值检测7. Case 2: 对分类问题应用马氏距离8. …

距离度量之马氏距离

马氏距离 用来度量一个样本点P与数据分布为D的集合的距离。 假设样本点为: 数据集分布的均值为: 协方差矩阵为S。 则这个样本点P与数据集合的马氏距离为: 马氏距离也可以衡量两个来自同一…

马氏距离(Mahalanobis Distance)介绍与实例

本文介绍马氏距离(Mahalanobis Distance),通过本文,你将了解到马氏距离的含义、马氏距离与欧式距离的比较以及一个通过马氏距离进行异常检测的例子(基于Python的sklearn包)。 目的 计算两个样本间的距离时…

马氏距离-Mahalanobis Distance

一、学习目的 在训练one-shoting learning 的神经网路的时候,由于采用的是欧式距离,欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实…

欧氏距离与马氏距离

Preface 之前在写《Multi-view CNNs for 3D Objects Recognition》的阅读笔记的时候,文章中的一个创新点便是将MVCNN网络提取到的3D Objects的形状特征描述符,投影到马氏距离(Mahalanobis Distance)上,“这样的话&…

马氏距离 Mahalanobis Distance

马氏距离 Mahalanobis Distance 1. 马氏距离定义2. 马氏距离实际意义2.1 欧氏距离近就一定相似?2.2 归一化后欧氏距离就一定相似?2.3 算上维度的方差就够了? 3. 马氏距离的几何意义4. 马氏距离的推导5. 马氏距离限制 Reference: 马氏距离(Mah…

马氏距离概念

马氏距离 一、基本概念: 方差:方差是标准差的平方,而标准差的意义是数据集中各个点到均值点距离的平均值。反应的是数据的离散程度。 协方差:标准差与方差是描述一维数据的,当存在多维数据时,我们通常需要知…

马氏距离通俗理解

基础知识: 假设空间中两点x,y,定义: 欧几里得距离, Mahalanobis距离, 不难发现,如果去掉马氏距离中的协方差矩阵,就退化为欧氏距离。那么我们就需要探究这个多出来的因子究竟有什么含…

马氏距离Mahalanobis Distance实例

简介 如果按照欧氏距离去理解马氏距离,一定会迷惑一段时间。因为欧氏距离可以计算两个点之间的距离,而马氏距离是计算一个点距离一个聚类的距离。如果想通过马氏距离去计算某两个点之间的距离是行不通的。下面按照一般的套路介绍一下欧氏距离与马氏距离…

马氏距离详解

马氏距离详解 一、理性认知二、感性认知第一个例子第二个例子 三、实例认知四、公式推导推导过程 致谢 一、理性认知 马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示点与一个分布之间的距离。它是一种有效的计算两个未…

马氏距离(Mahalanobis Distance)

马氏距离(Mahalanobis Distance)是度量学习中一种常用的距离指标,同欧氏距离、曼哈顿距离、汉明距离等一样被用作评定数据之间的相似度指标。但却可以应对高维线性分布的数据中各维度间非独立同分布的问题。 什么是马氏距离 马氏距离(Mahalanobis Distance)是一种距离的度量,…

马氏距离详解(数学原理、适用场景、应用示例代码)

看了很多关于马氏距离(Mahalanobis Distance)的介绍,但是总感觉有一些地方不太清晰,所以结合数学公式、机器学习中的应用案例,从头梳理一下。 马氏距离实际上是欧氏距离在多变量下的“加强版”,用于测量点…

linux 配置swoole环境

linux 配置swoole环境 安装PHP wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --php_option 6 --phpcache_option 1 --reboot vim /usr/local/php/etc/php.ini 删除对exec函数…

ppp开启pap/chap认证

什么是pap? PAP 是 PPP 协议集中的一种链路控制协议,通过2次握手建立认证,对等结点持续重复发送 ID/ 密码(明文)给验证者。 什么是chap? CHAP通过三次握手验证被认证方的身份,在初始链路建立…

Ensp配置PPP CHAP认证

如图配置IP地址 启用 CHAP 认证&#xff0c;用户名/密码为&#xff1a;HuaWei/123456 确保RAR20-A和RAR20-B之间可以互通 按照如下步骤进行。 1&#xff09;配置IP地址&#xff0c;确保设备互通 <Huawei>system-view [Huawei]sysname RAR20-A [RAR20-A]in…

思科模拟器启用CHAP协议

chap使用密文格式发送chap认证信息&#xff0c;相比较pap的明文格式&#xff0c;更具有安全性。 添加s端口&#xff1a;先将路由器关闭&#xff0c;将HWIC-2T模块拖入卡槽&#xff0c;再将路由器开启 单向CHAP&#xff1a;R2为认证方 R1&#xff1a; hostname R1 …

H3C(27)——PAP与CHAP

1.PAP的单向认证 【R1】 <RouterA> system-view[RouterA] local-user userb class network [RouterA-luser-network-userb] password simple passb [RouterA-luser-network-userb] service-type ppp [RouterA-luser-network-userb] quit[RouterA] interface serial 1/0 …

ppp的chap认证报文原理以及细节

ppp的chap认证报文原理 chap认证&#xff1a; 1.验证方&#xff08;存有本地数据库的一方&#xff09;主动向被验证方发送一个挑战报文&#xff0c;里面包含报文id&#xff0c;随机数&#xff0c;本端用户名&#xff08;默认单向认证不带&#xff09;。 2.被验证方收到挑战请求…

Cisco(56)——PAP和CHAP

说明:R1,R3,R5,R7,R9的S1/1的地址为1.1.1.1/24,R2,R4,R6,R8,R10的S1/1的地址为1.1.1.2/24,实验步骤省略配置hostname和IP地址的过程! 一:PAP的单向认证,R1为认证方 R1(config)#username R2 password 0 123R1(config)#interface serial 1/1 R1(config-if)#encapsulation …

ppp协议(pap和chap验证模式)拓扑(eNSP)

一&#xff0e;基本配置 新建拓扑 ①添加路由&#xff1a;添加两个Axaioxia_2220路由到拓扑图上 ②改标签名&#xff1a;其标签名称默认为Axiaoxia_1与Axaioxia_2&#xff0c;双击“Axiaoxia_1与Axaioxia_2”手动改为自己需要的名, 我改为“xiaoxia_1与xiaoxia_2” ③添加…