PCA主成分分析原理与基础知识

article/2025/9/11 1:01:38

笔记的主要内容是 PCA(主成分分析) 原理和基本知识,相关数学原理和核心概念。

什么是PCA分析?

主成分分析(PCA, principal component analysis)是一种数学降维方法,利用正交变换把一系列可能线性相关的变量转换为一组线性不相关的新变量也称为主成分PC,用新变量在更小的维度下展示数据的特征。下图展示了经过标准化之后数据的展示差异:

有几个问题值得思考,如果数据很复杂而且具有很多个变量,应该如何选择合适的主成分?PCA分析的优势有哪些?PCA的应用场景?

选择主成分

PCA的核心是选择新的坐标系(主成分),坐标轴垂直(也就是正交,线性无关),方差足够大(为了使数据在坐标轴的投射点尽可能的广,显示出更多数据特征)

假设有很多个不同的数据,它们在坐标系散乱分布,先确定它们中最中心的点,经过该点的一条直线和所有点平方距离最小时,即可确定主成分PC1,如下图所示过程,紫线位置。

由于第二主成分PC2与PC1正交(即垂直),所以根据这两条线为坐标轴,把所有的点分别投影到新的坐标轴,这样就完成了从二维到一维的转换。

投影的方式比较多,目的是尽可能的保留数据的特征,使第一主成分具有最大的方差(var)同时利用正交非线性相关性完成去冗余。

PCA分析优势

  • 简化数据

数据量非常大时,比如有800份小麦重测序数据,几万个不同的基因表达量有差异,导致分析过程变的很麻烦,通过PCA分析可以确定其中最主要的变化因子,简化运算过程。

  • 去除误差数值

PCA分析对数据降维处理时,过滤掉由于误差引起的变化,增大数据的可信度。

  • 数据可视化

在展示多个基因表达数据时,利用PCA选择表达差异最显著的两个基因作为主成分,然后得出各个基因表达量的关系。

PCA分析应用场景

科研中经常会应用PCA分析方法,在阅读一些文献时,笔者发现PCA图频繁出现在paper中,比如研究肠道微生物的菌群构成、某种细胞的基因表达情况等。

这些场景下都具有很多变量,PCA分析通几个主成分来揭示多个变量之间的关系,且主成分间互不相关。将高维数据降低至二维或三维,同时保持各方差贡献最大的特征,降低数据复杂度。

PCA的数学原理

假如有一份原始数据包含多个变量,先将每个变量的方差和协方差计算出来,得到数据的协方差矩阵

  • 方差
    var,单个变量的变异度。表示数据的离散程度
  • 协方差
    cov,两个变量的相关度,若为0表示没有相关性,如果为正,表示一组数据增加时另一组数据也随之增加

为了统一衡量的尺度,需要对协方差矩阵进行标准化处理(scale),通俗的说就是让数据的平均值为0并且方差为1,这样所有数据的评价标准和尺度都一样。

原始变量的协方差矩阵包含以下两部分信息:

  • 原始变量自身的方差(协方差矩阵的主对角线位置)
  • 原始变量之间的相关程度(非主对角线位置)

PCA分析就是产生一组新的变量,使得新变量的协方差矩阵为对角阵。

特征值法分解协方差矩阵

参考资料:

https://blog.csdn.net/weixin_60737527/article/details/125144416
https://blog.csdn.net/Monica_428/article/details/117667137
https://zhuanlan.zhihu.com/p/37777074
https://www.aisoutu.com/a/1510739
https://blog.csdn.net/weixin_39747087/article/details/112455438
http://www.ehbio.com/Bioinfo_R_course/Rplots.html#pcaintroduc
https://blog.csdn.net/weixin_39837727/article/details/110160387
http://blog.genesino.com/2016/10/PCA/

˙

本文由mdnice多平台发布


http://chatgpt.dhexx.cn/article/trugE4XR.shtml

相关文章

【机器学习】五、主成分分析原理

主成分分析(Principal Component Analysis),简称PCA,是机器学习中一种常用来进行数据降维操作的方法。PCA通过矩阵变换,将高维数据变换到低维。本文主要分享PCA的数学原理,帮助大家了解PCA降维的理论基础。码字不易,喜…

主成分分析原理详解

本博客前三节参考https://blog.csdn.net/program_developer/article/details/80632779 至于协方差矩阵的公式推导参考 http://blog.codinglabs.org/articles/pca-tutorial.html 1、背景 在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测&#xff0…

主成分分析原理及Python实现

主成分分析(Principal Components Analysis, PCA)是一种常用的数据分析手段,是图像处理过程中常用到的降维方法。对于一组不同维度之间可能存在线性相关关系的数据,PCA能够把这组数据通过正交变换变成各个维度之间线性无关的数据&…

主成分分析原理以及SPSS和Python实现

