数据压缩课前任务二:主成分分析(PCA)

【机器学习】主成分分析(PCA):数据降维的艺术 ​在数据科学和机器学习领域,处理高维数据是一项挑战。随着维度的增加,数据的复杂性和计算成本也随之上升,这便是所谓的“维度灾难”。主成分分析(Principal Component Analysis,PCA)作为一种经典的数据降维技术,通过寻找数据中的主要变化方向,将高维数据投影到低维空间,从而在保留数据主要信息的同时,简化数据结构,提升算法效率。本文将深入探讨PCA的工作原理、步骤、应用场景以及优缺点,旨在为读者提供一份全面的PCA指南。 阅读详情

何为主成分分析

主成分定义

利用正交变换对一系列可能相关的变量的观测值进行线性变换,从而投影成一系列线性不相关的值,即为主成分。

应用

在解决问题时,通过主成分分析可以在减少变量尽可能地保留主要信息,从而达到降低分析、解决问题难度的目的。

基本思想

其基本思想为将坐标轴移动到数据中央,并旋转坐标轴使数据在坐标轴上方差最大,即数据投影最为分散,从而保证更多的信息被保留下来。

P 个随机变量可以有 P 个主成分,只需按照上述思想并同时保证与之前的主成分协方差最小即可依次找出

实现 PCA 的步骤

数学基础

将数据表示为矩阵后,计算得到协方差矩阵 C。通过协方差矩阵对角化(即对角线上方差不为零,其余协方差部分为零,从而达到保留更多数据信息的目的)得到所需的 K 维基向量矩阵。然后通过矩阵乘法实现坐标变换及降维,得到变换后的数据矩阵。

实现步骤

(假设有 m 条 n 维数据)
1) 将每一条数据以列向量的形式组成 n×m 的矩阵 X
2)计算每行数据的平均值后,让每个数据减去其对应的平均值,得到新的数据矩阵 B
3)求出数据矩阵 X 的协方差矩阵 C=1mB⋅BTC= \frac {1}{m}B \cdot B^{T}C=m1​B⋅BT
4)求协方差矩阵的特征值及特征向量
5)将特征值按照从大到小的顺序排列,并取前 K 个对应的特征向量分别作为列向量组成特征向量矩阵 P
6)取  Y=P⋅X\ Y = P \cdot X Y=P⋅X 得到降维至 k 维的新数据矩阵

Matlab 代码实现举例

代码还不太对QAQ,还在想怎么改

X=[25 2;
    5 0.8;
   23 2.9;
   20 3.1;
   16 1.7;
   12 1.1;
    9 0.8;];
[a,b] = size(X);

Ave = sum(X)/a;
B = zeros(a,b);
for i = 1:b
    B(:,i) = X(:,i) - Ave(i);
end

C = (1 / a) * B * B'
value = eig(C);
value = sort(value,'descend')

d = 0;
for i = 1:a
    if value(i) ~= 0
        d = d + 1;
    end
end

P = zeros(d,d);
for i = 1:d
    P(i,i) = value(i);
end
P
数据压缩(二.1)——主成分分析(PCA)步骤 任务:主成分分析:步骤、应用及代码实现。代码可以用任何你熟悉的编程语言。 文章目录(一)PCA及其步骤1.1零均质化1.2求出协方差矩阵方差和协方差的定义方差/协方差得到协方差矩阵 (一)PCA及其步骤        “主成分分析”是对于原先提出的所有变量,将重复的变量(关系紧密的变量)删去多余,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这... 阅读详情

相关推荐

数据压缩(二.2)——主成分分析(PCA)原理

文章目录PCA的背景知识1. PCA问题的等价2. 噪音3. 冗余和协方差矩阵 PCA的步骤: 设有m条n维数据 将原始数据按列组成n行m列矩阵X。 将X的每一行(代表一个属性字段)进行零均质化,即减去这一行的均值。 求出协方差矩阵。 求出协方差矩阵的特征值及对应的特征向量。 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P。 Y=PXY=PXY=PX即为降维到k维后的数据...

CRR的博客 1014

主成分分析(PCA)学习

主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维方法,它通过线性变换将原始数据变换为一组各维度线性无关的表示,通常用于提取数据的主要特征分量。PCA 的目标是从原始数据中提取出最重要的特征,通过这些特征来简化数据的复杂性,同时保持数据集中的大部分信息。

坚持自己的梦想 3098

吴恩达机器学习(十二)主成分分析(降维、PCA)

