目录
第一部分:LDA (线性判别分析) —— 一切为了分类
1. LDA 的核心思想
2. 数学推导
第二部分:PCA (主成分分析) —— 数据的“压缩”艺术
1. PCA 的核心思想
2. 为什么要正交?
3. 数学推导
总结:LDA vs PCA
降维双雄:深入浅出 LDA 与 PCA 算法
在机器学习的数据预处理中,我们经常遇到“维度灾难”。特征太多怎么办?这时候就需要降维(Dimensionality Reduction)。
今天我们来聊聊降维领域的两位大佬:LDA(线性判别分析) 和 PCA(主成分分析)。虽然它们名字很像,都是为了把数据从高维投影到低维,但它们的“初心”却完全不同。
第一部分:LDA (线性判别分析) —— 一切为了分类
LDA (Linear Discriminant Analysis) 由 Ronald A. Fisher 在1936年提出,所以有时也叫 Fisher 判别分析。
1. LDA 的核心思想
LDA 是一种有监督(Supervised)的学习算法。它的目的非常明确:降维是为了更好地分类。
想象一下,桌子上混杂着红豆和绿豆。我们要从侧面打一束光,把它们的影子投影到墙上(一维直线)。
-
坏的投影:红豆和绿豆的影子混在一起,分不清。
-
好的投影:红豆的影子在一边,绿豆的影子在另一边,中间泾渭分明。
LDA 的目标就是找到那个“完美的角度”,使得投影后的数据:
类间距离最大化:不同类别的中心离得越远越好。
类内距离最小化:同一类别的数据点越紧凑越好(方差小)。


或者用更形象的例子:

2. 数学推导
为了实现上述目标,LDA 定义了一个目标函数
。
-
分子:
(投影后两类中心点的距离)。我们希望它越大越好。 -
分母:
(投影后各类的散列值/方差)。我们希望它越小越好,意味着数据更集中。
最终的公式长这样(Fisher 准则):
其中
是类间散布矩阵,
是类内散布矩阵。
通过拉格朗日乘子法求解,我们发现最佳的投影方向
其实就是矩阵
的特征向量 。
第二部分:PCA (主成分分析) —— 数据的“压缩”艺术
如果说 LDA 是为了“找不同”,那么 PCA (Principal Component Analysis) 就是为了“抓重点”。它是降维中最常用的手段。
1. PCA 的核心思想
PCA 是一种无监督(Unsupervised)算法。它不管你是什么类别,它只关心数据分布的方差(Variance)。
-
方差大:说明数据在这个方向上分布得很广,蕴含的信息量大。
-
方差小:说明数据挤在一起,这个维度可能没啥用(或者是噪声)。
PCA 的目标是:找到一个新的坐标系(基变换),把数据投影过去,使得在新坐标轴上的方差最大,同时不同坐标轴之间互不相关(协方差为0)。

2. 为什么要正交?
为了让降维后的特征尽可能独立,不包含重复信息,PCA 要求新的基必须是正交的(垂直的)。
比如,我们选择了第一个方差最大的方向作为“主成分1”,那么“主成分2”必须在垂直于“主成分1”的方向中去找方差最大的那个。

3. 数学推导
PCA 的计算核心在于协方差矩阵。
协方差矩阵的对角线元素代表方差,非对角线元素代表协方差。我们的目标是将协方差矩阵对角化(即让非对角线元素变为0)。
操作步骤:
计算原始数据的协方差矩阵。
求出这个矩阵的特征值和特征向量。
将特征值从大到小排序。
取前
个特征值对应的特征向量,这就构成了新的空间。
将原始数据乘以这个特征向量矩阵,就得到了降维后的数据
。
总结:LDA vs PCA
| 维度 | LDA (线性判别分析) | PCA (主成分分析) |
| 类型 | 有监督 (Supervised) | 无监督 (Unsupervised) |
| 核心目标 | 分类:最大化类间距离,最小化类内方差 | 描述:最大化整体方差,保留主要信息 |
| 关注点 | 哪些维度能把不同类别分开? | 哪些维度的数据波动(信息量)最大? |
| 应用场景 | 数据带有标签,任务是分类预处理 | 数据无标签,任务是去噪、压缩、可视化 |
简单来说,如果你有标签并且想做分类,首选 LDA;如果你只是想把数据变小一点,或者去噪,首选 PCA。




