机器学习之LDA线性判别分析

思想总结

线性判别分析( Linear Discriminant Analysis , LDA )是一种经典的降维方法。和主成分分析 PCA 不
考虑样本类别输出的无监督降维技术不同, LDA 是一种监督学习的降维技术,数据集的每个样本有类别输出。

LDA 分类思想简单总结如下:

  • 多维空间中,数据处理分类问题较为复杂, LDA 算法将多维空间中的数据投影到一条直线上,将 d
    维数据转化成 1 维数据进行处理。
  • 对于训练数据,设法将多维数据投影到一条直线上,同类数据的投影点尽可能接近,异类数据点尽
    可能远离。
  • 对数据进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别
    如果用一句话概括 LDA 思想,即 “ 投影后类内方差最小,类间方差最大 ” 。

图解 LDA 核心思想

假设有红、蓝两类数据,这些数据特征均为二维,如下图所示。我们的目标是将这些数据投影到一维,让每一类相近的数据的投影点尽可能接近,不同类别数据尽可能远,即图中红色和蓝色数据中心之间的距离尽可能大。
机器学习之LDA线性判别分析
左图和右图是两种不同的投影方式。

  • 左图思路:让不同类别的平均点距离最远的投影方式。
  • 右图思路:让同类别的数据挨得最近的投影方式。

从上图直观看出,右图红色数据和蓝色数据在各自的区域来说相对集中,根据数据分布直方图也可看出,所以右图的投影效果好于左图,左图中间直方图部分有明显交集。
以上例子是基于数据是二维的,分类后的投影是一条直线。如果原始数据是多维的,则投影后的分类面是一低维的超平面。

二类LDA算法原理

输入:数据集 D=(x1,y1),(x2,y2),...,(xm,ym)D={(\boldsymbol x_1,\boldsymbol y_1),(\boldsymbol x_2,\boldsymbol y_2),...,(\boldsymbol x_m, \boldsymbol y_m)},其中样本 xi\boldsymbol x_i 是 n 维向量, yiϵ0,1\boldsymbol y_i \epsilon{0, 1} ,降维后的目标维度 dd 。定义
Nj(j=0,1)N_j(j=0,1) 为第 jj 类样本个数;
Xj(j=0,1)X_j(j=0,1) 为第 jj 类样本的集合;
uj(j=0,1)u_j(j=0,1) 为第 jj 类样本的均值向量;
j(j=0,1)\sum_j(j=0,1) 为第 jj 类样本的协方差矩阵。
其中
机器学习之LDA线性判别分析
假设投影直线是向量 w\boldsymbol w ,对任意样本 xi\boldsymbol x_i ,它在直线 ww 上的投影为wTxi\boldsymbol w^Tx_i ,两个类别的中心点 u0u_0, u1u_1 在直线 ww 的投影分别为wTu0\boldsymbol w^Tu_0wTu1\boldsymbol w^Tu_1

LDA 的目标是让两类别的数据中心间的距离 wTu0wTu122| \boldsymbol w^Tu_0 - \boldsymbol w^Tu_1|^2_2 尽量大,与此同时,希望同类样本投影点的协方差 wT0w\boldsymbol w^T \sum_0\boldsymbol wwT1w\boldsymbol w^T \sum_1 \boldsymbol w 尽量小,最小化 wT0w+wT1w\boldsymbol w^T \sum_0\boldsymbol w + \boldsymbol w^T \sum_1 \boldsymbol w

定义类内散度矩阵
机器学习之LDA线性判别分析
类间散度矩阵 Sb=(u0u1)(u0u1)TS_b = (u_0 - u_1)(u_0 - u_1)^T

据上分析,优化目标为
机器学习之LDA线性判别分析
根据广义瑞利商的性质,矩阵 S1wSbS^{-1}{w} S_b 的最大特征值为 J(w)J(\boldsymbol w) 的最大值,矩阵S1wSbS^{-1}{w} S_b 的最大特征值对应的特征向量即为 w\boldsymbol w

LDA算法流程总结

算法降维流程如下:
输入:数据集 D=(x1,y1),(x2,y2),...,(xm,ym)D = { (x_1,y_1),(x_2,y_2), ... ,(x_m,y_m) } ,其中样本 xix_i 是 n 维向量, yiϵC1,C2,...,Cky_i \epsilon {C_1, C_2, ..., C_k} ,降维后的目标维度 dd
输出:降维后的数据集 D\overline{D}
步骤:

  • 计算类内散度矩阵 SwS_w
  • 计算类间散度矩阵 SbS_b
  • 计算矩阵 Sw1SbS^{-1}_wS_b
  • 计算矩阵 Sw1SbS^{-1}_wS_b 的最大的 d 个特征值。
  • 计算 d 个特征值对应的 d 个特征向量,记投影矩阵为 W 。
  • 转化样本集的每个样本,得到新样本 Pi=WTxiP_i = W^Tx_i
  • 输出新样本集 D=(p1,y1),(p2,y2),...,(pm,ym)\overline{D} = { (p_1,y_1),(p_2,y_2),...,(p_m,y_m) }

LDA优缺点

优点

  • 可以使用类别的先验知识
  • 以标签,类别衡量差异性的有监督降维方式,相对于PCA的模糊性,其目的更明确,更能反映样本间的差异

缺点

  • LDA不适合对非高斯分布样本进行降维
  • LDA降维最多降到分类数k-1维
  • LDA在样本分类信息依赖方差而不是均值时,降维效果不好
  • LDA可能过度拟合数据

LDA和PCA的区别

相同点

  • 两者俊可以对数据进行降维
  • 两者在降维时均使用了矩阵特征分解的思想
  • 两者都假设数据符合高斯分布

不同点

LDA PCA
有监督 无监督
降维最多降到k-1维 降维多少没有限制
可以用于降维,还可以用于分类 只用于降维
选择分类性能最好的投影方向 选择样本点投影具有最大方差的方向
更明确,更能反应样本间的差异 目的较为模糊