2.8 线性判别分析
线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的降维方法。和2.9节将介绍的主成分分析(PCA)不考虑样本类别输出的无监督降维技术不同,LDA是一种监督学习的降维技术,数据集的每个样本都有类别输出。
2.8.1 LDA思想总结
在多维空间中,数据处理分类问题较为复杂,LDA算法将多维空间中的数据投影到一条直线上,将d维数据转化成一维数据进行处理。训练数据设法将多维数据投影到一条直线上,同类数据的投影点尽可能接近,异类数据点尽可能远离。对数据进行分类时,将其投影到同一条直线上,再根据投影点的位置来确定样本的类别。
如果用一句话概括LDA思想,即“投影后类内方差最小,类间方差最大”。
2.8.2 图解LDA核心思想
假设有两类数据,这些数据特征均为二维,如图2-8所示。我们的目标是将这些数据投影到一维,让每一类相近数据的投影点尽可能接近,不同类别的数据尽可能远离,即图中两类数据中心之间的距离尽可能大。
图2-8 LDA核心思想图解
图2-8所示的左图和右图是两种不同的投影方式。
• 左图思路:让不同类别的平均点距离最远的投影方式。
• 右图思路:让同类别的数据挨得最近的投影方式。
右图中两类数据在各自的区域相对集中,根据数据分布直方图也可看出,右图的投影效果好于左图,左图中间直方图部分有明显交集。
以上例子是基于数据是二维的,分类后的投影是一条直线。如果原始数据是多维的,则投影后的分类面是一个低维的超平面。
2.8.3 二类LDA算法原理
输入:数据集,其中样本xi是n维向量,yi∈{0,1},降维后的目标维度是d。
定义:
Nj(j=0,1)为第j类样本个数;
Xj(j=0,1)为第j类样本的集合;
uj(j=0,1)为第j类样本的均值向量;
∑j(j=0,1)为第j类样本的协方差矩阵。
其中:
假设投影直线是向量w,对任意样本xi,它在直线w上的投影为wTxi,两个类别的中心点u0、u1在直线w的投影分别为wTu0、wTu1。
LDA的目标是让两个类别的数据中心间的距离尽量大,与此同时,希望同类样本投影点的协方尽量小,最小化。
定义类内散度矩阵为:
定义类间散度矩阵为:
据上分析,优化目标为:
根据广义瑞利熵(Generalized Rayleigh Quotient),矩阵的最大特征值为J(w)的最大值,矩阵的最大特征值对应的特征向量即为w。
2.8.4 LDA算法流程总结
输入:数据集,其中样本xi是n维向量,,降维后的目标维度是d。
输出:降维后的数据集。
步骤:
(1)计算类内散度矩阵Sw。
(2)计算类间散度矩阵Sb。
(3)计算矩阵。
(4)计算矩阵的最大的d个特征值。
(5)计算d个特征值对应的d个特征向量,记投影矩阵为W。
(6)转化样本集的每个样本,得到新样本。
(7)输出新样本集
2.8.5 LDA和PCA的异同
LDA和PCA的异同如表2-6所示。
表2-6 LDA和PCA的异同
2.8.6 LDA的优缺点
LDA的优缺点如表2-7所示。
表2-7 LDA的优缺点