马氏距离详解

article/2025/8/30 23:17:04

马氏距离详解

  • 一、理性认知
  • 二、感性认知
    • 第一个例子
    • 第二个例子
  • 三、实例认知
  • 四、公式推导
    • 推导过程
  • 致谢

一、理性认知

马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示点与一个分布之间的距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是,它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的(scale-invariant),即独立于测量尺度。对于一个均值为μ,协方差矩阵为Σ的多变量向量,其马氏距离为sqrt( (x-μ)'Σ^(-1)(x-μ) )。(百度百科)

二、感性认知

第一个例子

从下往上的一段50米长的坡道路,下面定一个A点,上面定B一个点。假设有两种情况从A到B:

a)坐手扶电梯上去。

b)从手扶电梯旁边的楼梯爬上去。

两种情况下我们分别会产生两种不同的主观感受,坐电梯轻松愉快,感觉很快就从A到了B——“A与B真近~”;走楼梯爬的气喘吁吁很累,感觉走了好久才走到B——“A与B真远!”。

第二个例子

观看落日之时,由于大气的折射效应,太阳形状产生形变并且视觉位置也比真实位置高。
在这里插入图片描述

三、实例认知

马氏距离有些统计上的意味,下式中的S指协方差(同Σx
在这里插入图片描述
与欧式距离的差距来自下图,欧式是强行求距离,而马氏是经过一个寻找最适坐标位置(更看重当前点在各维度的地位)。嘛…有点PCA的韵味在里面。
在这里插入图片描述
在这里插入图片描述

四、公式推导

首先我们先看个二维的例子。
此例的数据重心为原点,P1,P2到原点的欧氏距离相同,但点P2在y轴上相对原点有较大的变异,而点P1在x轴上相对原点有较小的变异。所以P1点距原点的直观距离是比P2点的小的。在这里插入图片描述
马氏距离就是解决这个问题,它将直观距离和欧式距离统一。为了做到这一点, 它先将数据不同维度上的方差统一(即各维度上的方差相同),此时的欧式距离就是直观距离。
在这里插入图片描述
如图:统一方差后的图,P1到原点的距离小于P2。P1到原点的欧式距离和P2的相同。以上所说的直观距离就是马氏距离 。但是,如果不同维度之间具有相关性,则压缩的效果就不好了。如下图只在横向和纵向上压缩,则达不到上图的压缩效果。
在这里插入图片描述
在这里插入图片描述
所以在F1方向和F2方向上压缩数据才能达到较好的效果。所以需要将原始数据在XY坐标系中的坐标 表示在F坐标系中。然后再分别沿着坐标轴压缩数据。

所以,计算样本数据的马氏距离分为两个步骤:
1、坐标旋转
2、数据压缩

坐标旋转的目标:使旋转后的各个维度之间线性无关,所以该旋转过程就是主成分分析的过程。
数据压缩的目标:将不同的维度上的数据压缩成为方差都是1的的数据集。

推导过程

有一个原始的多维样本数据Xn×m(m列,n行):
在这里插入图片描述
其中每一行表示一个测试样本(共n个);Xi表示样本的第i个维度(共m个) Xi=(x1i,x2i,…,xni)T ,以上多维样本数据记为X=(X1,X2⋯Xm)。样本的总体均值为μx=(μx1x2⋯μxm)。其协方差为:
在这里插入图片描述
协方差矩阵表示样本数据各维度之间的关系的。其中n是样本的数量

假设将原始数据集X通过坐标旋转矩阵U旋转到新的坐标系统中得到一个新的数据集F。(其实XF表示的是同一组样本数据集,只是由于其坐标值不同,为了易于区分用了两个字母表示)
在这里插入图片描述
新数据集F的均值记为μF = μF1, μF2⋯ μFm , μF = Uμx
由于将数据集旋转后数据的各维度之间是不相关的,所以新数据集F的协方差矩阵ΣF应该为对角阵。
由于:
在这里插入图片描述
所以:在这里插入图片描述
其中sqrt(λi)就是第i个维度的方差。

由于Σx是实对角阵,所以U是一个正交矩阵 UT=U-1

以上是准备知识,下面推导一个样本点x=(x1,x2⋯xm)到重心μX=(μX1X2⋯μXm)的马氏距离。等价于求点 f=(f1,f2⋯fm) 压缩后的坐标值到数据重心压缩后的坐标值 μF=(μF1F2⋯μFm)的欧式距离。在这里插入图片描述
这就是马氏距离的的计算公式了。

如果x是列向量
d2 = ( x − μx )T Σ-1X ( x − μx )
如果并把上文的重心 μx = ( μx1, μx2⋯ μxm) 改为任意一个样本点y,则可以得到xy两个样本点之间的马氏距离公式为:
d2 = ( x − y )TΣ-1x ( x − y )

致谢

工作中遇到了马氏距离,多方查找资料,才对马氏距离有一个全面的认识。在此,将自己在学习过程中认为比较重要的点整理如上,感谢前辈大佬们的分享!


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

相关文章

马氏距离(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” ③添加…

PAP与CHAP认证

一、PPP介绍 PPP&#xff08;point-to-point protocol&#xff09;是一种点到点链路层协议&#xff0c;主要用于在全双工的同异步链路上进行点到点的数据传输。##在PPP中主要由三类协议簇组成 1、链路控制协议簇&#xff08;Link Control protocol&#xff09;&#xff1a;主要…

pap认证和chap认证实验

目录标题 第一步&#xff1a;在r5上配置环回和s3/0/0接口地址&#xff0c;及pap认证&#xff08;主认证&#xff09;第二步&#xff1a;在r1上配置接口&#xff0c;pap认证&#xff08;被认证方&#xff09;第三步&#xff1a;在r5上配置s3/0/1接口&#xff0c;chap认证&#x…

PPP原理 PAP认证 CHAP认证

目录 PPP的基本构架 PPP主要由三类协议族组成 PPP应用场景 PPP缺省配置 配置PAP认证 操作步骤 配置认证方 配置被认证方 配置CHAP认证 操作步骤 配置认证方 配置被认证方 认证方没有配置用户名 配置被认证方 PPP的基本构架 PPP协议处于TCP/IP协议栈的数据链路层&…

思科模拟器入门基础-PPP协议双向CHAP认证

PPP&#xff1a;点对点协议 是一种用来同步调制连接的数据链路层协议 具有身份验证功能(PAP、CHAP)、动态分配IP地址的能力、错误检测能力 CHAP&#xff1a;PPP协议认证的一种方式 CHAP使用密文传输 使用三次握手实现 比PAP安全性高 实验环境 Cisco Packet Tracer 6.02台PT路由…

PAP认证、CHAP认证

概述 实验目标 掌握PAP、chap认证方式的配置与验证方法 实验描述 路由器&#xff08;带串口&#xff09; 2 台V.35 线缆&#xff08;DTE/DCE&#xff09; 1 对 2技术分析 PPP 协议位于 OSI 七层模型的数据链路层&#xff0c;PPP 协议按照功能划分为两个子层&#xff1a;LCP…

CHAP认证

实验拓扑 Jan16 公司因业务发展&#xff0c;建立了分公司&#xff0c;租用了专门的线路用于总部与分公司的连联。为保障通信线路的数据安全&#xff0c;需在路由器上配置安全认证。项目拓扑如图所示。 1. 基础配置 2. 配置路由器接口 &#xff08;1&#xff09;R1的配置 [Hu…

广域网技术(PAP和CHAP)

第十六章&#xff1a;广域网技术 随着经济全球化与数字化变革加速&#xff0c;企业规模不断扩大&#xff0c;越来越多的分支机构出现在不同的地域。每个分支的网络被认为一个LAN&#xff08;Local Area Network&#xff0c;局域网&#xff09;&#xff0c;总部和各分支机构之间…

PAP和CHAP认证方式

目录 一、实验目的和要求 二、实验原理 三、主要仪器设备和实验环境 四、实验内容及步骤 4.2基础实验&#xff08;PAP认证&#xff09;&#xff1a; 4.3基础实验&#xff08;CHAP认证&#xff09;&#xff1a; 4.3扩展实验&#xff08;三台路由器之间的CHAP认证&#xf…

PAP认证和CHAP认证原理解析

PAP&#xff08;PasswordAuthenticationProtocol 密码认证协议&#xff09; PAP 是 PPP 协议集中的一种链路控制协议&#xff0c;通过2次握手建立认证&#xff0c;对等结点持续重复发送 ID/ 密码&#xff08;明文&#xff09;给验证者&#xff0c;直至认证得到响应或连接终止&…

PAP认证与CHAP认证的区别

PAP认证与CHAP认证的区别 参考链接&#xff1a;https://blog.csdn.net/yaocg0814/article/details/83622054 PAP和CHAP的区别&#xff1a; 区别在于认证过程&#xff0c;PAP是简单认证,明文传送,客户端直接发送包含用户名/口令的认证请求,服务器端处理并回应。而CHAP是加密认证…