深度学习500问:AI工程师面试宝典
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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算法原理

输入:数据集,其中样本xin维向量,yi∈{0,1},降维后的目标维度是d

定义:

Njj=0,1)为第j类样本个数;

Xjj=0,1)为第j类样本的集合;

ujj=0,1)为第j类样本的均值向量;

jj=0,1)为第j类样本的协方差矩阵。

其中:

假设投影直线是向量w,对任意样本xi,它在直线w上的投影为wTxi,两个类别的中心点u0u1在直线w的投影分别为wTu0wTu1

LDA的目标是让两个类别的数据中心间的距离尽量大,与此同时,希望同类样本投影点的协方尽量小,最小化

定义类内散度矩阵为:

定义类间散度矩阵为:

据上分析,优化目标为:

根据广义瑞利熵(Generalized Rayleigh Quotient),矩阵的最大特征值为Jw)的最大值,矩阵的最大特征值对应的特征向量即为w

2.8.4 LDA算法流程总结

输入:数据集,其中样本xin维向量,,降维后的目标维度是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的优缺点