特征降维方法——主成分分析PCA

1.1.分类

关于降维的学习主要分为五类:PCA、LDA、LLE、tSNE、ISOMAP
在这里插入图片描述

.降维的作用:(为什么会有这些作用?)

(1)降低时间的复杂度和空间复杂度
(2)节省了提取不必要特征的开销
(3)去掉数据集中夹杂的噪音
(4)较简单的模型在小数据集上有更强的鲁棒性
(5)当数据能有较少的特征更好地解释数据,适合我们可以提取知识
(6)实现数据的可视化

1.3.降维的目的

  用来进行特征选择和特征提取。 

①特征选择:选择重要的特征子集,删除其余特征;
②特征提取:由原始特征形成的较少的新特征。
在特征提取中,我们要找到k个新的维度的集合,这些维度是原来k个维度的组合,这个方法可以是监督的,也可以是非监督的,如PCA是非监督的,LDA是监督的。

标题1.4.子集选择

对于n个属性,有2n个可能的子集。穷举搜索找出属性的最佳子集可能是不现实的,特别是当n和数据类的数目增加时。通常使用压缩搜索空间的启发式算法,通常这些方法是典型的贪心算法,在搜索属性空间时,总是做看上去是最佳的选择。他们的策略是局部最优选择,期望由此导致全局最优解。在实践中,这种贪心方法是有效的,并可以逼近最优解。

1.5.降维的本质:

学习一个映射函数f:x到y。(x是原始数据点的表达,目前最多的是用向量来表示,Y是数据点映射后的低维向量表达。)f可能是:显示的、隐式的、线性的、非线性的。

1.6.主成分分析PCA(principal Component Analysis)

1.6.1.PCA的作用
1、聚类:把复杂的多维数据点,简化成少量数据点,易于分簇
2、降维:降低高维数据,简化计算,达到数据降维,压缩,降噪目的

1.6.2.PCA的目的
1、将原有的d维数据集,转换成k维的数据,k<d;
2、 新生成的k维数据尽可能多的包含原来d维的信息
【例】二维降到一维的问题,要在二维平面中选择一个方向,将所有数据都投影到这个方向所在直线上,用投影值表示原始记录
【注】数据降维,要找投影之后的数据更加分散的方式来进行数据降维
这种分散程度,在数学上用方差来表述,方差越大表明该变量的变异越大。
【所以】PCA的目的是找到一个线性变化,让数据投影的方差最大化

1.6.3.过程
在这里插入图片描述

在PCA中,数据从原来的坐标系转换到新的坐标系,由数据本身决定。**转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。**第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复该过程,重复次数为原始数据的特征维数。

1.6.4.性质
1、缓解维度灾难:PCA 算法通过舍去一部分信息之后能使得样本的采样密度增大(因为维数降低了),这是缓解维度灾难的重要手段;
2、降噪:当数据受到噪声影响时,最小特征值对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到降噪的效果;
3、过拟合:PCA 保留了主要信息,但这个主要信息只是针对训练集的,而且这个主要信息未必是重要信息。有可能舍弃了一些看似无用的信息,但是这些看似无用的信息恰好是重要信息,只是在训练集上没有很大的表现,所以 PCA 也可能加剧了过拟合;
4、特征独立:PCA 不仅将数据压缩到低维,它也使得降维之后的数据各特征相互独立;

1.6.5.数学支撑
(1)内积

在这里插入图片描述
在这里插入图片描述



,则
在这里插入图片描述

也就是说,A 与 B 的内积值等于 A 向 B 所在直线投影的标量大小。
注意投影是一个标量,所以可以为负。

(2)基
对于向量 (3, 2) 来说,如果我们想求它在 (1,0),(0,1) 这组基下的坐标的话,分别内积即可。当然,内积完了还是 (3, 2)。
所以,我们大致可以得到一个结论,我们要准确描述向量,首先要确定一组基,然后给出在基所在的各个直线上的投影值,就可以了。为了方便求坐标**,我们希望这组基向量模长为 1**。因为向量的内积运算,当模长为 1 时,内积可以直接表示投影。然后还需要这组基是线性无关的,我们一般用正交基,非正交的基也是可以的,不过正交基有较好的性质。

(3)基变换的矩阵表示
在这里插入图片描述
在这里插入图片描述

上述分析给矩阵相乘找到了一种物理解释:两个矩阵相乘的意义是将右边矩阵中的每一列向量
在这里插入图片描述

变换到左边矩阵中以每一行行向量为基所表示的空间中去。
也就是说一个矩阵可以表示一种线性变换。

