【机器学习算法】4、降维算法之PCA(深入理解与实践)(一)

简介: 【机器学习算法】4、降维算法之PCA(深入理解与实践)(一)

简介


   一般情况下,向量的各个分量之间可能存在一定的相关性。直接将向量送入机器学习算法中处理效率会很低,也会影响算法的精度。为了可视化显示数据,人们需要把向量变换到低维空间后再送入算法中进行处理。


   目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据,之所以使用降维后的数据表示是因为在原始的高维数据空间中,包含冗余信息以及噪声信息,在实际应用例如图像识别中的误差,降低了精度;而通过降维处理,可以减少冗余信息造成的误差,提高模型的精度。又或者希望通过降维算法来寻找数据内部的本质结构特征。


   在很多算法中,降维算法只是数据预处理的一部分,接下来讨论的主要是对于PCA降维算法的理论分析。


PCA算法的流程



维度灾难的几何解释


   如图所示的超几何图像,数据处于D维空间中,r=1

5a259dced0d7210fd32730e323b52e9f.png

   通过上式可以看出,当空间维度D趋近于无穷大时,空间内的超球体的体积趋近于0,也就是说样本基本上都落于绿色的区域内,同理看右侧图:

ea897ecd277bd7cffe93bebeb37b925f.png

   同样可以看出,当数据维度D趋近于无穷大的时候,数据也落在绿色的区域内,也就是说深蓝色区域中基本上是空的,也就是说,当数据维度为很高的D维是,中间很多一部分是空的,导致数据维度很高,但是数据是稀疏的,也就造成了维度灾难。


PCA算法具体步骤的推导


1、数据中心化的解释

   假设数据为如下定义的形式:

f569af15c22747fdb610be4d47b94d8d.png

   样本均值(Sample Mean)和样本方差(Sample Co-variance):

61214b558c10b35bace82f53b1c45c7e.png

对于样本方差,继续进行推导可以得到:

e762e100d8249eb7dc3ab4c1b3e007b4.png

等式的右边的前半部分

4d12610fb513debd7067d424b88abaf4.png

同理,等式右边的后半部分

febe68bd34b7326818d390fe10d66e3c.png

于是可以的到样本协方差为:

4756c13f791b7ae07577dcec53ac8dd4.png

其中

c4109d2ae05319ddb7ba506dde1ee4a8.png


2、最大投影方差的解释

已知Sample Mean和Sample Co-variance分别为:

1ab07ea74317a55013f3fdb26bdad8de.png

da58560e768ac1a62b36797c358b5a9f.png

   所谓的投影方差最大化,意思就是样本在低维空间尽可能地分离,从图2可以看出来,样本在基向量u1上投影得到的结果对于分类而言更容易分出结果,而在u2上的话很容易造成数据在低维空间的重合而形成本来没有的线性关系,造成有用的信息被清除,进而影响结果。

166bbd44355c98e224795bd3d26661dc.png

   通过图3可以得到单个样本投影的方差为:

b8b8f93ef4da5ac9e15ee1c8732b799e.png

不妨设

5bd0af418b8b9bb3cc870328833a0fa2.png

   可以看出投影方差最大化其实就是一个带约束的最优化问题,假设拉格朗日函数为:

9701c9565739e5f71385ad38f6c16b6a.png

对拉格朗日函数关于u1求导可以得到如下的等式:

53f1f226169ba25988ba49f6e43f5051.png

   于是便找到了最大投影向量和特征值的对应关系,至此推导完毕。


3、最小重构距离的解释

   所谓的重构距离就是降维后的数据重新映射到原来的维度后与原始的数据点尽可能地接近,让损失地信息尽可能小。

45d5eb173b360aff4dcf6e1527d3d527.jpg

已知基向量u和中心化后地数据,于是重构向量可以得到;

c4611ddf1c5bde3a333c8cbc95b26a73.png

所以可以得到重构距离为:

3d06c667f73c185344fb5517e75be08c.png

   可以看出和最大投影方差一样依然是一个带约束的优化问题,通过构造拉格朗日函数和求得可以得到:

17d4e5736a9e4d26ecc0cd4635ed7cfc.png

于是找到对重构距离影响最小的(P-q)个维度。得证。


4、维度取舍问题的解释

   依据就是方差,方差越大的特征,特征中的数据分布的离散程度就越大,特征所包含的信息量也就越大;反之,如果特征中的数据方差比较小,数据特征中包含的数据信息了也比较小;而我们设计模型时就是要求在数据维度一定的同时特征中包含的信息越多越好,而特征值越大所包含的数据分布信息越多,所以保留特征值大的队列。

相关文章
|
5天前
|
机器学习/深度学习 人工智能 算法
探索机器学习:从理论到实践的旅程
【8月更文挑战第26天】机器学习,这个听起来既神秘又充满无限可能的领域,实际上已经深入到我们生活的方方面面。本文将通过一次虚拟的“旅行”,带领读者了解机器学习的基本概念、主要技术和应用实例,同时提供一个简单的Python代码示例,帮助初学者迈出探索这一激动人心领域的第一步。无论你是科技爱好者,还是对未来充满好奇的学生,这篇文章都将成为你理解并应用机器学习技术的启航点。
|
11天前
|
机器学习/深度学习 人工智能 供应链
掌握机器学习:从理论到实践PHP:从入门到精通的旅程
【8月更文挑战第20天】在探索人工智能的无限可能时,机器学习作为核心驱动力,引领着技术革新和产业变革。本文深入浅出地介绍了机器学习的基本概念、核心算法及其在实际中的应用,旨在为初学者提供一个清晰的学习路径和对这一激动人心领域的全面理解。通过探讨机器学习如何影响我们的生活和工作,本文不仅阐述了理论知识,还分享了实践案例,帮助读者把握机器学习的精髓,激发对未来技术发展的想象与创造。
160 65
|
3天前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
3天前
|
机器学习/深度学习 数据处理 定位技术
构建您的首个机器学习项目:从理论到实践
【8月更文挑战第28天】本文旨在为初学者提供一个简明的指南,通过介绍一个基础的机器学习项目——预测房价——来揭示机器学习的神秘面纱。我们将从数据收集开始,逐步深入到数据处理、模型选择、训练和评估等环节。通过实际操作,你将学会如何利用Python及其强大的科学计算库来实现自己的机器学习模型。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往机器学习世界的大门。
|
8天前
|
机器学习/深度学习 人工智能 算法
探索机器学习的奥秘:从理论到实践
【8月更文挑战第23天】在这篇文章中,我们将深入探讨机器学习的世界,从基础理论到实际应用。我们将了解机器学习的基本概念,探索不同类型的机器学习算法,并讨论如何将这些算法应用于实际问题。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
|
2天前
|
机器学习/深度学习 存储 算法
图解最常用的 10 个机器学习算法!
图解最常用的 10 个机器学习算法!
|
3天前
|
机器学习/深度学习 算法 数据挖掘
机器学习必知必会10大算法
机器学习必知必会10大算法
|
4天前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
|
8天前
|
机器学习/深度学习 存储 并行计算
C语言与机器学习:K-近邻算法实现
C语言与机器学习:K-近邻算法实现
21 0
|
10天前
|
机器学习/深度学习 存储 缓存
Java本地高性能缓存实践问题之阿里云机器学习团队开源社区的问题如何解决
Java本地高性能缓存实践问题之阿里云机器学习团队开源社区的问题如何解决

热门文章

最新文章

下一篇
云函数