一文读懂主成分分析法(PCA)
主成分分析法(PCA)
- 主成分分析法(PCA)
- 主成分分析的基本思想
- 主成分的计算
- 主成分分析的原理
- 主成分分析的特点
- 主成分分析的应用
主成分分析法(PCA)
主成分分析的基本思想
- PCA是1901 年Pearson在研究回归分析时附带提出的,其数学基础是在1933 年由Hotelling奠定。
- 由于各种量测到数据通常是以矩阵的形式记录、表达和存储的,实际中的很多数据信息往往是重叠与冗余的。从线性代数的观点来看,就是这些数据矩阵中存在相关的行或列。因此需要对其进行处理和提炼,抽取出有意义、独立的变量。
- 主成分分析(Principal Component Analysis, 简称PCA)是一种常用的基于变量协方差矩阵对信息进行处理、压缩和抽提的有效方法。它把原有的多个指标转化成少数几个代表性较好的综合指标,这少数几个指标能够反映原来指标大部分的信息(85%以上),并且各个指标之间保持独立,避免出现重叠信息。主成分分析主要起着降维和简化数据结构的作用。

为什么要进行主成分分析
压缩变量个数,用较少的变量去解释原始数据中的大部分变量,剔除冗余信息。即将许多相关性很高的变量转化成个数较少、能解释大部分原始数据方差且彼此互相独立的几个新变量,也就是所谓的主成分。
消除原始变量间存在的共线性,克服由此造成的运算不稳定、矩阵病态等问题。
主成分分析试图在力保数据信息丢失最少的原则下,对这种多变量的截面数据表进行最佳综合简化,也就是说,对高维变量空间进行降维处理
很显然,系统在一个低维空间要比在一个高维空间容易得多。
维数对分类的影响

在实际应用中,当特征个数增加到某一个临界点后,继续增加反而会导致分类器的性能变差。
数据降维

主成分的计算
考虑这样一个问题,有n个d维的样本 x 1 , x 2 , x 3 , … , x n x_1, x_2, x_3, …, x_n x1,x2,x3,…,xn,如何能够用仅仅一个d维的向量 x 0 x_0 x0来最好代表这n个样本,或者更确切的说,我们希望这个代表向量 x 0 x_0 x0与各个样本 x k ( k = 1 , 2 … . . , n ) x_k(k=1,2…..,n) xk(k=1,2…..,n)的距离的平方和越小越好。



只要把向量 x k x_k xk向通过样本均值的直线w作垂直投影就能得到最小平方误差的结果。

- 协方差矩阵能处理多维问题;
- 协方差矩阵是一个对称矩阵,而且对角线是各个维度上的方差。
- 协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。
- 样本矩阵中若每行是一个样本,则每列为一个维度,所以计算协方差时要按列计算均值。
结论:为了最大化 w T S w w^TSw wTSw,我们选取协方差矩阵S最大特征值对应的那个特征向量最为投影直线w的方向。
主成分求解步骤:




主成分分析的原理
- 根据方差(特征值)最大化原理,用一组新的、线性无关且相互正交的向量来表征原来数据矩阵的行(或列)。这组新向量(主成分)是原始数据向量的线性组合。
- 通过对原始数据的平移、尺度伸缩(减均值除方差)和坐标旋转(特征分解),得到新的坐标系(特征向量)后,用原始数据在新坐标系下的投影(点积)来替代原始变量。
主成分分析的特点
- 主成分是原变量的线性组合;
- 各个主成分之间互不相关;
- 不同的主成分轴之间相互正交。
- 主成分按照方差从大到小依次排列,第一主成分对应最大的方差(特征值);
- 每个主成分方差为协方差阵对应的特征值;
主成分分析的应用
人脸图像降维

