数据挖掘:特征提取——PCA与LDA

在数据维度很高时,我们会从中提取出一些有用的特征,降低数据处理的维度,方便计算,这个过程也被叫做降维。
一般常用的降维方法有PCA和LDA。

  • PCA:非监督降维,降维后数据的方差尽可能的大(方差大,含有的信息量就大)
  • LDA:有监督降维,降维后,组内(同一类别)方差小,组间(不同类别之间)方差大
    在这里插入图片描述

:对原始数据进行线性变换,比如上面左图的二维数据,x1轴代表年龄,x2轴代表收入,这时候要是按照对角线进行线性变换,二维虽然降到了一维,但是无法解释这个新的一维特征的具体含义。即变换后的数据不具备可解释性
因此,降维的操作比较适合在高维度下进行,若想要进行有解释性的特征选择,可以用随机森林的重要性或者Lasso回归,带L1正则化的逻辑回归等

主成分分析PCA

PCA的直观理解

PCA的一般用途

  • 聚类:把复杂的多维数据转为少量数据,易于分簇
  • 降维:降低高维数据,简化计算,达到数据降维,压缩,降噪(去掉不太重要的特征)的目的

PCA的作用

  • 将原有的d维数据集,转为k维数据,k<d
  • 新生成的k维数据尽可能多的保留原来d维数据的信息
    第一个图,投影到对角线上的话,保留的数据信息会多一些。
    在这里插入图片描述
    沿着对角线方向,投影后映射到该对角线上的值要尽可能的分散,这个分散程度就用方差来表示。
    在这里插入图片描述

PCA的数据推导

PCA的目标函数

之前的数据均值不为0,需要进行中心化,将数据均值变为0。
协方差矩阵是用来衡量数据间的相似程度,主要是线性相关,若该值较大,说明线性相关程度越大。
在这里插入图片描述
通过线性变换u1,可以把原始数据投影一个方向上,在该方向上方差最大。
因为对样本做了去中心化,所以均值为0。
在这里插入图片描述
目的是想让投影后的方差取得最大值,得到如下优化函数,使用拉格朗日条件进行转换。。
为了方便计算,可以指定线性变换的模长为1。
在这里插入图片描述
λ是协方差矩阵的特征值,想要目标函数最大,也就是让λ值最大。
协方差的λ值有λ123……,对应的线性变换的方式就有u123……,彼此是对应的关系,将λ值从大到小进行排序,u也随之排序,取其前k个乘原始的数据,就得到降维后的数据Y。
在这里插入图片描述
PCA流程
在这里插入图片描述

带核函数的PCA

对于非线性数据,可将其映射到更高维的空间,转为线性数据,这样就可以用PCA进行处理。这里用核函数进行处理。
在这里插入图片描述

带核函数的PCA推导

以下是数学推导过程,具体的讲解可看PCA讲解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
计算步骤的总结
1.选择一个核函数。
2.根据原始的数据得到正规化的K。(相当于数据向高维的映射)
3.计算特征值和特征向量
4.进行降维。
在这里插入图片描述
常用的核函数:高斯核,多项式核等。
利用核函数对数据进行映射,将左边的数据转为右边的形式,再进行降维。
在这里插入图片描述

SVD

另外还有一种降维的方法SVD,说是另外一种降维方法,但其实跟PCA相差不大,实现PCA的时候一般底层都是SVD的方法。
具体的原理可参考SVD原理,区别可参考PCA与SVD区别。这里先简单说明下PCA和SVD的区别:

  1. SVD不需要求解协方差矩阵,比PCA的计算速度要快。
  2. PCA的降维是特征的降维,使用的是SVD的右奇异矩阵。而SVD可以得到“两个方向的PCA”,一个是右奇异矩阵,用于特征(列)的降维,另一个是左奇异矩阵,用于数据(行)的降维。

线性判别分析LDA

LDA的直观理解

LDA:线性判别分析,可以做特征降维,也可以做分类方法。
在这里插入图片描述
LDA降维原理:通过投影的方法,对带标签的数据投影到更低维的空间中。投影后,同一类别的点之间比较近,不同类别的比较远。
在这里插入图片描述
连接两个数据的中心点,在连线上进行降维。
在这里插入图片描述
但是这样处理后,数据之间有交叉,效果不好。
在这里插入图片描述
为了降低数据之间的重叠,可以让不同类别数据的中心点之间的距离最大化,同一类别的方差要小一些。
在这里插入图片描述

LDA的数据推导

求出投影后各类别样本间的距离(用均值绝对值的差表示)和各样本的方差。要让D最大,V最小。
在这里插入图片描述
构建优化目标,要让J最大化。定义类内散度矩阵和类间散度矩阵。
在这里插入图片描述
将Sw和Sb带入公式。对w求导,w是线性变换(向量)。
将求导后得到的结果w回带之前的公式,将J的最大值用λ进行表示。
最后得到λ=Sw的逆Sb,让Sw的逆Sb的特征值最大,即求得λ最大。
在这里插入图片描述
LDA的降维流程
在这里插入图片描述

PCA和LDA的比较

相同点
从求解的过程看,PCA和LDA最后都是求某一个矩阵的特征值,投影矩阵即为该特征值对应的特征向量。
不同点

  1. PCA为无监督降维,LDA为有监督降维。
  2. PCA投影后的数据方差尽可能的大,因为假设其方差越大,所包含的信息就越多;LDA投影后不同类别组间方差大,相同类别组内方差小。LDA能结合标签的信息,使得投影后的维度具有判别性(分类),不同类别的数据尽可能地分开。
  3. 对于有标签的数据就使用LDA,而对于无监督的任务,则使用PCA。

参考资料

https://www.bilibili.com/video/BV1ME411T7tV?p=10

发布了28 篇原创文章 · 获赞 35 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/AvenueCyy/article/details/105249265