目录 0. 前言 1. 主成分分析(PCA) 2. 主成分分析PCA的流程 3. 低维空间维度的选择 4. 主成分分析使用方式 学习完吴恩达老师机器学习课程的降维,简单的做个笔记。文中部分描述属于个人消化后的理解,仅供参考。 如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~ 0. 前言 数据的特征数量,又称作向量的维度。降维(dimensionality re...

今天你学习了吗 5214

5.16算法-数据压缩降维度-主成分分析法

稍后补上

轩宇 366

从Delphi 7到Delphi 10.4.1的代码迁移:关键挑战与实用解决方案

本文详细探讨了从Delphi 7升级到Delphi 10.4.1进行代码迁移的关键挑战与实用解决方案。核心内容包括应对Unicode字符串处理、64位数据类型变化、VCL/FMX界面框架选择、第三方组件迁移以及数据库层现代化改造(如从BDE迁移至FireDAC)。文章为开发者提供了系统的迁移前准备、核心问题攻克策略及测试落地指南,旨在帮助团队高效、平稳地完成系统现代化升级。

weixin_29250403的博客 531

Windows域账户无管理员权限也能装软件?3步搞定UAC设置(附安全提醒)

本文探讨了在Windows域环境中,如何通过配置用户账户控制(UAC)实现临时提权,让无管理员权限的域账户也能安装软件。文章详细介绍了三步走策略:临时加入本地管理员组、调整UAC行为以及至关重要的权限回收,并提供了脚本化部署方案与安全实践指南,旨在平衡企业IT管理的效率与安全。

fox11的博客 759

超好理解的PCA 特征选择

一、PCA简介 1. 相关背景 主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后,颇有体会。最近在做主成分分析和奇异值分解方面的项目,所以记录一下心得体会。

水野与小太郎的博客 2万+

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek,并借助DuckDuckGo实现联网查询

虎鲸不是鱼 1700

主成分分析实现数据描述与变量压缩(附 Python code 与源数据)

前言 在之前的文章中,我们已经详细介绍了主成分分析的原理,并用 Python 实现主成分分析。 原理+代码|Python基于主成分分析的客户信贷评级实战(附代码与源数据) ​ 在那篇文章中我们指出的主成分分析常见的三个应用场景中,其中有一个是**「数据描述」**,以描述产品情况为例,比如著名的波士顿矩阵,子公司业务发展状况,区域投资潜力等,需要将多变量压缩到少数几个主成分进行描述,压缩到两个主成分是最理想的,这样便可在一张图内表现出来。 但这类分析一般做主成分分析是不充分的,能够做到因子分析更好。但因子分.

阅读从未停止,输出从未开始 1003

抖音小程序开发 唤起收银台支付(可以选择支付宝APP支付或微信H5支付)

什么都别说,先看效果: 字节跳动也开放了小程序给商家接入,可以在旗下APP如抖音、今日头条、今日头条极速版等应用中即点即用,基于庞大的数亿用户量为其引流,帮助商家获取用户流量,销售商品,其模式和微信小程序差不多。 1、后台管理地址: https://developer.toutiao.com/ 2、开发文档地址: https://developer.toutiao.com/dev/cn/min...

悟空码字的博客 1万+

自动驾驶入门到进阶完整指南:感知、预测、规划、端到端、仿真测评与场景挖掘全解析

对小白来说,不建议一开始直接冲端到端大模型。先学数据和坐标系:否则所有结果都看不懂。再学 LiDAR 3D 检测:最容易建立空间感。再学 BEV/多相机感知:这是当前主流。再学轨迹预测:理解交互和多模态。再学规划控制:理解车为什么这样开。再学仿真和闭环评测:理解 open-loop 和 closed-loop 差异。最后学端到端/VLM/VLA:这时候你才知道它到底替代了哪些模块。贯穿始终学习场景挖掘和安全测评:这是工业界最核心的能力之一。

u013250861的博客 394

数据压缩(二)——主成分分析(步骤应用代码实现)

主成分分析是把多个变量进行数学降维组成新的彼此互不相干的代表性变量,但能代表原始变量的大部分信息。数学上采用的方法为将原来的变量做线性组合,选取方差最大的第一主成分记作F1,若F1无法代表全部的原始信息,再选取F2,以此类推。 数学模型 x=(x1,x2,...,xp)x=(x_1,x_2,...,x_p)x=(x1​,x2​,...,xp​) xj=(x1j,x2j,...,xnj),j=1,2...

weixin_45430791的博客 494

WIN10系统下VS2019编译CloudCompare2.12.4

CloudCompare2.12.4

点云侠的博客 3143

数据压缩_任务二_主成分分析PCA

作业2: 主成分分析:步骤、应用及代码实现。

weixin_41821317的博客 531

C#函数返回多个值实现实例

本文实例讲解C#函数返回多个值多种实现方法。

qq_30725967的博客 1170

网表导入virtuoso后发现pg pin忘记connect_pg_net/globalNetConnect怎么办?

数模混合项目中经常需要一些需要到virtuoso去连接的线,比如IO上的pg和一些信号线,除了在pr工作中设置skip route之外还需要做好net的赋值,告诉工具虽然我没在物理上有连接,但是实际上应该连什么net,这部分提现在网表里。在Default Net Name中也填写net name,因为这个net需要做global操作,即在顶层定义这个net,所以需要在net name后加个!打开schematic,删除指定cell pin所接net的label。

m0_61544122的博客 969

主成分分析法(PCA)

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

weixin_45142381的博客 3万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pca图解读_主成分分析pca图解读,主成分分析散点图解读

主成分分析pca图解读,主成分分析散点图解读,主成分分析(PCA)原理详解1. 相关背景在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上增加了数据采集的工作量,更重要的是在多数情况下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性,同时对分析带来不便。如果分别对每个指标进...

weixin_32867521的博客 3万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

数据压缩·课前任务二(PCA)

主成分分析的详解与应用。

qq_42949426的博客 1262

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python主成分分析(PCA)

一、PCA简介 1. 相关背景 主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后,颇有体会。最近在做主成分分析和奇异值分解方面的项目,所以记录一...

黄俊文的博客 3万+

主成分分析法(PCA)具体讲述

主成分分析法(PCA)是一种强大的降维工具,通过将数据集转换为少数几个主要的、不相关的主成分,帮助我们从数据中提取最重要的信息,减少计算复杂度。因为PCA对数据的尺度敏感,特别是当数据中包含具有不同单位或量级的特征时,标准化可以确保每个特征对PCA结果的贡献是平等的。PCA的基本目的是将数据从原始的特征空间(高维空间)转换到一个新的特征空间(低维空间),新的特征空间由原始特征的线性组合构成。PCA的本质是寻找数据中的正交基,使得数据在这些基向量上的投影具有最大方差。个特征的数据集,协方差矩阵的大小是。

m0_57407372的博客 1万+

主成分分析(PCA)

PCA是一种强大的数据降维和特征提取工具,在机器学习中具有广泛的应用。通过了解PCA的基本原理和算法步骤,我们可以更好地掌握其使用方法,并在实际任务中发挥其优势。当然,PCA也存在一些局限性,我们需要在应用中结合具体问题和数据特点进行选择和优化。

m0_75013835的博客 3667

秒懂数据降维——主成分分析PCA

主成分分析(Principal Component Analysis,简称 PCA)是一种常用的数据降维方法,旨在通过将高维数据投影到低维空间中的主要方向来捕获数据的本质结构。主成分分析可用于降低数据的维度,压缩图像、音频和视频数据,去除冗余信息等。

gjinc的博客 6040

主成分分析PCA

主成分分析(PCA)成功将原始数据从4维降至2维,同时保留了大部分数据的信息。经过PCA降维后的新变量能够有效地反映数据的差异性,有助于进行后续的数据分析和处理。通过K-Means聚类算法对PCA降维后的数据进行分类,结果表明该方法能够有效地区分不同类型的鸢尾花。在新变量的基础上,可以进一步探索其他聚类算法或分类模型对数据进行分析和预测,以验证PCA在数据处理中的效果。综合而言,PCA在数据降维方面取得了良好的效果,为后续的数据分析和建模提供了有力支持。z_%7B1j%7D。

ZP745210的博客 922

主成分分析(PCA)

1. 主成分分析原理介绍 PCA是一种无监督的降维方法,主要作用是压缩与简化 顾名思义,主成分分析(PCA)是用来分析数据的主要成分的。 打个比方,一些n维点可以用一个n维的坐标完全表示。主成分分析,可以提取出n个空间基向量来表示这些数据点。不过你可以理解成这n个空间基向量是按顺序求出的,首先根据这些n维点确定第一个空间基向量方向,使得如果只能用一个基向量来表示这些点,只使用这个基向量表示这些二维点误差最小。然后求下一个基向量,使得只使用这两个基向量表示这些n维点误差最小。依次类推,直到求出n维度

sky的博客 2万+

Python-sklearn之PCA主成分分析

文章目录写在前面一、PCA主成分分析1、主成分分析步骤2、主成分分析的主要作二、Python使用PCA主成分分析 写在前面 作为大数据开发人员,我们经常会收到一些数据分析工程师给我们的指标,我们基于这些指标进行数据提取。其中数据分析工程师最主要的一个特征提取方式就是PCA主成分分析,下面我将介绍Python的sklearn库中是如何实现PCA算法及其使用。 一、PCA主成分分析 什么是PCA主成分分析。百度百科给出如下定义: 1、主成分分析步骤 对于一个PCA主成分分析,一般分为以下几个步骤: 去除平均

m0_43405302的博客 7997
上一篇: 数据压缩课前任务一:计算机编程中的数据类型
下一篇: 数据压缩任务三:读入 RGB 文件并输出三个分量的概率分布示意图和熵
ZACH( ???)
博客等级 码龄7年 11粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值