这应该是最全的PCA原理总结了(上)

简介: 主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。

主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。

1、PCA的思想

PCA顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据(x(1),x(2),...,x(m))。我们希望将这m个数据的维度从n维降到n'维,希望这m个n'维的数据集尽可能的代表原始数据集。我们知道数据从n维降到n'维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这n'维的数据尽可能表示原来的数据呢?

我们先看看最简单的情况,也就是n=2, n'=1,也就是将数据从二维降维到一维。数据如下图。我们希望找到某一个维度方向,它可以代表这两个维度的数据。图中列了两个向量方向,u1和u2,那么哪个向量可以更好的代表原始数据集呢?从直观上也可以看出,u1比u2好。

image.png

为什么u1比u2好呢?可以有两种解释,第一种解释是样本点到这个直线的距离足够近,第二种解释是样本点在这个直线上的投影能尽可能的分开。

假如我们把n'从1维推广到任意维,则我们的希望降维的标准为:样本点到这个超平面的距离足够近,或者说样本点在这个超平面上的投影能尽可能的分开。

基于上面的两种标准,我们可以得到PCA的两种等价推导。

2、PCA的推导:基于最小投影距离

我们首先看第一种解释的推导,即样本点到这个超平面的距离足够近。

image.png

现在我们考虑整个样本集,我们希望所有的样本到这个超平面的距离足够近,即最小化下式:

image.png

将这个式子进行整理,可以得到:

image.png

image.png

这样可以更清楚的看出,W为XXT的n'个特征向量组成的矩阵,而λ为XXT的若干特征值组成的矩阵,特征值在主对角线上,其余位置为0。当我们将数据集从n维降到n'维时,需要找到最大的n'个特征值对应的特征向量。这n'个特征向量组成的矩阵W即为我们需要的矩阵。对于原始数据集,我们只需要用

image.png

就可以把原始数据集降维到最小投影距离的n'维数据集。

如果你熟悉谱聚类的优化过程,就会发现和PCA的非常类似,只不过谱聚类是求前k个最小的特征值对应的特征向量,而PCA是求前k个最大的特征值对应的特征向量。

3、PCA的推导:基于最大投影方差

现在我们再来看看基于最大投影方差的推导。

image.png

观察第二节的基于最小投影距离的优化目标,可以发现完全一样,只是一个是加负号的最小化,一个是最大化。

利用拉格朗日函数可以得到

image.png

image.png

image.png

和上面一样可以看出,W为XXT的n'个特征向量组成的矩阵,而−λ为XXT的若干特征值组成的矩阵,特征值在主对角线上,其余位置为0。当我们将数据集从n维降到n'维时,需要找到最大的n'个特征值对应的特征向量。这n'个特征向量组成的矩阵W即为我们需要的矩阵。对于原始数据集,我们只需要用

image.png

就可以把原始数据集降维到最小投影距离的n'维数据集。

目录
相关文章
|
8月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1446 1
|
编解码 机器人 测试技术
2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
6月还有一周就要结束了,我们今天来总结2024年6月上半月发表的最重要的论文,重点介绍了计算机视觉领域的最新研究和进展。
796 8
|
安全 Linux 网络安全
Kibana 最常见的“启动报错”或“无法连接ES集群服务”的故障原因及解决方案汇总
Kibana 最常见的“启动报错”或“无法连接ES集群服务”的故障原因及解决方案汇总
Kibana 最常见的“启动报错”或“无法连接ES集群服务”的故障原因及解决方案汇总
|
人工智能 Serverless API
不用看就能懂,快速理解海量视频内容
想要快速理解海量视频内容?借助视频视觉理解技术,您可以轻松实现视频内容的自动化分析和信息提取。这项AI技术不仅大幅提升了工作效率,还为开发者提供了更多创意和应用的可能性。
|
运维 中间件 调度
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)
777 100
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)
|
存储 安全 Cloud Native
如何在银行核心系统中安全地搭建微服务架构?
微服务作为现代互联网应用的主流架构风格,已在很多行业应用中获得广泛的成功,而银行核心系统由于其复杂性和风险敏感性,主流架构依然在从单体式 SOA 到真正的微服务分布式架构的转型期。
741 1
|
前端开发 API
基于Jeecgboot前后端分离的聊天功能集成(一)
基于Jeecgboot前后端分离的聊天功能集成(一)
472 0
|
Linux Windows Ubuntu
grub2与grub区别
<ul style="margin: 0px; padding: 0px; border: 0px; list-style: none; color: rgb(50, 62, 50); font-family: simsun; font-size: 14px; line-height: 21px;"> <li style="margin: 0px 0px 0px 30px; padding:
6347 0
|
NoSQL Java API
Java 最常见的面试题:jedis 和 redisson 有哪些区别?
Java 最常见的面试题:jedis 和 redisson 有哪些区别?