问题

如何通俗易懂地讲解什么是 PCA(主成分分析)?

回答
好的,咱们今天就来聊聊一个听起来有点“高大上”,但其实背后原理很朴实的工具——PCA,也就是主成分分析。

想象一下,你是一位整理房间的高手,手里有一大堆各种各样的东西:衣服、书、玩具、工具、零食……光是把它们分门别类就够你忙活的了。更别说你还想把它们高效地放进衣柜、书架、抽屉里,并且一眼就能找到想要的东西。

PCA,就像是帮你给这些“东西”找一个更“省事儿”的收纳方法。

我们日常生活中的很多数据,其实就像你那堆杂乱的东西一样,包含了很多信息,但这些信息有时候是“冗余”的,或者说,它们之间存在着千丝万缕的联系,并没有完全独立。

比如说,你想分析一群人的身高和体重。你可能会收集很多人的身高数据和体重数据。你很容易发现,一般来说,个子高的人体重也倾向于更重,对吧? 这就说明“身高”和“体重”这两个指标之间是有很大关联的,它们并没有提供完全独立的两份信息。

PCA要做的事情,就是找出数据中最“核心”、“最有代表性”的方向,把那些“冗余”或者“不那么重要”的信息过滤掉,同时尽量保留住最关键的信息。

我们继续用“整理房间”的比喻来解释:

1. 把所有东西都摊开,看看它们有什么特点(数据降维前的准备)

你把所有东西都拿出来,放在地上。然后你会发现,有些东西很大,有些很小;有些很重,有些很轻;有些是红色的,有些是蓝色的…… 你会从不同的角度去观察它们。

在PCA里,这就相当于我们把收集到的所有数据(比如上面说的身高、体重,或者更复杂的,比如一个人在网上浏览了多少网页、下了多少次单、点击了多少次广告等等,这些都是“特征”或“维度”)都放在一起,然后去分析它们之间的关系。

2. 找到“最能代表大家”的方向(寻找主成分)

你看着地上一堆东西,会发现有些东西的“差异”特别大。比如,你有一件巨大的羽绒服,和一件小小的T恤。这两者的“体积”差异就非常明显。

PCA做的,就是找出数据中“差异最大”的方向。这个方向,就叫做“第一主成分”。你想想,如果一个数据集中,身高差异非常大,那“身高”可能就是一个非常重要的“方向”。

通俗点说: PCA就是要找到一个“新角度”,从这个角度去看数据,大家“变化”得最厉害。这个“变化”,在统计学里就是“方差”。方差越大,说明这个方向上的信息越丰富。

3. 顺着“最能代表大家”的方向,看看还有多少“值得一看”的角度(寻找后续主成分)

你找到了“体积”这个最大的差异方向。你发现,沿着这个方向,东西的体积变化得最厉害。

但是,你还会发现,可能还有一些东西,虽然在“体积”这个方向上差异没那么大了,但在“颜色”这个方向上,差异也挺大的(比如你有一件白色的羽绒服和一件黑色的T恤)。

PCA就是按照“差异大小”的顺序,依次找出“第二主成分”、“第三主成分”…… 每一个主成分,都是在前面已经找到的主成分“方向”之外,数据中“残存”的、变化最大的那个新方向。

通俗点说: 就像你把羽绒服和T恤按体积排好队了,然后你再看看剩下还有什么特点没被充分展现?也许是它们的“重量”,或者它们的“材质”。PCA就是不断地去找下一个“最能体现差异”的方向。

4. 舍弃那些“变化很小”的角度(降维)

你可能已经发现,像“鞋带颜色”或者“衣服的缝线数量”这些细节,对于区分你手里的主要物品(比如衣服、书、玩具)来说,并没有那么重要。

PCA就是把那些“差异很小”的主成分(也就是那些“变化很小”的角度)给“舍弃”掉。因为这些主成分对应的方差也很小,说明它们承载的信息量也比较少,对整体数据的“轮廓”影响不大。

通俗点说: 就像你整理房间,你不会把每一件衣服的线头数量都单独收纳起来。你只关注它有没有用、占不占地方。PCA就是帮你把那些“细枝末节”去掉,让你看到数据的“大体轮廓”。

为什么要这么做?好处是什么?