相关文章:
一文读懂主成分分析法(PCA)
主成分分析法(PCA) 主成分分析法(PCA)主成分分析的基本思想主成分的计算主成分分析的原理主成分分析的特点主成分分析的应用 主成分分析法(PCA) 主成分分析的基本思想 PCA是1901 年Pearson在研究回归分析…...
Redis(基础篇 + 实践篇 )
01 | 基本架构:一个键值数据库包含什么? Redis 作为一个内存数据存储系统,它的架构设计非常简洁,但功能非常强大。理解其核心架构对高效使用 Redis 至关重要。 客户端与服务器架构: 客户端通过 TCP 协议连接到 Redis …...
高质量C++小白教程:2.10-预处理器简介
当你在编译项目时,你可能希望编译器完全按照你编写的方式编译每一个代码文件,当事实并非如此。 相反,在编译之前,每一个.cpp文件都会经历一个预处理的阶段,在此阶段中,称为预处理器的程序对代码文件的文本进行各种更改. 预处理器实际上不会以任何方式修改原始代码文件,预处理…...
一、二极管(模电理论篇)
导论:PN结(结电容)是构成二极管,三极管,场效应管的原理基础 1.二极管特性(单向导电性) 1.1 P型半导体与N型半导体 在单晶体硅(原子核为正四价电子,可以形成四条共价键&…...
JAVA学习笔记_JVM
文章目录 初识jvm内存结构程序计数器(寄存器) 栈问题辨析内存溢出 线程诊断本地方法栈Heap堆内存溢出内存诊断 方法区内存溢出常量池 stringTable直接内存垃圾回收 初识jvm JRE JVM 基础类库 JDK JRE 编译工具 JavaSE JDK IDE工具 JavaEE JDK 应用服务器 IDE工具 jvm是…...
SQL 中复杂 CASE WHEN 嵌套逻辑优化
目标:优化复杂的 CASE WHEN 逻辑,提升 SQL 语句的可读性与执行效率,减少多层嵌套带来的复杂性。 1. CASE WHEN 的常见问题 嵌套过深:多个条件判断嵌套,难以阅读和维护。重复逻辑:相似逻辑在多个分支中重复…...
STM32-笔记34-4G遥控灯
4G接线 一、项目需求 服务器通过4G模块远程遥控开关灯。 二、项目实现 复制项目文件夹38-wifi控制风扇项目 重命名为39-4G遥控点灯 打开项目文件 加载文件 main.c #include "sys.h" #include "delay.h" #include "led.h" #include "ua…...
被催更了,2025元旦源码继续免费送
“时间从来不会停下,它只会匆匆流逝。抓住每一刻,我们才不会辜负自己。” 联系作者免费领💖源💖码。 三联支持:点赞👍收藏⭐️留言📝欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…...
Java(day1)
注释 在Java中注释分为单行注释、多行注释还有文档注释 //我是单行注释/*我 是多行 注释 *//** 我是文档注释*/ 关键字 关键字:是被Java赋予了特定含义的英文单词 特点:关键字的字母都是c 在常用的代码编辑器中关键字都有特殊的高亮标记 在这个里…...
PDF文件提示-文档无法打印-的解决办法
背景信息 下载了几个签名的PDF文件,想要打印纸质版,结果打印时 Adobe Acrobat Reader 提示【文档无法打印】: 解决办法 网上的方案是使用老版本的PDF阅读器, 因为无法打印只是一个标识而已。 PDF文件不能打印的五种解决方案-zhihu 这些方…...
ubuntu操作系统安装SSH服务
1、更新仓库 sudo apt-get update 2、安装SSH服务 #安装SSH服务 apt-get install openssh-server#启用SSH服务 service ssh start#查看SSH服务运行状态 service ssh status 3、修改SSH配置文件 sudo vi /etc/ssh/sshd_config 4、开启ssh端口 sudo ufw allow ssh 5、重启SSH…...
Beamer-LaTeX学习(教程批注版)【1】
该文档总体由beamer-latex的教程而来,由耳东小白以自身学习路径整理。因其中要点基本按照教程的顺序和结构整理,故而不能称之为完全原创,但也不是翻译,更不是抄袭,是个人自学笔记和批注,其中添加了小白个人…...
IIS设置IP+端口号外网无法访问的解决方案
在IIS将站点设置为IP端口访问,假设端口为8080,设好后,服务器上可以访问,外网无法访问。 通常是端口8080没有加入【入站规则】的缘故,将8080端口加入【入站规则】即可,操作如下: 一、ctrlr 输入 …...
Markdown段落的空行缩进用法
Markdown段落的空行缩进用法。 前言语法详解●正文●段落●不分段换行●缩进 使用场景及实例小结其他文章快来试试吧🥰 Markdown段落,分割线的用法 👈点击这里也可查看 前言 段落由一句或多句连续的文本组成,通过一个或多个空行…...
[paddle] 非线性拟合问题的训练
利用paddlepaddle建立神经网络,模拟有限个数据的非线性拟合 本文仍然考虑 f ( x ) sin ( x ) x f(x)\frac{\sin(x)}{x} f(x)xsin(x) 函数在区间 [-10,10] 上固定数据的拟合。 import paddle import paddle.nn as nn import numpy as np import matplotlib.…...
每日一学——监控工具(Grafana)
2.2 Grafana 2.2.1 数据源配置 嘿,各位小伙伴们!既然我们已经有了Prometheus这位超级英雄来帮我们收集数据,那么接下来我们就需要一位艺术家来把这些枯燥的数据变成美丽的图画。这就是Grafana出场的时候了!Grafana是一款非常流行…...
FreshTomato 路由器固件常见配置以及踩坑记录
本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 在上一篇文章《网件 R6400 梅林固件恢复官方固件后刷入 FreshTomato》中,我将网件 R6400 刷入了 FreshTomato 固件,目前已经使用了大半个月了,稳定性比起 380.70_0-X7.9…...
ubuntu 使用samba与windows共享文件[注意权限配置]
在Ubuntu上使用Samba服务与Windows系统共享文件,需要正确配置Samba服务以及相应的权限。以下是详细的步骤: 安装Samba 首先,确保你的Ubuntu系统上安装了Samba服务。 sudo apt update sudo apt install samba配置Samba 安装完成后,…...
使用 httputils + chronicle-bytes 实现金融级 java rpc
1、认识 chronicle-bytes Chronicle-Bytes 是一个类似于 Java NIO 的 ByteBuffer 的高效字节操作库,但它提供了许多扩展功能。这个项目由 OpenHFT 开发并维护,旨在提供高性能、低延迟的数据处理解决方案。Chronicle-Bytes 设计用于高频率交易和其他对性…...
软件工程期末复习(一)
题目复习 单选题 软件产品的核心特性是什么? A. 物质性 B. 逻辑性 C. 可复制性 D. 消耗性 正确答案:B 单选题 在软件开发过程中,哪个环节最接近于传统制造业中的“生产”过程? A. 需求分析 B. 编码 C. 测试 D. 研制(…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
