零碎的知识点(二十):3D 高斯为什么是椭球

3D 高斯为什么是椭球

  • [✅ 第 1 步:先从你完全熟悉的东西开始 ------ 圆](#✅ 第 1 步:先从你完全熟悉的东西开始 —— 圆)
  • [✅ 第 2 步:圆可以变成椭圆,只要把 x 或 y 缩放一下](#✅ 第 2 步:圆可以变成椭圆,只要把 x 或 y 缩放一下)
  • [✅ 第 3 步:用矩阵写一个椭球方程(用你能理解的方式)](#✅ 第 3 步:用矩阵写一个椭球方程(用你能理解的方式))
  • [🟡 到这里我们已经知道:](#🟡 到这里我们已经知道:)
  • [✅ 第 4 步:非对角矩阵会"旋转"椭球](#✅ 第 4 步:非对角矩阵会“旋转”椭球)
    • [👉 一个矩阵的本质作用:](#👉 一个矩阵的本质作用:)
      • [把"单位球"变成某种形状(拉伸 + 旋转)](#把“单位球”变成某种形状(拉伸 + 旋转))
  • [✅ 第 5 步:核心直觉(你必须记住的)](#✅ 第 5 步:核心直觉(你必须记住的))
  • [❗ 这是关键总结:](#❗ 这是关键总结:)
  • [🟣 最容易记住的比喻(超级通俗)](#🟣 最容易记住的比喻(超级通俗))
      • [1. 若协方差相同 = 各个方向一样 → 球](#1. 若协方差相同 = 各个方向一样 → 球)
      • [2. 若某方向方差大 = 那个方向拉得更开 → 椭球变长](#2. 若某方向方差大 = 那个方向拉得更开 → 椭球变长)
      • [3. 若变量之间有相关性(非对角线)= 椭球会旋转](#3. 若变量之间有相关性(非对角线)= 椭球会旋转)

好的,我现在 从线性代数最基础 开始,一步一步、不跳步骤、完全零基础 地解释为什么:

(x-\\mu)\^T \\Sigma\^{-1} (x-\\mu) = \\text{constant}

会是一个 椭球方程

你不需要任何线性代数背景,我会用图形和直觉帮你理解。


✅ 第 1 步:先从你完全熟悉的东西开始 ------ 圆

二维圆的方程:

x 2 + y 2 = r 2 x^2 + y^2 = r^2 x2+y2=r2

这代表"所有到原点的距离相同的点组成了圆"。

三维球:

x 2 + y 2 + z 2 = r 2 x^2 + y^2 + z^2 = r^2 x2+y2+z2=r2

这是三维球的方程。

也就是说:

平方加起来 = 常数 → 球(圆)


✅ 第 2 步:圆可以变成椭圆,只要把 x 或 y 缩放一下

你肯定见过:

x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

这是椭圆。

为什么变成椭圆?

因为:

  • x 方向被除以 a(所以 x 被缩放)
  • y 方向被除以 b(所以 y 被缩放)

结果:

圆被水平或竖直拉伸,就变成椭圆

三维同理:

x 2 a 2 + y 2 b 2 + z 2 c 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1 a2x2+b2y2+c2z2=1

就是一个椭球。


✅ 第 3 步:用矩阵写一个椭球方程(用你能理解的方式)

上面这个三维椭球方程:

x 2 a 2 + y 2 b 2 + z 2 c 2 \frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} a2x2+b2y2+c2z2

其实可以写成矩阵形式:

( x y z ) ( 1 a 2 0 0 0 1 b 2 0 0 0 1 c 2 ) ( x y z ) \begin{pmatrix} x & y & z \end{pmatrix} \begin{pmatrix} \frac{1}{a^2} & 0 & 0 \\ 0 & \frac{1}{b^2} & 0 \\ 0 & 0 & \frac{1}{c^2} \end{pmatrix} \begin{pmatrix} x \ y \ z \end{pmatrix} (xyz) a21000b21000c21 (x y z)

为什么?

因为乘起来就会变成:

x 2 a 2 + y 2 b 2 + z 2 c 2 \frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} a2x2+b2y2+c2z2

也就是椭球。


🟡 到这里我们已经知道:

一个对角矩阵可以描述椭球的拉伸方式。

但是 Σ − 1 \Sigma^{-1} Σ−1(协方差矩阵的逆)不是对角矩阵怎么办?

它可能是这样的:

Σ − 1 = ( 4 1 3 1 2 0 3 0 5 ) \Sigma^{-1} = \begin{pmatrix} 4 & 1 & 3 \\ 1 & 2 & 0 \\ 3 & 0 & 5 \end{pmatrix} Σ−1= 413120305

它有斜线上的数字 → 会"旋转"椭球。

别急,我们继续。


✅ 第 4 步:非对角矩阵会"旋转"椭球

你现在知道:

  • 对角矩阵 = 只是拉伸(不旋转)
  • 有非零 off-diagonal 元素(非对角线)= 旋转 + 拉伸

但是你又问:

我不懂线性代数,为什么它会旋转?

我用最通俗的方式解释:


👉 一个矩阵的本质作用:

把"单位球"变成某种形状(拉伸 + 旋转)

比如:

把一张纸上的圆压一下、拉一下、斜着拽一下

→ 它就变成了一个椭圆。

在三维中:

把一个球沿不同方向:

  • 拉长
  • 压扁
  • 斜着旋转
  • 再继续拉长

→ 就变成了椭球。

任何矩阵(只要是对称正定的)都会做类似的事。

而 Σ − 1 \Sigma^{-1} Σ−1 正好就是一个对称正定矩阵,因此它做到的事情就是:

把球通过旋转 + 拉伸变成椭球。


✅ 第 5 步:核心直觉(你必须记住的)

( x − μ ) T A ( x − μ ) = 1 (x-\mu)^T A (x-\mu)=1 (x−μ)TA(x−μ)=1

意思是:

所有被矩阵 A"变形后"的点,保持同样"距离",组成一个曲面。

这个曲面必然是椭球,因为:

  • A 会把球变形
  • 球的等距面是球
  • 球被线性变换(拉伸+旋转)后必然变为椭球

就是这么简单。


❗ 这是关键总结:

球(圆)经过一个线性变换(矩阵 A) → 必然变成椭球。

高斯分布里的等值面满足
( x − μ ) T Σ − 1 ( x − μ ) = c (x-\mu)^T\Sigma^{-1}(x-\mu)=c (x−μ)TΣ−1(x−μ)=c

所以就是椭球。

因为 Σ − 1 \Sigma^{-1} Σ−1 就是"把球拉成椭球"的那个变换矩阵。


🟣 最容易记住的比喻(超级通俗)

想象你有一个像橡皮做的球:

1. 若协方差相同 = 各个方向一样 → 球

像吹好的气球,完全对称。

2. 若某方向方差大 = 那个方向拉得更开 → 椭球变长

3. 若变量之间有相关性(非对角线)= 椭球会旋转

就像你拽球的时候不是正着拽,而是"斜着拽"。

最终形状:

→ 一个斜着、拉伸过的球 = 椭球。


相关推荐
极客BIM工作室2 小时前
VideoCAD:大规模CAD UI交互与3D推理视频数据集,开启智能CAD建模新范式
人工智能·机器学习
二川bro2 小时前
2025年Python机器学习全栈指南:从基础到AI项目部署
人工智能·python·机器学习
Learn Beyond Limits3 小时前
Correlation vs Cosine vs Euclidean Distance|相关性vs余弦相似度vs欧氏距离
人工智能·python·神经网络·机器学习·ai·数据挖掘
Q***f63511 小时前
机器学习书籍
人工智能·机器学习
gorgeous(๑>؂<๑)14 小时前
【ICLR26匿名投稿】Context-Aware ViT:让目标检测真正“看清上下文”的增强策略
人工智能·目标检测·机器学习·计算机视觉·目标跟踪
张人玉14 小时前
OCR 字符识别助手详解(含 Halcon 示例)
人工智能·机器学习·计算机视觉·halcon
z***I39414 小时前
Git机器学习
人工智能·git·机器学习
信息快讯16 小时前
【机器学习在智能水泥基复合材料中的应用领域】
人工智能·机器学习·材料工程·复合材料·水泥基
q***T58316 小时前
机器学习基础
人工智能·机器学习