1. 简化问题,更容易理解: 想象一下,如果你的数据有100个特征,你是不是很难直接看懂?PCA可以帮你把这100个特征“压缩”成2个或者3个最重要的“综合特征”,就像你把衣服、书、玩具这三类东西,用“大件”、“中件”、“小件”这几个维度来概括一样,一下子就清晰多了。
2. 去除冗余,提高效率: 很多时候,数据里的特征是相互关联的,比如身高和体重。PCA能把这些关联性“提炼”出来,变成少数几个独立的“主成分”,这样分析起来就更有效率,也避免了因为特征之间相关性太高而导致的一些问题(在机器学习里叫“多重共线性”)。
3. 可视化: 当我们将数据降到2维或3维后,就可以轻松地在图上把数据画出来,比如散点图,这样我们就能很直观地看到数据的分布情况,甚至发现一些隐藏的模式。

举个更具体的例子:

假设你想研究一个城市里不同区域的房价。你可能会收集很多数据:

特征1: 区域的面积(平方公里)
特征2: 区域的平均人口密度
特征3: 区域的绿化覆盖率
特征4: 区域的交通便利度(比如离市中心的距离,地铁站数量等)
特征5: 区域的教育资源(比如学校数量、质量)
特征6: 区域的商业繁华程度(比如商场数量、餐馆数量)
特征7: 区域的平均收入水平
...还有很多很多!

你可能会发现,像“商业繁华程度”和“平均收入水平”可能就有很多关联,越繁华的商业区,收入水平可能越高。而“交通便利度”也可能和“商业繁华程度”有关系。

PCA就能帮你把这些数据进行分析,找到几个“主成分”。

可能第一个主成分 就代表了“综合的城市发展水平”,它可能包含了“商业繁华程度”、“交通便利度”、“平均收入水平”等等信息。
可能第二个主成分 就代表了“居住环境质量”,它可能包含了“绿化覆盖率”、“教育资源”等等信息。

这样,你就不需要再去盯着那几十个原始的特征去分析了,只需要关注这两个(或者更多,但比原始特征少了很多)最重要的“主成分”,就能对不同区域的房价有一个更清晰、更概括的认识。

总结一下:

PCA就像是你整理那些杂乱的物品时,不是一件一件地去处理,而是先找出“体积”、“颜色”、“用途”这些最主要的分类依据,然后按照这些依据把东西重新摆放。它帮助我们从大量、可能互相有关联的特征中,找出最核心、最有代表性的几个“维度”,把数据“压缩”得更简洁,同时尽量保留住最重要的信息。

希望这样解释,你能更明白PCA到底是个啥了!

网友意见

user avatar

主元分析也就是PCA,主要用于数据降维。

1 什么是降维?

比如说有如下的房价数据:

这种一维数据可以直接放在实数轴上:

不过数据还需要处理下,假设房价样本用 表示,那么均值为:

然后以均值 为原点:

以 为原点的意思是,以 为0,那么上述表格的数字就需要修改下:

这个过程称为“中心化”。“中心化”处理的原因是,这些数字后继会参与统计运算,比如求样本方差,中间就包含了 :

说明下,虽然样本方差的分母是应该为n-1,这里分母采用 是因为这样算出来的样本方差 为一致估计量,不会太影响计算结果并且可以减小运算负担。

用“中心化”的数据就可以直接算出“房价”的样本方差:

“中心化”之后可以看出数据大概可以分为两类:

现在新采集了房屋的面积,可以看出两者完全正相关,有一列其实是多余的:

求出房屋样本、面积样本的均值,分别对房屋样本、面积样本进行“中心化”后得到:

房价( )和面积( )的样本协方差是这样的(这里也是用的一致估计量):

可见“中心化”后的数据可以简化上面这个公式,这点后面还会看到具体应用。

把这个二维数据画在坐标轴上,横纵坐标分别为“房价”、“面积”,可以看出它们排列为一条直线:

如果旋转坐标系,让横坐标和这条直线重合:

旋转后的坐标系,横纵坐标不再代表“房价”、“面积”了,而是两者的混合(术语是线性组合),这里把它们称作“主元1”、“主元2”,坐标值很容易用勾股定理计算出来,比如在“主元1”的坐标值为:

很显然 在“主元2”上的坐标为0,把所有的房间换算到新的坐标系上:

