PCA和LDA原理

PCA的作用

主成分分析简称 PCA(Principal Component Analysis),有两个大的用处
1.Clustering
把复杂的多维数据点,简化成少量数据点,易于分簇
2.降维
降低高维数据,简化计算
降低维度,压缩,去噪

原来的数据集是d维,转换成k维的数据,k<d
新的k维数据尽可能多的包含原来d维数据的信息

数据压缩

PCA和LDA原理
PCA和LDA原理

PCA求解

PCA和LDA原理

  • 2维降维到1维: 寻找一个一维向量的方向,数据在这个向量上的投影能最小化损失
  • 从n维降维到k维:寻找一个k维向量,数据在这个k维空间的投影能最小化损失,最大程度的包含原来n维数据的信息

如何选投影方向

PCA和LDA原理
二维降到一维的问题,要在二维平面中选择一个方向,将所有数据都投影到这个方向所在直线上,用投影值表示原始记录。
如何选择这个方向,才能尽量保留最多的原始信息呢?

  • 左图5个数据点,投影到x轴,y轴都不是好的选择。
    直观看:投影后的投影值尽可能分散。
    这种分散程度,用数学上的方差来表述
    方差是用来度量点集分散程度的指标

对数据做均值化

例子中有5条记录,2个维度
每一列为一条数据记录,一行为一个字段维度
PCA和LDA原理
第一个字段均值2,第二个字段均值3
均值化处理,每个字段内所有值都减去字段均值,其结果是将每个字段都变为均值为0
PCA和LDA原理
PCA和LDA原理

协方差矩阵

  • 协方差是衡量2个维度之间是否有关系,2个维度之间线性相关性有多大
    PCA和LDA原理
    PCA和LDA原理
  • 案例如下:
    PCA和LDA原理PCA和LDA原理

PCA目标函数推导1

我们的目的,是要找一个线性变化,让数据投影的方差最大化,假设先找一个线性变化u1,对xi做线性变化的投影
PCA和LDA原理
PCA和LDA原理
是投影后的向量
投影的均值:
PCA和LDA原理
投影的方差:
PCA和LDA原理
S是协方差矩阵:
PCA和LDA原理

PCA目标函数推导2

#利用拉格朗日变换
PCA和LDA原理

特征值和特征向量求解

PCA和LDA原理
PCA和LDA原理
至此可证明,我们要找的x 投影后的方差就是协方差矩阵的特征值,而我们想要的最大方差,显然就是协方差矩阵最大的特征值,最佳投影方向就是最大特征值所对应的特征向量
协方差的特征值:PCA和LDA原理
特征向量:PCA和LDA原理
将所有特征值从大到小排列,将相应的特征向量随之排列,可取特征向量的前K行组成的矩阵PCA和LDA原理
乘以原始数据矩阵X,就得到了我们需要的降维后的数据矩阵Y

PCA算法步骤

设有m条n维数据。
1)将原始数据按列组成n行m列矩阵X
2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
3)求出协方差矩阵
4)求出协方差矩阵的特征值及对应的特征向量
5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P
6)Y=PX即为降维到k维后的数据

PCA求解实例

PCA和LDA原理
PCA和LDA原理

特征脸示例

PCA和LDA原理
PCA和LDA原理
PCA和LDA原理

将高斯核函数(rbf)应用到PCA

PCA和LDA原理

Kernal PCA算法步骤

PCA和LDA原理

LDA(监督式的学习)

LDA(Linear Discriminant Analysis),中文名为“线性判别分析”。
LDA的中心思想就是最大化类间距离以及最小化类内距离
PCA和LDA原理

LDA理论推导

PCA和LDA原理
PCA和LDA原理
PCA和LDA原理
PCA和LDA原理
== 至此,我们最大化的目标就对应了矩阵的最大特征值,而投影方向就是 这个特征值对应的特征向量可将LDA从二分类扩展至多分类高维情况==

LDA算法流程

PCA和LDA原理

PCA与LDA的比较

  • 相似点
    从过程来看,PCA与LDA有很大的相似性,最后其实都是求某一个矩阵的特征值,投影矩阵即为该特征值对应的特征向量

  • 差异
    PCA为非监督降维,LDA为有监督降维
    PCA希望投影后的数据方差尽可能的大(最大可分性),因为其假设方差越大,则所包含的信息越多;而LDA则希望投影后相同类别的组内方差小,而组间方差大。LDA能合理运用标签信息,使得投影后的维度具有判别性,不同类别的数据尽可能的分开。
    有标签就尽可能的利用标签的数据(LDA),而对于纯粹的非监督任务,则还是得用PCA进行数据降维。

参考资料

上一篇:线性判别准则与线性分类


下一篇:《学术小白的学习之路 07》自然语言处理之 LDA主题模型