(4)最大可分性
上面我们讨论了选择不同的基可以对同样一组数据给出不同的表示,如果基的数量少于向量本身的维数,则可以达到降维的效果。
但是我们还没回答一个最关键的问题:如何选择基才是最优的。或者说,如果我们有一组 N 维向量,现在要将其降到 K 维(K 小于 N),那么我们应该如何选择 K 个基才能最大程度保留原有的信息?
一种直观的看法是:希望投影后的投影值尽可能分散,因为如果重叠就会有样本消失。当然这个也可以从熵的角度进行理解,熵越大所含信息越多。

(5)方差
在这里插入图片描述

均值为0时候
在这里插入图片描述

于是上面的问题被形式化表述为:寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大。

(6)协方差
在一维空间中我们可以用方差来表示数据的分散程度。而对于高维数据,我们用协方差进行约束,协方差可以表示两个变量的相关性。
为了让两个变量尽可能表示更多的原始信息,我们希望它们之间不存在线性相关性,因为相关性意味着两个变量不是完全独立,必然存在重复表示的信息。
在这里插入图片描述

由于均值为0
在这里插入图片描述

当样本数较大时,不必在意其是 m 还是 m-1,为了方便计算,我们分母取 m。
当协方差为 0 时,表示两个变量线性不相关。为了让协方差为 0,我们选择第二个基时只能在与第一个基正交的方向上进行选择,因此最终选择的两个方向一定是正交的。
至此,我们得到了降维问题的优化目标:将一组 N 维向量降为 K 维,其目标是选择 K 个单位正交基,使得原始数据变换到这组基上后,各变量两两间协方差为 0,而变量方差则尽可能大(在正交的约束下,取最大的 K 个方差)。
PCA推导——最大方差理论
在信号处理中认为信号具有较大的方差,噪音具有较小的方差,信噪比越大越好。

(7)协方差矩阵

在这里插入图片描述

(8)矩阵对角化
根据我们的优化条件,我们需要将除对角线外的其它元素化为 0,并且在对角线上将元素按大小从上到下排列(变量方差尽可能大),这样我们就达到了优化目的。这样说可能还不是很明晰,我们进一步看下原矩阵与基变换后矩阵协方差矩阵的关系
在这里插入图片描述

由上文知道,协方差矩阵 C 是一个是对称矩阵,在线性代数中实对称矩阵有一系列非常好的性质:

A.实对称矩阵不同特征值对应的特征向量必然正交。
B.设特征向量 重数为 r,则必然存在 r 个线性无关的特征向量对应于 ,因此可以将这 r 个特征向量单位正交化。
在这里插入图片描述

P 是协方差矩阵的特征向量单位化后按行排列出的矩阵,其中每一行都是 C 的一个特征向量。如果设 P 按照中特征值的从大到小,将特征向量从上到下排列,则用 P 的前 K 行组成的矩阵乘以原始数据矩阵 X,就得到了我们需要的降维后的数据矩阵 Y。
CA遵循投影后的样本点间方差最大原则。
如何选择n才能最大程度的保留原有的信息?
一种直观的看法是:希望投影后的投影值尽可能分散,因为如果重叠就会有样本消失。当然这个也可以从熵的角度进行理解,熵越大所含信息越多。
寻找一个基,使得所有数据变换为这个基上的坐标表示后,方差值最大。

参考链接:https://www.bilibili.com/video/BV1ME411T7tV?p=3
https://blog.csdn.net/yangleo1987/article/details/52845912
https://wjrsbu.smartapps.cn/zhihu/article?id=77151308&isShared=1&hostname=baiduboxapp&_swebfr=1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主成分分析(Principal Component Analysis,PCA)是一种常用的特征提取方法。它通过线性变换将原始数据投影到一个新的坐标系中,使得投影后的数据具有最大的方差。这些新的坐标轴被称为主成分,它们是原始数据中最能区分样本之间差异的方向。 PCA的基本思想是找到一个最佳的投影方向,使得数据在该方向上的投影具有最大的方差,然后找到一个与第一个方向正交的第二个方向,使得数据在该方向上的投影具有次大的方差,依此类推。通过选择前k个主成分,就可以将原始数据降维到k维空间中。 PCA具有以下几个应用和优点: 1. 数据降维:通过PCA可以将高维数据降低到低维空间,减少特征数量,同时保留了原始数据中最重要的信息。 2. 去除冗余信息:PCA可以去除原始数据中的冗余信息,提取出最相关的特征。 3. 数据可视化:PCA可以将高维数据映射到二维或三维空间中,便于可视化观察和分析。 4. 数据预处理:PCA可以在机器学习任务前对数据进行预处理,减少噪声和冗余信息对模型的影响。 5. 特征选择:基于PCA的方差解释率,可以选择保留多少个主成分,从而选择最具代表性的特征。 需要注意的是,PCA是一种线性降维方法,对于非线性的数据分布效果可能不好。在这种情况下,可以考虑使用非线性降维方法,如核主成分分析(Kernel PCA)等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值