机器学习之LDA线性判别分析
思想总结
线性判别分析( Linear Discriminant Analysis , LDA )是一种经典的降维方法。和主成分分析 PCA 不
考虑样本类别输出的无监督降维技术不同, LDA 是一种监督学习的降维技术,数据集的每个样本有类别输出。
LDA 分类思想简单总结如下:
- 多维空间中,数据处理分类问题较为复杂, LDA 算法将多维空间中的数据投影到一条直线上,将 d
维数据转化成 1 维数据进行处理。 - 对于训练数据,设法将多维数据投影到一条直线上,同类数据的投影点尽可能接近,异类数据点尽
可能远离。 -
对数据进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别。
如果用一句话概括 LDA 思想,即 “ 投影后类内方差最小,类间方差最大 ” 。
图解 LDA 核心思想
假设有红、蓝两类数据,这些数据特征均为二维,如下图所示。我们的目标是将这些数据投影到一维,让每一类相近的数据的投影点尽可能接近,不同类别数据尽可能远,即图中红色和蓝色数据中心之间的距离尽可能大。
左图和右图是两种不同的投影方式。
- 左图思路:让不同类别的平均点距离最远的投影方式。
- 右图思路:让同类别的数据挨得最近的投影方式。
从上图直观看出,右图红色数据和蓝色数据在各自的区域来说相对集中,根据数据分布直方图也可看出,所以右图的投影效果好于左图,左图中间直方图部分有明显交集。
以上例子是基于数据是二维的,分类后的投影是一条直线。如果原始数据是多维的,则投影后的分类面是一低维的超平面。
二类LDA算法原理
输入:数据集 ,其中样本 是 n 维向量, ,降维后的目标维度 。定义
为第 类样本个数;
为第 类样本的集合;
为第 类样本的均值向量;
为第 类样本的协方差矩阵。
其中
假设投影直线是向量 ,对任意样本 ,它在直线 上的投影为 ,两个类别的中心点 , 在直线 的投影分别为 、 。
LDA 的目标是让两类别的数据中心间的距离 尽量大,与此同时,希望同类样本投影点的协方差 、 尽量小,最小化 。
定义类内散度矩阵
类间散度矩阵
据上分析,优化目标为
根据广义瑞利商的性质,矩阵 的最大特征值为 的最大值,矩阵 的最大特征值对应的特征向量即为 。
LDA算法流程总结
算法降维流程如下:
输入:数据集 ,其中样本 是 n 维向量, ,降维后的目标维度 。
输出:降维后的数据集 。
步骤:
- 计算类内散度矩阵 。
- 计算类间散度矩阵 。
- 计算矩阵 。
- 计算矩阵 的最大的 d 个特征值。
- 计算 d 个特征值对应的 d 个特征向量,记投影矩阵为 W 。
- 转化样本集的每个样本,得到新样本 。
- 输出新样本集
LDA优缺点
优点
- 可以使用类别的先验知识
- 以标签,类别衡量差异性的有监督降维方式,相对于PCA的模糊性,其目的更明确,更能反映样本间的差异
缺点
- LDA不适合对非高斯分布样本进行降维
- LDA降维最多降到分类数k-1维
- LDA在样本分类信息依赖方差而不是均值时,降维效果不好
- LDA可能过度拟合数据
LDA和PCA的区别
相同点
- 两者俊可以对数据进行降维
- 两者在降维时均使用了矩阵特征分解的思想
- 两者都假设数据符合高斯分布
不同点
LDA | PCA |
---|---|
有监督 | 无监督 |
降维最多降到k-1维 | 降维多少没有限制 |
可以用于降维,还可以用于分类 | 只用于降维 |
选择分类性能最好的投影方向 | 选择样本点投影具有最大方差的方向 |
更明确,更能反应样本间的差异 | 目的较为模糊 |