Skip to content

思路与直觉

本章目标

  1. 用直观方式理解 LDA 的判别式降维思路——"找一个方向,让不同类尽量分开、同类尽量靠拢"。
  2. 理解为什么 LDA 需要标签参与训练,而 PCA 不需要——这是两种降维哲学的根本分歧。
  3. 通过与 PCA 的对比,建立 LDA 在降维算法图中的定位。

重点方法与概念速览

名称类型作用
判别式降维核心直觉投影后不同类别的中心尽量远,同类样本尽量近——将"分类友好"作为降维目标
类间散度概念衡量不同类别中心之间的分离程度——LDA 想要最大化它
类内散度概念衡量同一类别内部样本的分散程度——LDA 想要最小化它
判别方向结果最大化类间散度与类内散度之比的投影方向
label监督信息LDA 训练必需的类别标签——没有它就无法定义"类间"和"类内"
K1 维上限约束K 个类别最多只能提取 K1 个判别方向——3 类数据恰好 2D

1. 为什么需要 LDA

LDA 回答的问题是:

如果要在低维空间里最好地区分不同类别,应该往哪个方向投影?

PCA 找的是"方差最大"的方向——它不关心类别,只关心数据整体散布。LDA 找的是"类别最可分"的方向——它利用标签信息,主动寻找让类别更清晰的低维表示。

理解重点

  • LDA 把降维问题转化成了"让类别在低维空间中更容易分开"——这在分类任务中非常有价值。
  • 这个直觉在日常中也有类比——看地图时旋转角度让行政区划更清晰,就是在做类似的事。
  • 正因为需要知道"类别是什么",LDA 必须有监督(需要标签),这是它和 PCA 最根本的区别。

2. 用"类间拉远、类内压紧"理解优化目标

LDA 的工作方式可以想象成:

  1. 看看各类的中心在哪——用标签统计每类的均值
  2. 看看类内有多散——用标签统计每类内部样本的分布
  3. 猜一个投影方向——把高维数据投影到一条线上
  4. 算一下投影后类中心多远、类内多紧——这就是 Fisher 准则的值
  5. 换个方向再试——不断调整直到找到"类间最远、类内最紧"的方向

理解重点

  • 这就像给三群鸟拍照——找一个角度让三群鸟在照片里看起来距离最远、每群最紧密,而不是拍出鸟群整体的展翅范围。
  • LDA 关心的不是"数据变化最大的方向"(PCA),而是"类别差异最明显的方向"。
  • 每一步"换个方向"在数学上就是广义特征值问题——数学原理章节会展开推导,这里只需建立直觉。

3. 为什么 Wine 数据特别适合讲 LDA

当前数据来自 Wine 真实数据集(178 样本 × 13 特征 × 3 类):

  • 三类葡萄品种的化学成分确实存在系统差异——类间散度天然较大
  • 13 个特征包含多种量纲——标准化后散度矩阵才具有几何意义
  • 3 个类别恰好对应 2 个判别方向——可以完整展示在 2D 平面上

理解重点

  • 如果类别本来就高度重叠(类间散度 ≈ 类内散度),LDA 找到的投影方向也难以让图像明显分开。
  • Wine 数据集的类别差异在化学成分上确实存在——这使得 LDA 的判别效果直观可感。
  • 使用真实数据集(而非 make_classification 合成数据)增加了教学的真实感——读者可以看到 LDA 在真实化学测量上的表现。

4. 为什么 label 在这里是真正的训练输入

LDA 的优化目标(类间散度 / 类内散度)天然依赖类别标签:

  • 没有标签 → 无法定义"哪是类内、哪是类间"
  • 没有类结构和类结构 → Fisher 准则无从计算
  • 没有 Fisher 准则 → LDA 退化成无目标的降维

理解重点

  • 在 PCA 分册中,label 只是着色用的"参考信息"——删掉它 PCA 照样训练。
  • 在 LDA 分册中,label 是训练必需的"监督信号"——删掉它 LDA 无法工作。
  • 这是两套降维哲学的分水岭:PCA 是"数据怎么说",LDA 是"标签怎么引导"。

5. 为什么当前只输出 2D LDA 图

Wine 数据有 3 个类别:

  • LDA 最多提取 K1=2 个判别方向
  • n_components=2 已经达到理论上限——不可能再训练 n_components=3
  • 因此 2D 图既是"全部判别信息的完整展示",也是"数学约束的必然结果"

理解重点

  • 这不是工程上的偷懒——PCA 可以随意扩展到 3D/4D,LDA 做不到。
  • 对 Wine 数据而言,2 个判别方向已经捕获了全部类别可分信息——不存在"丢掉的第 3 个判别方向"。
  • 这个 K1 约束是 LDA 最需要建立直觉的数学性质——它直接决定了你能降多少维。

6. 与 PCA 的直觉对比

维度PCALDA
核心问题哪个方向方差最大?哪个方向类别最可分?
标签不需要——只用特征必须——标签定义类别结构
投影效果保留最多信息,但类别可能混在一起保留最多类别差异,但可能丢失部分方差结构
维数限制最多到 min(d,N)最多到 K1
理想场景数据压缩、去噪、探索性可视化分类预处理、判别式特征提取
类比给整群鸟拍"展翅全景"给三群鸟拍"分群特写"

理解重点

  • PCA 和 LDA 不是"谁更好"——它们的目标根本不同。PCA 回答"数据怎么分布",LDA 回答"类别怎么区分"。
  • 如果任务是分类,LDA 通常更合适——它主动利用标签信息。如果任务是压缩,PCA 更合适——它不依赖标签。
  • 一个有用的对照实验:在 Wine 数据上分别运行 PCA(2D)和 LDA(2D),观察同一份数据在两种目标下的投影差异。

可视化

二维降维结果

常见坑

  1. 把 LDA 当成"带标签的 PCA"——两者优化目标根本不同(类间/类内比 vs 方差)。
  2. 忽略 K1 维上限,期望像 PCA 一样自由增加输出维数。
  3. 忘记 label 在 LDA 中是真正的训练输入——删掉它算法无法运行。
  4. 在 PCA 和 LDA 之间做优劣比较而不考虑任务需求——它们是不同目标的工具。

小结

  • LDA 的直觉核心是有监督判别式降维:用标签定义类间/类内散度 → 找最大化两者之比的方向 → 投影后类别更可分。
  • Wine 真实数据集(3 类 13 特征)类别差异明显——是展示 LDA 判别能力的最佳教学数据。
  • LDA 与 PCA 在直觉上截然不同:一个以类别为核心找"最可分"方向,一个以数据为核心找"最大方差"方向——选哪个取决于任务目标,而非算法优劣。