【CS285】听说过“欧氏距离”,这个“马氏距离(Mahalanobis distance)”又是什么呀?

From DeepSeek-R1-web

马氏距离(Mahalanobis Distance)是一个衡量数据点之间“真实距离”的工具,它比欧氏距离更智能。我们可以通过一个简单例子来理解它。


1. 先复习欧氏距离

假设你在平面上有两个点 ( A(1,2) ) 和 ( B(4,6) ),它们的欧氏距离是:
( 4 − 1 ) 2 + ( 6 − 2 ) 2 = 5 \sqrt{(4-1)^2 + (6-2)^2} = 5 (41)2+(62)2 =5
特点:欧氏距离默认每个坐标轴的重要性相同,且坐标轴之间完全独立(比如x轴和y轴没有关联)。


2. 马氏距离要解决的问题

假设你考试有两门科目:数学和语文。

  • 情况1:数学成绩的分数范围是0-100,语文也是0-100。此时用欧氏距离合理。
  • 情况2:数学成绩的范围是0-100,但语文成绩的范围是0-10(比如按10分制评分)。
    问题:直接算欧氏距离时,语文的1分差异会被放大(因为范围小),而数学的1分差异被缩小。
    解决方法:马氏距离通过考虑数据的分布(比如方差、协方差),自动调整不同维度的“重要性”。

3. 马氏距离的直观理解

想象一群学生的数学和语文成绩分布成一个椭圆(而不是正圆),椭圆的长轴和短轴方向代表成绩的变化趋势。

  • 欧氏距离:像用圆规画圆,无论椭圆方向如何,都按正圆测量距离。
  • 马氏距离:会沿着椭圆的形状“拉伸或压缩”坐标系,使椭圆变成一个正圆,再计算距离。
    结果:在椭圆分布的数据中,马氏距离能更真实地反映点之间的相似性。

4. 数学定义

设数据点 x \mathbf{x} x,均值为 μ \mathbf{\mu} μ,协方差矩阵为 Σ \Sigma Σ,则马氏距离为:
D Mahalanobis = ( x − μ ) T Σ − 1 ( x − μ ) D_{\text{Mahalanobis}} = \sqrt{ (\mathbf{x} - \mathbf{\mu})^T \Sigma^{-1} (\mathbf{x} - \mathbf{\mu}) } DMahalanobis=(xμ)TΣ1(xμ)
关键点

  • Σ − 1 \Sigma^{-1} Σ1是协方差矩阵的逆,用来“标准化”不同维度的尺度(比如将语文成绩的10分制转换为与数学的100分制可比)。
  • 如果数据各维度独立且方差相同,马氏距离退化为欧氏距离。

5. 回到课程公式

在策略 π θ ( a t ∣ s t ) \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) πθ(atst)中:

  • 动作 a t \mathbf{a}_t at服从以 f ( s t ) f(\mathbf{s}_t) f(st)为均值、 Σ \Sigma Σ为协方差的高斯分布。
  • 使用马氏距离 ∥ f ( s t ) − a t ∥ Σ 2 \| f(\mathbf{s}_t) - \mathbf{a}_t \|_{\Sigma}^2 f(st)atΣ2,相当于:
    1. 考虑不同动作维度的方差(比如某些关节的移动范围大,某些小)。
    2. 考虑动作维度之间的相关性(比如两个关节联动时,它们的动作可能相关)。

6. 举个具体例子

假设机器人手臂有两个关节:

  • 关节1的移动范围大(方差大),关节2的移动范围小(方差小)。
  • 如果直接用欧氏距离,会高估关节2的误差;用马氏距离则会自动按方差调整,更合理地衡量动作偏差。

总结

  • 欧氏距离:适用于各维度独立、尺度相同的情况(比如平面几何)。
  • 马氏距离:适用于数据有不同方差、维度相关的情况(比如考试成绩、传感器数据)。
  • 课程中的公式:用马氏距离衡量动作与均值的偏差,能更合理地反映策略的优劣。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值