![深度学习500问:AI工程师面试宝典](https://wfqqreader-1252317822.image.myqcloud.com/cover/753/36511753/b_36511753.jpg)
2.8 线性判别分析
线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的降维方法。和2.9节将介绍的主成分分析(PCA)不考虑样本类别输出的无监督降维技术不同,LDA是一种监督学习的降维技术,数据集的每个样本都有类别输出。
2.8.1 LDA思想总结
在多维空间中,数据处理分类问题较为复杂,LDA算法将多维空间中的数据投影到一条直线上,将d维数据转化成一维数据进行处理。训练数据设法将多维数据投影到一条直线上,同类数据的投影点尽可能接近,异类数据点尽可能远离。对数据进行分类时,将其投影到同一条直线上,再根据投影点的位置来确定样本的类别。
如果用一句话概括LDA思想,即“投影后类内方差最小,类间方差最大”。
2.8.2 图解LDA核心思想
假设有两类数据,这些数据特征均为二维,如图2-8所示。我们的目标是将这些数据投影到一维,让每一类相近数据的投影点尽可能接近,不同类别的数据尽可能远离,即图中两类数据中心之间的距离尽可能大。
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-069-1.jpg?sign=1739140850-vbIJ5SJSxl79AneAzzQYMWC7Hk4CCHcW-0-1a2e56a8318df2f4ad158eed9c1bf29b)
图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类样本的协方差矩阵。
其中:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-070-1.jpg?sign=1739140850-WbcLg3NF7q0myMYk5v6X0mlvCl6vBDTQ-0-42ce88678a62c59c8efc429244936fa6)
假设投影直线是向量w,对任意样本xi,它在直线w上的投影为wTxi,两个类别的中心点u0、u1在直线w的投影分别为wTu0、wTu1。
LDA的目标是让两个类别的数据中心间的距离尽量大,与此同时,希望同类样本投影点的协方
尽量小,最小化
。
定义类内散度矩阵为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-070-5.jpg?sign=1739140850-pG1WAx7s6B2Bqls9q2JdMF4wmBjQyIJP-0-8ffe84b78c505e876ff4505dee8f0b34)
定义类间散度矩阵为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-070-6.jpg?sign=1739140850-pn2eYXS8A1BKfQ8oxS5sVHnFmXFmKdKz-0-227746d6e2f0e706d15cc4d4c302806c)
据上分析,优化目标为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-070-7.jpg?sign=1739140850-TVnslGHTap7liEphg46R5MyIi9W0q3Cw-0-b05129a8c6c481dd9cbe171b7c013c15)
根据广义瑞利熵(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的异同
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-071-1.jpg?sign=1739140850-idkX2aniKawrbPjtBSLvXIrmhnzwFSnx-0-0f9299f995819f4261287d1d19b74a8c)
2.8.6 LDA的优缺点
LDA的优缺点如表2-7所示。
表2-7 LDA的优缺点
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-071-2.jpg?sign=1739140850-XUT8V3QLrBNLpgtgW1DTwlvOO2027lYp-0-b890d266b6ba73db066b895e88445544)