PCA(主成分分析)

news2025/1/9 14:31:08

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。数据降维是无监督学习的另外一个常见问题。

数据的向量表示及降维问题

我们知道很多机器学习算法的复杂度和数据的维数有着密切关系,甚至与维数呈指数级关联,再这种情况下,及其学习的资源消耗是不可接受的,因此我们必须对数据进行降维。降维当然意味着信息的丢失,不过鉴于实际数据本身常常存在的相关性,我们可以想办法在降维的同时将信息的损失尽量降低。

向量的表示及基变换

内积与投影

两个维数相同的向量的内积被定义为:

内积的另一种计算公式为:

A与B的内积等于A到B的投影长度(|A|cos(a))乘以B的模,如果B的模为1,即让|B|=1,那么上式就变成了:

也就是说,设向量B的模为1,则A与B的内积值等于A向B所在直线投影的矢量长度。这就是内积的一种几何解释。

基变换

要准确描述向量,首先要确定一组基,然后给出在基所在的各个直线上的投影值,就可以了。比如,以(1,0)和(0,1)为基,可以有向量(3,2);如果给出一组新的基 和(1/2,1/2)和(−1/2,1/2) ,因为我们一般都让基的模为1,所以我们要计算(3,2)在新基上的坐标,根据上面内积的几何意义,我们只要分别计算(3,2)和两个基的内积,不难得到新的坐标为 (5/2,−1/2) 。另外这里要注意的是,我们列举的例子中的基是正交的,但成为一组基的唯一要求就是线性无关,非正交的基也是可以的。不过因为正交基有较好的性质,所以一般使用的基都是正交的。

下面我们找一种简便的方式来表示基变换。还是拿上面的例子,想一下,将(3,2)变换为新基上的坐标,就是用(3,2)与第一个基做内积运算,作为第一个新的坐标分量,然后用(3,2)与第二个基做内积运算,作为第二个新的坐标分量。实际上,我们可以用矩阵相乘的形式简洁的表示这个变换:

一般的,如果我们有M个N维向量,想将其变换为由R个N维向量表示的新空间中,那么首先将R个基按行组成矩阵A,然后将向量按列组成矩阵B,那么两矩阵的乘积AB就是变换结果,其中AB的第m列为A中第m列变换后的结果。

数学表示为:

其中pi是一个行向量,表示第i个基,aj是一个列向量,表示第j个原始数据记录。

特别要注意的是,这里R可以小于N,而R决定了变换后数据的维数。也就是说,我们可以将一N维数据变换到更低维度的空间中去,变换后的维度取决于基的数量。因此这种矩阵相乘的表示也可以表示降维变换。

最后,上述分析同时给矩阵相乘找到了一种物理解释:两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。更抽象的说,一个矩阵可以表示一种线性变换。

协方差矩阵及优化目标

上面我们讨论了选择不同的基可以对同样的一组数据给出不同的表示,而且如果基的数量少于向量本身的维数,则可以达到降维的效果。那么由一个关键性的问题:如何选择基才是最优的,如果选择基才能尽量保留最多的原始信息。

一种直观的看法是:希望投影后的投影值尽可能分散。

方差

上文说到,我们希望投影后投影值尽可能分散,而这种分散程度,可以用数学上的方差来表述。次数,一个字段的方差可以看作是每个元素与字段均值的差的平方和的均值,即:

���(�)=1�∑�=1�(��−�¯)2

由于上面我们已将每个字段的均值都化为0了,因此方差表示为:

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

协方差

对于二维降维一维的问题来说,找到那个使得方差最大的方向就可以了。不过对于更高维,还有一个问题需要解决。考虑三维到二维。与之前相同,首先我们希望找到一个方向使得投影后方差最大,这样就完成了第一个方向的选择,继而我们选择第二个投影方向。

如果我们还是单纯只选择方差最大的方向,很明显,这个方向与第一个方向应该是"几乎重合在一起",显然这样的维度是没有用的。因此,应该有其他约束条件。从直观上来说,让两个字段尽可能表示更多的原始信息,我们不希望它们之间存在相关性的,因为相关性意味着两个字段不是完全独立,必然存在重复表示的信息。

数学上可以用两个字段的协方差表示其相关性,由于已经让每个字段均值为0,则:

当协方差为0时,表示两个字段完全独立。为了让协方差为0,我们选择第二个基时只能在于第一个基正交的方向上选择。因此最终选择的两个方向一定是正交的。

至此,我们得到了降维问题的优化目标:将一组N维向量降为K维(K大于0,小于N),其目标是选择K个单位正交基,使得原始数据变换到这组基上后,各字段两两间协方差为0,而字段的方差则尽可能大(在正交的约束下,去取最大的K个方差)。

