小孩都看得懂的主成分分析

主成分分析(PCA)及其可视化——python 一、主成分分析的原理 主成分分析是利用降维的思想,在损失很少信息的前提下把多个指标转化为几个综合指标的多元统计方法。通常把转化生成的综合指标称之为主成分,其中每个主成分都是原始变量的线性组合,且各个主成分之间互不相关,这就使得主成分比原始变量具有某些更优越的性能。这样在研究复杂问题时就可以只考虑少数几个主成分而不至于损失太多信息,从而更容易抓住主要矛盾,揭示事物内部变量之间的规律性,同时使问题得到简化,提高分析效率。 主成分分析正是研究如何通过原来变量的少数几个线性组合... 阅读详情

640?wx_fmt=jpeg

全文共 2210 字,19 幅图,
预计阅读时间 12 分钟。

本文所有思路都来自 Luis Serrano 的油管视屏「Principle Component Analysis (PCA)」,纯纯的致敬!

PCA 是无监督学习中的最常见的数据降维方法,但实际问题特征很多的情况,PCA 通常会预处理来减少特征个数。

1

640?wx_fmt=png

提问:如果给我们 5 个人照相,照相机应该放在哪?

回答:放在图中打钩的地方,因为人脸面对照相机正面分布最开,最容易把所有人脸都照进来。

思考:人脸分布最开 ≈ 数据方差最大?

2

640?wx_fmt=png

试想预测房价的场景,假如我们用 5 个特征来预测房价,它们是

  1. 房间面积

  2. 房间个数

  3. 卧室个数

  4. 周边好学校个数

  5. 周边犯罪率

但仔细一看,这 5 个特征可以抽象成 2 个,前三个都在讨论「尺寸」而后两个都在讨论「环境」。那么是否可以把这 5 维特征降到 2 维特征呢?

3

5 维数据太难可视化,人还是最容易可视化 2 维数据。

640?wx_fmt=png

给定 2 维数据,如果向两条线上做投影,应该选择投影后数据分得更开的那条线。试想假如接下来做分类是不是更容易些?

将这 2 维特征实例化为房间面积和房间个数,它们通常成正比关系。假设我们找到一条向上的直线,将这 2 维特征投影到该直线上,如下图。

640?wx_fmt=png

特征房间面积和房间个数有些重复了,因此把它们降到 1 维也没有丢失太多信息,如下图。

640?wx_fmt=png

4

场景有了,直觉也有了,那么我们该看看 PCA 背后的数学原理了。其实非常简单,你只用知道均值、方差、协方差这三个基本统计概念就行了。原谅我这次必须要带点公式,但我相信现在小孩应该能懂。

均值

640?wx_fmt=png

均值不要太简单,自己看图,我不解释了行吗?

方差

640?wx_fmt=png

方差的概念稍微难些。方差是衡量数据和其均值的偏离程度。如上图上半部分,两组数据的均值都为 0 ,而第二组数据的方差 (50/3) 大于第一组数据的方差 (2/3),因此第二组数据更加分散些。 

同理,看上图下半部分,数据投影到 x 轴上的方差大于数据投影到 y 轴上的方差。

最后给出计算 N 个数据的方差极简公式 (将每个数据的值减去其均值,平方后再求平均)

    X 方差 = 加总(Xi - 均值)2 / N

    Y 方差 = 加总(Yi - 均值)2 / N

640?wx_fmt=png

接着来看两组数据,它们具有相同的方差 (投影到 x 轴和 y 轴),但是这两组数据的模式非常不同,一个趋势向下,一个趋势向上。

这样看来,光靠方差是不能准确描述不同的数据模式了,是时候该介绍协方差了。

协方差

640?wx_fmt=png

首先给出计算 N 个数据的协方差极简公式 (将数据 X 值和 Y 值相乘,再求平均)

    协方差 = 加总(Xi × Yi) / N

这样当

  • 协方差 > 0, 趋势向上,X 和 Y 正相关

  • 协方差 < 0, 趋势向下,X 和 Y 负相关

  • 协方差 ≈ 0, 无明显趋势,X 和 Y 不相关

最后把所计算的均值、方差、协方差汇总成协方差矩阵。

协方差矩阵

640?wx_fmt=png