因为“主元2”全都为0,完全是多余的,我们只需要“主元1”就够了,这样就又把数据降为了一维,而且没有丢失任何信息:

2 非理想情况如何降维?

上面是比较极端的情况,就是房价和面积完全正比,所以二维数据会在一条直线上。

现实中虽然正比,但总会有些出入:

把这个二维数据画在坐标轴上,横纵坐标分别为“房价”、“面积”,虽然数据看起来很接近一条直线,但是终究不在一条直线上:

那么应该怎么降维呢?分析一下,从线性代数的角度来看,二维坐标系总有各自的标准正交基(也就是两两正交、模长为1的基), :

在某坐标系有一个点, ,它表示在该坐标系下标准正交基 的线性组合:

只是在不同坐标系中, 的值会有所不同(旋转的坐标表示不同的坐标系):

因为 到原点的距离 不会因为坐标系改变而改变:

而:

所以,在某坐标系下分配给 较多,那么分配给 的就必然较少,反之亦然。最极端的情况是,在某个坐标系下,全部分配给了 ,使得 :

那么在这个坐标系中,就可以降维了,去掉 并不会丢失信息:

如果是两个点 ,情况就复杂一些:

为了降维,应该选择尽量多分配给 ,少分配给 的坐标系。

3 主元分析(PCA)

怎么做呢?假设有如下数据:

上面的数据这么解读,表示有两个点:

这两个点在初始坐标系下(也就是自然基 )下坐标值为:

图示如下:

随着坐标系的不同, 的值会不断变化:

要想尽量多分配给 ,借鉴最小二乘法(请参考如何理解最小二乘法)的思想,就是让:

要求这个问题,先看看 怎么表示,假设:

根据点积的几何意义(如何通俗地理解协方差和点积)有:

那么:

上式其实是一个二次型(可以参看如何通俗地理解二次型):

这里矩阵 就是二次型,是一个对称矩阵,可以进行如下的奇异值分解(可以参看如何通俗地理解奇异值分解):

其中, 为正交矩阵,即 。

而 是对角矩阵:

其中, 是奇异值, 。

将 代回去:

因为 是正交矩阵,所以令:

所得的 也是单位向量,即:

继续回代:

最初求最大值的问题就转化为了:

感兴趣可以用拉格朗日乘子法计算上述条件极值(参看如何通俗地理解拉格朗日乘子法以及KKT条件),结果是当 时取到极值。

因此可以推出要寻找的主元1,即:

总结下:

同样的思路可以求出:

4 协方差矩阵

上一节的数据:

我们按行来解读,得到了两个向量 :

在这个基础上推出了矩阵:

这个矩阵是求解主元1、主元2的关键。

如果我们按列来解读,可以得到两个向量 :

即:

那么刚才求出来的矩阵就可以表示为:

之前说过“中心化”后的样本方差(关于样本方差、协方差可以参看这篇文章:如何通俗地理解协方差和点积):

样本协方差为:

两相比较可以得到一个新的矩阵,也就是协方差矩阵:

都可以进行奇异值分解:

可见,协方差矩阵 的奇异值分解和 相差无几,只是奇异值缩小了 倍,但是不妨碍奇异值之间的大小关系,所以在实际问题中,往往都是直接分解协方差矩阵 。

5 实战

回到使用之前“中心化”了的数据:

这些数据按行,在自然基下画出来就是:

按列解读得到两个向量:

组成协方差矩阵:

进行奇异值分解:

根据之前的分析,主元1应该匹配最大奇异值对应的奇异向量,主元2匹配最小奇异值对应的奇异向量,即:

以这两个为主元画出来的坐标系就是这样的:

如下算出新坐标,比如对于 :

以此类推,得到新的数据表:

主元2整体来看,数值很小,丢掉损失的信息也非常少,这样就实现了非理想情况下的降维。

本文的推导用了非常多的线性代数知识,有兴趣深入学习的,可以关注我们微信公众号:“马同学高等数学”,在微信菜单栏右下角“付费课程”中购买阅读。

文章的最新版本在(可能有后继更新):如何理解主元分析(PCA)?