协方差矩阵

我们看到,最终要达到的目的与字段内方差及字段间协方差有密切关系。因此我们希望能将两者同一表示,仔细观察发现,两者均可以表示为内积的形式,而内积由与矩阵相乘密切相关。

假设我们只有a和b两个字段,那么我们将它们按行组成矩阵X :

然后我们用X乘以X的转置,并乘上系数1/m:

这个矩阵对角线上的两个元素分别时两个字段的方差,而其他元素时a和b的协方差,两者被统一到了一个矩阵。

推到到一般情况:

设我们有m个n维数据记录,将其按列排成n乘m的矩阵X,设 �=1���� ,则C时一个对称矩阵,其对角线分别时各个字段的方差,而第i行j列和j行i列的元素相同,表示i和j两个字段的协方差。

协方差矩阵对角化

根据上述推导,我们发现要达到优化目标,等价于将协方差矩阵对角化:即除对角线外的其他元素化为0,并且在对角线上将元素按大小从大到小排列。这些优化目标都是将原始数据映射到新基上之后来说明的,我们协方差矩阵对角化也是对基变换后数据协方差矩阵的对角化,那我们需要将优化目标转换到原始数据的优化问题上,使得我们可以求解。我们进一步看下原矩阵与基变换后矩阵协方差矩阵的关系:

设原始数据矩阵X对应的协⽅差矩阵为C,⽽P是⼀组基按⾏组成的矩阵,设Y=PX,则Y为X对P做基变换后的数据。设Y的协⽅差矩阵为D,我们推导⼀下D与C的关系:

因此更加明晰,我们要找的P不是别的,而是能让原始协方差矩阵对角化的P。换句话说,优化目标变成了寻找一个矩阵P,满足PCP^(T)时一个对角矩阵,并且对角元素按从大到小依次排列,那么P的前K行就是要寻找的基,用P的前K行组成的矩阵乘以X就使得X从N维降到了K维并满足上述优化条件。

协方差矩阵C时一个对称矩阵,其对角化在这里不再赘述。

PCA算法

PCA是一种线性降维算法,总结一下PCA的算法步骤:

PCA实例

λ1=2,λ2=2/5

降维投影结果如下图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/685932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL 如何对索引进行分析和处理

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

智慧煤矿4G物联网方案,矿山矿井远程监控管理4G网关应用

随着经济发展煤矿需求不断激增,矿山矿井普遍处于偏远山区,生产管理、人员安全、生产效率是每个矿山矿井都需要考虑的问题,利用网关对现场终端设备连接组网,实现智慧煤矿远程管理。 各矿山矿井分布范围比较广泛,户外环境…

《Opencv3编程入门》学习笔记—第八章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第八章 图像轮廓与图像分割修复 一、查找并绘制轮廓 一个轮廓一般对应一系列的点,也就是图像中的一条曲线,其表示方法可能根据不同的情况而有所不…

FFmpeg 播放器实现音视频同步的几种方式

我们基于 FFmpeg 利用 OpenGL ES 和 OpenSL ES 分别实现了对解码后视频和音频的渲染,本文将实现播放器的最后一个重要功能:音视频同步。 老人们经常说,播放器对音频和视频的播放没有绝对的静态的同步,只有相对的动态的同步&#…

深度学习管理工具

1. mlflow https://zhuanlan.zhihu.com/p/363673389 官方文档: https://www.mlflow.org/docs/latest/index.html https://zhuanlan.zhihu.com/p/67173051 在跟踪实验时,通过运行 mlflow ui 后在 http:// localhost:5000 中进行…

ranger,hive,hdfs的三者的权限管理

ranger,hive,hdfs的三者的权限管理 情况一:连接datagrip 用户在hdfs上的权限 可以看出只给了用户write权限,尝试登录xwq用户,在datagrip上登录成功 经过实验验证:要想使用datagrip或者hive-cli登录hive…

C++11【一】

文章目录 一、C11简介二、右值引用三、可变参数模板四、 empacle_back(移动构造/赋值)五、简单特性 一、C11简介 C11是C编程语言的一个版本,于2011年发布。C11引入了很多新特性,比如:类型推导(auto关键字)、Lambda表达式、线程库、列表初始化…

电源浪涌保护器加装后备保护器的作用

随着现代化技术的发展,信息化系统集成度越来越高。设备敏感度高,抗冲击能力低,极易受到电涌脉冲的危害。电涌保护器(SPD)作为专业的防电涌产品,应用越来越广,SPD的应用涉及很多的专业知识&#…

孩子创新思维秘籍

