线性判别分析
线性判别分析 (Linear Discriminant Analysis,LDA) 作为一种特征提取技术,可以提高计算效率,防止由于维数灾难而导致的过拟合。LDA 与 PCA 类似,不同之处在于 PCA 的目标是找到数据集中最大方差的正交分量轴,而 LDA 的目标是找到优化类可分性的特征子空间。
LDA 和 PCA 都是线性变换技术,可用于减少数据集中的维数。区别在于 LDA 是监督算法,而 PCA 是无监督算法。
LDA 旨在找到对应最多投影的线性判别,如下图所示,其中圆形和十字分别表示两类的正态分布样本:
轴 (LD1) 所示的线性判别可以很好地分类;而尽管 轴 (LD2) 所示的线性判别拥有更大的投影方差,但是无法捕获任何分类信息。
LDA 中假设数据是正态分布的。此外,我们假设类的协方差矩阵相同,并且特征之间互不相关。
算法思想
LDA 的算法流程的简单介绍如下:
- 对输入的 维数据集 进行标准化。
- 计算每个类的 维均值向量,构造类内散布矩阵 和类间散布矩阵 。
- 计算矩阵 的特征向量和特征值。
- 对特征值进行降序排序,对相应的特征向量进行排序。
- 提取 个最大特征值对应的特征向量,其中 () 是新特征子空间的维数。
- 使用提取的 个特征向量构造投影矩阵 。
- 使用投影矩阵 对 进行变换,得到新的 维特征子空间。
LDA 与 PCA 非常相似,通过将矩阵分解成特征值和特征向量,然后通过投影矩阵得到新的低维特征空间。其不同点在于 LDA 将类标签考虑在内 (步骤 2)。