类似的话题

  • 回答
    好的,咱们今天就来聊聊一个听起来有点“高大上”,但其实背后原理很朴实的工具——PCA,也就是主成分分析。想象一下,你是一位整理房间的高手,手里有一大堆各种各样的东西:衣服、书、玩具、工具、零食……光是把它们分门别类就够你忙活的了。更别说你还想把它们高效地放进衣柜、书架、抽屉里,并且一眼就能找到想要的.............
  • 回答
    好的,我们来通俗易懂地讲解 Photoshop 中的“通道”概念,并且尽可能讲得详细一些。想象一下,我们平常看到的彩色照片,就像是由三原色光(红、绿、蓝)混合而成的。Photoshop 的“通道”就是把这三种颜色的信息单独抽出来,变成一个个“灰度图”。 比喻:透明的彩色玻璃糖纸最容易理解的比喻就是:.............
  • 回答
    好,咱们不聊那些文绉绉的“权力斗争”、“封建制度”啥的,咱们就说说日本那个乱哄哄、英雄辈出的战国时代,就跟咱们中国人说三国差不多,只不过时间点不同,人物名字也不一样。想象一下,那是个没有“中央政府”管事的日子,天皇虽然还是天皇,但早就成了摆设,真正说了算的是一群手握重兵的“大名”。这些大名,说白了就.............
  • 回答
    好的,我们来试着用一个通俗易懂的方式,把傅立叶分析和小波分析这两个概念及其之间的关系讲清楚。想象一下,我们要分析一段音乐。 傅立叶分析:用“固定音调”的乐器来解析音乐 傅立叶分析的核心思想:把复杂的信号分解成一系列简单的“正弦波”傅立叶分析就像是一个非常有耐心的音乐家,他拿到一首复杂的交响乐(也就是.............
  • 回答
    好的,我们来通俗易懂地讲解一下 Viterbi 算法,尽量详细一些。想象一下,你正在玩一个游戏,这个游戏叫做“猜天气”。游戏的规则是这样的:1. 两个状态: 每天的天气只有两种可能:晴天(Sunny) 和 下雨(Rainy)。2. 两个动作: 每天你可以选择做两件事情:出去玩(Go out) 或.............
  • 回答
    改变形状和位置的魔法:通俗易懂的仿射变换想象一下,你正在玩一个橡皮泥游戏,手里捏着一团柔软的橡皮泥。你可以用手指捏、搓、拉伸、挤压,甚至把它压成薄薄的一片。这些动作,在数学的世界里,很多都可以用一个叫做“仿射变换”的神奇工具来描述。核心思想:保持“直”和“平行”仿射变换最核心、最容易理解的特点是,它.............
  • 回答
    咱们聊聊Python里的“装饰器”:给你的函数加个酷炫的“外套”想象一下,你辛辛苦苦写了一个非常实用的函数,它能完成某项任务,比如计算两个数的和。好,现在你觉得这个函数挺不错的,但是你想给它增加点“附加功能”,比如每次调用这个函数之前,都先打印一条“嘿,我要开始算数啦!”的消息,或者在函数执行完毕后.............
  • 回答
    嘿,你对电竞可能不太熟悉是吧?没关系,今天我就给你讲讲,为什么 EDG 在 S11(也就是 2021 年的英雄联盟全球总决赛)夺冠,对我们这些玩游戏的人来说,以及对整个中国电竞圈来说,是多么一件了不起的事情。首先,咱们得知道 S11 是个啥。你可以把 S11 理解成英雄联盟这款游戏里的“世界杯”。每.............
  • 回答
    好的,我们来尝试用最通俗易懂的方式,一步步地拆解卷积,并且讲得详细一些。想象一下你正在做一件很有趣的事情,我们把这个过程叫做“信息融合”或者“特征提取”。卷积就是一种实现这种“信息融合”或“特征提取”的强大工具。 核心思想:滑动和相乘,然后求和卷积最核心的操作可以用一个简单的比喻来概括:就像你用一把.............
  • 回答
    好的,让我们用最通俗易懂的方式来解释遗传算法,并举一些例子,尽量讲得详细一些。什么是遗传算法?想象一下大自然中的进化过程,也就是“物竞天择,适者生存”。遗传算法就是模拟了这个过程,来解决一些非常复杂的问题。简单来说,遗传算法就是一种“模拟自然选择和遗传机制来搜索最优解”的方法。它就像我们在训练一个团.............
  • 回答
    好的,我们来用最通俗易懂的方式,并且详细地解释一下「协方差」和「相关系数」这两个概念。想象一下,我们有两个小伙伴,一个叫小明,一个叫小红。我们想知道小明和小红这两个人的成绩(假设是数学成绩)之间有没有什么联系,或者说他们俩的成绩是“一起变动”还是“各自变动”的。 第一步:理解“一起变动”的意思 – .............
  • 回答
    好的,我们来聊聊银行在评估贷款风险时会用到的一些“工具”,分别是“信用风险附加法模型”和“信用度量术模型”。别被这些专业名词吓到,其实它们背后是有很朴素的道理的。想象一下,你要借钱给一个朋友,你会怎么做?你肯定会想: 他靠谱吗?会不会借了钱就不还了?(这就是“违约”的可能性) 万一他不还,我.............
  • 回答
    话说,你有没有遇到过这样的情况:朋友急需一笔钱周转,但又拿不出什么抵押物,怎么办?这时候,他可能会找到一个愿意“帮忙”的中间人,这个人手里有钱,但他也不能白白把钱借出去,毕竟借出去的钱是有风险的。“融资性贸易”听起来好像很高大上,但其实骨子里,它就像是朋友之间一个有点“绕”但又彼此都能接受的解决方案.............
  • 回答
    想象一下,我们都活在一个有点像你家后院那么大的世界里。在这个世界里,你想从院子的一头走到另一头,可能花上几分钟。如果你骑自行车,那速度会更快,可能就几十秒。我们都知道,物体在空间中移动是有速度的,而这个速度是有限的。现在,把你的后院想象成整个宇宙。你走到另一头的时间,就变成了光从一个地方传到另一个地.............
  • 回答
    没问题,咱们来聊聊“外微分”这个概念,保证听起来就像是邻家大妈在给你讲故事,一点也不枯燥。想象一下,我们生活在一个三维世界里,对吧?我们有长度、宽度、高度。我们可以量一个东西有多长(一维),也可以算一块地有多大(二维),还能知道一个房间有多大的体积(三维)。外微分,说白了,就是一种给“形状”打微分的.............
  • 回答
    我跟你说啊,好多人都觉得i7肯定比i5强,就像你觉得越大就一定越好一样,但实际上,电脑这玩意儿,尤其是CPU,没那么简单。 i7 和 i5 之间,那不是一条简单的数字游戏,更像是一场各有千秋的比武,看谁更适合你。你想想, i7 就像是个全能型的选手,什么都会一点,而且做得都不错。 i5 呢,就像是专.............
  • 回答
    想象一下,你不是在学习一个复杂的数学概念,而是在玩一个“猜谜游戏”,这个游戏叫做“高斯过程”(Gaussian Process)。不过,这个游戏不是猜单词,而是猜“函数”。从“点”到“线”到“世界”:我们到底在猜什么?我们平时接触到的很多数据,比如某一天某一个地点的温度,或者一个人在不同时间段的体重.............
  • 回答
    这问题真是问到点子上了,很多人听到双信封悖论都觉得脑子嗡嗡的,好像怎么算都说不通。其实,它之所以让人抓狂,是因为我们直觉里总觉得“换”,所以“不换”一定没啥道理,但数学算出来又好像“换”了才对。咱这么想,就好像你面前摆着两个不透明的信封,里面装着钱。你被告知,这两个信封里的钱数,一个是另一个的两倍。.............
  • 回答
    你知道吗,咱们平时听歌的时候,经常会在歌名后面看到一个“feat.”,比如“周杰伦 feat. 蔡依林”或者“Taylor Swift feat. Ed Sheeran”。这玩意儿到底是个啥意思?其实,它很简单,就像是给歌曲加了个“特别嘉宾”。咱们把它拆开来看,“feat.”是“featuring”.............
  • 回答
    好,咱们今天就来聊聊一个听起来挺玄乎,但其实挺有意思的东西——粒子的“自旋”。你先别被“自旋”这俩字儿给吓住,它可不是说粒子真的像个小陀螺那样,在原地不停地转悠。这只是个比喻,一个帮助我们理解粒子内在性质的比喻。想象一下,你手里有一个小弹珠。这个弹珠,它本身没有什么“转”或者“不转”的概念,对吧?但.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有