对于 2 维数据,它的协方差矩阵是 2×2 的对称矩阵。类比一下,

  • 对于 5 维数据,它的协方差矩阵是 5×5 的对称矩阵。

  • 对于 D 维数据,它的协方差矩阵是 D×D 的对称矩阵。

根据上面数据模式,我们计算出来他的协方差矩阵为

    [ 9, 4

      4, 3 ]

我们发现,

  • 数据在 x 轴上的方差 9 大于数据在 y 轴上的方差 3,合理!

  • X 和 Y 正相关,协方差为 4,合理!

5

640?wx_fmt=png

我们知道矩阵其实就是线性转换,那么

    矩阵 × 向量 1 = 向量 2

就是把向量 1 线性转换成向量 2。

不懂?没关系,跟着上图,试着用矩阵 [9, 4; 4, 3] 来转换几个标准点

  • (0, 0) → (0, 0)

  • (1, 0) → (9, 4)

  • (0, 1) → (4, 3)

  • (-1, 0) → (-9, -4)

  • (0, -1) → (-4, -3)

那么圆形被该矩阵转换成向上的椭圆形。

6

在以上线性转换中,有两个非常重要的向量,它们方向不变,长度改变。这样的向量称为特征向量,对应向量的长度称为特征值。如下图所示。

640?wx_fmt=png

红色和青色向量是特征向量,它们方向不变。而黄色向量不是特征向量,它们方向变了。

640?wx_fmt=png

求特征向量和特征值的方法就不细说了,就是解一个方程

    矩阵 × 向量 = 常数 × 向量

你看,等式左边是用矩阵相乘将向量做了线性转化,而等式右边是用常数相乘将向量做了放缩 (没改变向量的方向哦)。

7

讲完特征向量和特征值后,我们可以介绍 PCA 的操作了,一句话,PCA 将数据投影到特征向量 (主成分) 上,而特征值代表数据投影后的方差大小。

640?wx_fmt=png

因此降维操作可是看成是选择特征值比较大的几个主成分作为特征。如上图,我们只保留了第一个主成分 (特征值 11),而去除了第二个主成分 (特征值 1)。

这样 2 维数据就变成了 1 维数据。因此第二个主成分的特征值 1 比第一个主成分特征值 11 小很多,那么将其去除不会丢失太多信息的。 从下面两图也可以看出。

640?wx_fmt=png

640?wx_fmt=png

总结

640?wx_fmt=png

回到开始的场景,来总结一下 PCA 的完整操作。

  1. 一开始我们有 5 维特征,分别是房间面积、房间个数、卧室个数、周边好学校个数和周边犯罪率。

  2. 这 5 维特征可以体现在一个 5D 图中,虽然我们无法精准的把它画出来。

  3. 计算协方差矩阵,5 维特征得到 5×5 的对称矩阵。

  4. 求出特征向量和特征值,将特征值从大到小排序,去除明显比较小 (这个需要点主观判断) 的,假设去除了后三个,保留了前两个。

  5. 这 2 维特征可以体现在一个 2D 图中,我们人类终于可以可视化它了。

  6. 当然原来「5 维特征的数据表」缩减成了「2 维特征的数据表」,希望这 2 维体现的是抽象的尺寸特征和环境特征,就像开头那张图一样。

640?wx_fmt=png

主成分分析(PCA)及其可视化——matlab X= csvread('文件路径',1,0); %读取数据文件,第一行不读取 T = readtable('文件路径');%读取文件中的所有数据 举例: data = [1,-0.2,0.3,0.8,-0.5 -0.2,1,0.6,-0.7,0.2 0.3,0.6,1,0.5,-0.3 0.8,-0.7,0.5,1,0.7 -0.5,0.2,-0.3,0.7,1] 运行结果: mapping.mean = mean(data, 1) %.. 阅读详情

相关推荐

AI数学公式

AI 数学公式AI 数学公式AI ,写人工智能论文的数学公式

小孩都看得懂的聚类

全文共1448字,45幅图,预计阅读时间8分钟。本文是「小孩都看得懂」系列的第四篇,本系列的特点是没有公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全...

weixin_38753422的博客 298

Cyclone MAX独立编程实战:从硬件接口到SAP镜像的嵌入式烧录指南

