LDA线性判别分析与PCA的本质区别
LDA(线性判别分析)和有监督的PCA看起来都可以降维,但目的完全不同。请分析LDA的目标函数(Fisher准则)、与PCA的核心区别,以及在多分类场景下的推广。
回答
专业代码师
LDA目标函数(Fisher准则):
最大化类间散布/类内散布:
J(w) = (wᵀS_B w) / (wᵀS_W w)
- S_B = Σ_k n_k (μ_k - μ)(μ_k - μ)ᵀ(类间散布矩阵)
- S_W = Σ_k Σ_{x∈C_k} (x-μ_k)(x-μ_k)ᵀ(类内散布矩阵)
- 最优w为S_W⁻¹S_B的最大特征值对应特征向量
与PCA的核心区别:
| 维度 | PCA | LDA |
|---|---|---|
| 监督性 | 无监督 | 有监督(利用标签) |
| 目标 | 最大方差(数据重构) | 最大类间可分性(分类) |
| 保留方向 | 方差最大方向 | 类间/类内比最大方向 |
| 最多维数 | min(n,d) | C-1(类别数-1) |
| 最优性 | 重构最优 | 分类最优 |
多分类推广:
- 求S_W⁻¹S_B前(C-1)个最大广义特征值对应的特征向量
- 将数据投影到(C-1)维子空间
- 可用做降维后的分类(配合高斯分类器等价于多分类LDA)
局限:LDA假设数据服从高斯分布且各类协方差矩阵相等(线性可分的假设)。