目录 [ 0 ] 一句话定义[ 1 ] 使用目的和使用条件[ 2 ] 基本思想和直观理解[ 3 ] 具体计算步骤[ 4 ] 求各个成分的累计贡献率[ 5 ] 主成分分析的SPSS和Python实现SPSS实现相关设置结果分析 Python实现 [ 6 ] 总结 [ 0 ] 一句话定义 主成分分析(principal component analysis,PCA…

主成分分析原理

文章目录 一、主成分操作步骤二、spss里面的设置三、一些概念的解释 一、主成分操作步骤 1、为消除量纲的影响,先对数据进行标准化处理; 2、计算相关系数:一般认为各变量之间的相关系数大于0.3较好; 3、KMO检验和Barlett&#…

PCA: Principal Components Analysis,主成分分析法原理

PCA: Principal Components Analysis,主成分分析法原理 1、引入 PCA算法是无监督学习专门用来对高维数据进行降维而设计,通过将高维数据降维后得到的低维数能加快模型的训练速度,并且低维度的特征具有更好的可视化性质。另外&…

【数据处理方法】主成分分析(PCA)原理分析

笔者最近在学习的过程需要使用一些数据分析和处理的方法,而PCA就是其中常用的一种手段。但在自学的过程中,由于笔者水平有限,对一些博客中的公式不是能很好理解(数学不好的辛酸Ծ‸Ծ),导致总是对整个方法的…

主成分分析法原理简单理解及技术实现

主成分分析法 主成分分析是利用降维的思想,在损失很少信息的前提下,把多个指标转化为几个综合指标的多元统计方法。通常把转化生成的综合指标称为主成分,其中每个主成分都是原始变量的线性组合,且各个主成分之间互不相关,使得主成分比原始变量具有某些更优越的性能…

win10+tensorflow1.14+cuda10安装踩坑

tensorflow1.14安装记录 需要python3.7,cuda10,cudnn7.6,visual studio 2017 可以用visual studio 2017 community 版本 ,win10 sdk要加上,build tools要装上 cuda10.0安装不上报错visual studio integration faile…

Win10 下载torch以及CUDA配置

下载torch以及CUDA配置 下载torch和torchvision安装torch和torchvision安装CUDA检查是否成功 下载torch和torchvision 进入该网站,下载对应的torch和torchvision版本。 https://download.pytorch.org/whl/torch_stable.html以该图为例,cu102代表CUDA10…

Ubuntu 18.10 下安装CUDA10/CUDA10.1

GPU:GeForce840M 显卡驱动:预装,版本390 笔记本 1.降级gcc 使用gcc5 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-5 g-5 sudo update-alternatives --install /usr/bin/gcc gcc /us…

查看CUDA和cuDNN的版本号 | Win10安装CUDA10和cuDNN

文章目录 🔔 Linux下查看CUDA和cuDNN的版本💙 Win10安装CUDA10和cuDNN,感谢原作者,链接如下🚀🚀 文末专栏推荐部分 🚀🚀❤️ 当生成器和判别器趋于平衡,那便是爱情 &…

【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程(转载)

目录 一、前言 二、官方安装教程及软件包 1、官方教程 2、CUDA Toolkit 10.0 Download 3、cuDNN Download 三、Win10安装CUDA10及cuDNN 1、CUDA安装 2、cuDNN配置 3、万事大吉,只欠重启 四、一些后事 问题1:安装过程中电脑自动重启。 问题2&a…

英伟达CUDA 10终于开放下载了

栗子 发自 凹非寺量子位 出品 | 公众号 QbitAI 英伟达的CUDA 10工具包,终于可以下载了。 与9字头的前辈相比,10.0是第一次为图灵GPU定制的版本。 英伟达新近发布的GeForce RTX 20系列和Quadro RTX系列显卡,以及新一代GPU Tesla T4&#xff0c…

win10+cuda10+tensorflow-gpu最新安装教程

win10cuda10tensorflow-gpu最新安装教程 背景简介安装包准备安装过程总结 背景简介 作为刚入门深度学习的小白,新购置了一台机子,准备兴高采烈的开始用GPU跑深度学习算法,百度了一通win10下安装cuda和tensorflow-gpu的教程,十分繁…

30 系列显卡是新一代架构,新驱动不支持 cuda 9 以及 cuda 10,所以必须安装 cuda 11

30 系列显卡是新一代架构,新驱动不支持 cuda 9 以及 cuda 10,所以必须安装 cuda 11 最近在训练一个深度学习模型,要求的环境是python3.7 torch1.3, 而torch1.3支持的cuda版本为9.2或10.2 但是我所用的显卡为3090, 所以网上的解决办法都试遍…

在CUDA10的环境下安装支持gpu的tensorflow版本(亲测有效)

由于英伟达官方宣称CUDA10有着巨大的性能提升,我便迫不及待的想尝试用它来训练深度学习模型,然而现在Tensorflow的最新官方GPU版本1.12并不支持在CUDA10下的模型训练,因此便翻墙到国外论坛找材料,最终找到了可以完美适配CUDA10的t…

Ubuntu18 Cuda10升级Cuda11+Cudnn8+TensorRT7.1+Opencv3

文章目录 0 前沿1 显卡驱动和CUDA安装2 TensorRT3 Opencv3 0 前沿 目前TensorRT已经升级到TensorRT7.2版本,开始需要Cuda11cudnn8支持(7.1版本也有10.2版本),这里简单记录以下安装流程及个别bug处理 1 显卡驱动和CUDA安装 下载…

【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程

目录 一、前言 二、官方安装教程及软件包 1、官方教程 2、CUDA Toolkit 10.0 Download 3、cuDNN Download 三、Win10安装CUDA10及cuDNN 1、CUDA安装 2、cuDNN配置 3、万事大吉,只欠重启 四、一些后事 问题1:安装过程中电脑自动重启。 问题2&…

cuda9升级cuda10方法记录 ubuntu1604

由于最近的tensorflow2.0和pytorch都纷纷需要cuda10的支持,即使是使用conda安装,也要跟新driver 到410以上,以前的384版本的driver也不行了。索性就一起升级了,其中遇到很多坑,记录一下,希望能帮助大家,不过…