在嵌入式系统开发与量产中,固件烧录是连接软件与硬件的关键环节。其核心原理是通过特定的调试接口(如JTAG、BDM)和编程算法,将编译后的机器码写入目标处理器的非易失性存储器。这项技术的价值在于确保软件在硬件上的可靠部署,是产品功能实现和质量保证的基础,广泛应用于汽车电子、工业控制等对一致性与可靠性要求极高的领域。独立编程器(Stand-Alone Programmer)在此基础上,通过集成存储、交互界面和任务逻辑,实现了脱离PC的自动化操作,极大提升了产线效率和现场维护的便捷性。本文以Cyclone MAX

weixin_34038293的博客 467

主成分分析(PCA)原理及推导

在数据挖掘或者图像处理等领域经常会用到主成分分析,这样做的好处是使要分析的数据的维度降低了,但是数据的主要信息还能保留下来,并且,这些变换后的维两两不相关!至于为什么?那就接着往下看。在本文中,将会很详细的解答这些问题:PCA、SVD、特征值、奇异值、特征向量这些关键词是怎么联系到一起的?又是如何在一个矩阵上体现出来?它们如何决定着一个矩阵的性质?能不能用一种直观又容易理解的方式描述出来?

学无常师,负笈不远险阻 9万+

麒麟 ARMv10 SP3 安装 Oracle 19c 官方文档 或 教程

在麒麟ARMv10 SP3系统上安装Oracle 19c需要特别注意架构兼容性。

qq_43032338的博客 2941

家庭路由器从入门到精通:连接设置、优化排障全指南

路由器作为家庭网络的核心枢纽,其工作原理基于NAT(网络地址转换)和DHCP(动态主机配置协议)两大关键技术。NAT负责将公网IP转换为多个内网IP,实现多设备共享上网;DHCP则自动为接入设备分配IP地址,简化网络配置。这些技术共同构建了稳定、安全的局域网环境,其价值在于为智能家居、在线办公、高清影音和游戏娱乐等场景提供可靠的网络基础。理解路由器的物理连接、后台设置与故障排查逻辑,是优化Wi-Fi信号覆盖、提升网络性能、保障家庭网络安全的关键。本文以路由器配置与排障为核心,详细解析从WAN/LAN口区分、

weixin_33393017的博客 406

一文读懂 主成分分析 与 因子分析

通过本文,你将彻底明白主成分分析和因子分析。

风高秋月白,雨霁晚霞红 3万+

机械臂电机力矩计算

设计 6 轴机械臂时,电机力矩计算是确保机械臂负载能力、运动精度和安全性的核心环节,需围绕和两大核心展开,结合机械臂结构参数(如关节长度、质量分布)、负载需求(如末端负载重量、惯性)和运动参数(如加速度、角速度)逐步推导。

ZPC8210的博客 1857

PCA分析(主成分分析)--结果解读

补充:主成分的个数都是自己预先色设定好的,比如三种鲜花中的数据分别包含其花瓣长度、宽度、叶片长度、宽度等数十个指标,但其主成分为3个,即为其鲜花种类。贡献率:是指某个组成份方差除以所有主成分的方差之和,其具有最大贡献率的为PC1依次类推。得分图是最常用的主成分分析的图,对于一些较好的结果能够将不同的散点进行聚集并将同类型的散点看为一个整体,如上图所示一共三个整体,粉色整体与其余两个整体相距较远,因此分别与二则差异显著,而绿色和紫色整体间部分重叠即相聚较近因此样本点9的相似度较高,差异不显著。

qq_72899974的博客 5万+

【开源~磁悬浮】零代码,纯硬件闭环:从霍尔到H桥的磁悬浮稳定术

本文详细介绍了如何不依赖任何代码,仅通过模拟和数字电路的组合,实现一个完整的磁悬浮闭环控制系统。从霍尔传感器检测位置,到运放电路进行信号调理与模拟PID控制,再到H桥驱动电磁铁执行纠偏,全程使用基础电子元器件搭建。文章深入剖析了系统原理、电路设计、调试技巧与实践经验,展现了纯硬件实现自动控制的独特魅力与挑战。

perl8的博客 622

AIGC实战:用ComfyUI和Lora微调打造专属原神角色(含完整工作流)