头脑风暴最重要的原则之一就七个字, 要数量,不要质量。 意思就是说,你尽可能的去胡思乱想,胡说八道,天马行空就对了。 我们从这一大堆古灵精怪的玩意儿里面去筛选那些真正有价值的东西,可以拓展的方案。 然…

【技术选型】Redis的几种集群方案、及优缺点对比

文章目录 背景一、主从模式二、哨兵模式三、Redis Cluster四、各大厂的Redis集群方案客户端分片代理分片Codis 五、Redis集群方案解决方案六、Redis集群方案原理总结 背景 在服务开发中,单机都会存在单点故障的问题,及服务部署在一台服务器上&#xff0…

GCP学习笔记(二)——大数据和机器学习

文章目录 一、数据读取和处理1.Pub/Sub代码实践PublishingSubscribing 2. Dataflow使用Python搭建Pipeline 3. Dataproc4. Cloud Data Fusion5. 其他工具Cloud Composer (Apache Airflow)Cloud Scheduler 二、可视化与分析1. Looker2. Looker Studio3. B…

【数据结构与算法C++实现】2、二分查找与简单递归

原视频为左程云的B站教学 文章目录 1 二分法1.1 在有序数组中查找特定元素1.2 在一个有序数组中查找>某个数的最左侧的位置1.3 在一个有序数组中查找<某个数最右侧位置1.4 局部最小值问题&#xff08;无序数组使用二分法的案例&#xff09; 2 简单的递归思想 1 二分法 …

在AI热潮中,过早的卖掉Datadog股票是个非常错误的决定

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 Datadog股价 Datadog&#xff08;DDOG&#xff09;目前的股价比其历史高点低了50%左右&#xff0c;比近期低点高了50%左右。 猛兽财经上次关注Datadog是在4月份&#xff0c;当时由于该股的增长前景已经恶化&#xff0c;所以…

windows电脑hbuilderx打包iOS app及上架app store教程

ios应用&#xff0c;无法像安卓应用一样&#xff0c;上传到自己的服务器让互联网用户下载进行安装&#xff0c;所以需要将生成的app上传到app store&#xff0c;然后用户到app store安装app。 由于官网的教程是使用mac电脑生成证书和上架的&#xff0c;但是很多使用hbuilderx打…

实践指南 | 风控引擎快速接入不同数据源的操作说明

随着互联网垂直电商、消费金融等领域的快速崛起&#xff0c;用户及互联网、金融平台受到欺诈的风险也急剧增加。网络黑灰产已形成完整的、成熟的产业链&#xff0c;每年千亿级别的投入规模&#xff0c;超过1000万的“从业者”&#xff0c;其专业度也高于大多数技术人员&#xf…

Templates 虽然工具将近被淘汰,但依然会有一些场景会被使用-eclipse 格式化注释

Templates 是一款-eclipse 格式化注释模板。虽然工具将近被淘汰&#xff0c;但依然会有一些场景会被使用&#xff0c;今天就来分享一下自己用过的一款&#xff0c;已经去掉不常用的&#xff0c;保留必要的模板内容。 设置方法如下&#xff1a; 设置Code Templates&#xff0c…

Java-定时任务

文章目录 补充&#xff1a;cron表达式基本知识方式一&#xff1a;使用sleep方法方式二&#xff1a;JDK Timer和TimerTask方式三&#xff1a;JDK ScheduledExecutorService方式四&#xff1a; Spring Task 中 的 Scheduler方法五、Quartz框架方式六&#xff1a;XXL-JOB将xxl-job…

canvas实现简易画板

效果图如下&#xff1a; 实现功能&#xff1a; 1、改变画笔粗细 2、保存签名实现下载功能 3、使用橡皮擦功能 4、清空画布 5、改变画笔颜色 实现代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta …

ChatGPT新功能曝光:可记住用户信息、上传文件和工作区

&#x1f989; AI新闻 &#x1f680; ChatGPT新功能曝光&#xff1a;可记住用户信息、上传文件和工作区 摘要&#xff1a;一张神秘截图曝光了ChatGPT新功能&#xff0c;包括可记住用户信息的"My profile"、上传和管理文件的"My files"以及可以让AI使用不…

从Wi-Fi,蓝牙,到4G,5G,到卫星网络,频谱共享已无处不在

在智能手机像牙刷一样普及的今天&#xff0c;频谱共享&#xff0c;成为了近些年通信界的一个热词儿。频谱因为通信的重要而变得越发重要&#xff0c;又因为频谱是一种稀缺资产&#xff0c;而使用需求又在日益飞速地增长&#xff0c;所以成为重中之重。智能手机、物联网、军事和…