本文详细介绍了如何利用ComfyUI和Lora微调技术打造专属原神风格角色,涵盖从环境配置、数据集准备到工作流构建和Lora训练的全过程。通过模块化节点设计和高级控制技术,创作者可实现高度个性化的AIGC艺术创作,提升二次元角色生成的效率与质量。

weixin_29185199的博客 348

小孩都看得懂的 GAN

全文共6327字,55幅图,预计阅读时间32分钟。本文是「小孩都看得懂」系列的第十八篇,本系列的特点是内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!小孩都看...

weixin_38753422的博客 1626

MATLAB - Gazebo 联合仿真 —— 使用 UR10 机械臂检测和采摘水果

本示例演示如何在 Gazebo 物理模拟器中设置 Universal Robotics UR10 机械臂和仿真环境。您需要配置一个机器人从树上摘苹果的仿真环境。本示例演示如何利用这些工具箱,使用 Universal Robotics UR10 机械手模拟机器人检测并从树上摘取苹果。Robotics System Toolbox™ - 在 Simulink® 和 Gazebo 中对机械手进行建模、规划和模拟。Navigation Toolbox™ - 生成三维环境的占用图。

机器人控制与仿真应用 4182

小孩都看得懂的假设检验

全文共2915字,10幅图,预计阅读时间8分钟。本文是「小孩都看得懂」系列的第十篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我背...

weixin_38753422的博客 599

【tessy】软件环境配置:Keil C51 Keil uVision UVSC (Default)

本文详细说明了tessy软件如何配置【Keil C51 Keil uVision UVSC (Default)】环境,具体操作步骤和注意事项

qq_37282365的博客 600

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

小孩都看得懂的 Embedding

全文共2014字,16幅图,预计阅读时间20分钟。本文是「小孩都看得懂」系列的第七篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完...

weixin_38753422的博客 1971

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

小孩都看得懂的 p-value

全文共2071字,3幅图,预计阅读时间6分钟。本文是「小孩都看得懂」系列的第九篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我背后...

weixin_38753422的博客 2349

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

小孩都看得懂的 HMM

全文共 7043字,75幅图,预计阅读时间36分钟。本文是「小孩都看得懂」系列的第十九篇,本系列的特点是内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!小孩都看...

weixin_38753422的博客 852

小孩都看得懂的基尼不纯度

全文共1343字,16幅图,预计阅读时间8分钟。本文是「小孩都看得懂」系列的第十一篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我背...

weixin_38753422的博客 3228

小孩都看得懂的贝塔分布

全文共1897字,22幅图,预计阅读时间10分钟。本文是「小孩都看得懂」系列的第十五篇,本系列的特点是内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!小孩都看...

weixin_38753422的博客 1576

小孩都看得懂的 GMM

全文共1765字,33幅图,预计阅读时间10分钟。本文是「小孩都看得懂」系列的第十五篇,本系列的特点是内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!小孩都看...

weixin_38753422的博客 224

【机器学习】小孩都看得懂的 GAN

全文共6327字,55幅图,预计阅读时间32分钟。本文是「小孩都看得懂」系列的第十八篇,本系列的特点是内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!小孩都看...

fengdu78的博客 420

小孩都看得懂的 ROC

全文共1343字,16幅图,预计阅读时间8分钟。本文是「小孩都看得懂」系列的第十二篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我背...

weixin_38753422的博客 222

小孩都看得懂的 SVD

全文共1898字,27幅图,预计阅读时间 10分钟。本文是「小孩都看得懂」系列的第十三篇,本系列的特点是极少公式,没有代码,只有图画,只有故事。内容不长,碎片时间完全可以看完,但我...

weixin_38753422的博客 188

小孩都看得懂的 SVD 2

全文共 3014字,14幅图,预计阅读时间16分钟。本文是「小孩都看得懂」系列的第十四篇,本系列的特点是内容不长,碎片时间完全可以看完,但我背后付出的心血却不少。喜欢就好!小孩都看...

weixin_38753422的博客 201
上一篇: 爬虫已经凉凉,再不学点数据分析,你真的Out了!
下一篇: 只推荐一位!推荐25W粉丝的哈工大 NLP 在读博士忆臻
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值