主成分分析(PCA)原理及过程

article/2025/9/10 21:18:37

首先,感谢一下这篇文章的作者:主成分分析原理及过程

PCA原理及过程

在机器学习中,对于数据维度过多问题,提出了一种降维算法叫做PCA算法。具体的降维:例如评估一个国家的GDP水平,需要考量到人口、收入、人均工资等等成千上万个因素。这每一个因素,我们叫做一个feature。如果feature过多,对于我们编写机器学习算法会有很大影响。而feature过多就是我们所说的维度灾难,为了解决这一问题,就提出了众多的降维算法,而今天所说的PCA只是其中一种。降维就是将原本过多的feature,映射到数量更少的feature组成的空间。当然了,映射也是随意映射就可以。需要按照一定的方法来进行数据的降维,下面就是PCA的主要过程:
在说算法流程之前需要知道协方差的概念,cov(X,Y)表示的意思就是X和Y的相关性,可以想象当cov(X,Y)为0时,就表示这两个X,Y之间不相关,对于我们的降维来说就是这两个维度要留下。
其次是样本的方差概念,方差表示的是维度的差异性大小,对于降维来说要选取差异大的,也就是方差大的。

  • 协方差矩阵
    在这里插入图片描述
    C i j = c o v ( X i , X j ) C_ij=cov(X_i,X_j) Cij=cov(Xi,Xj)
    首先求出来,上述的协方差矩阵。可以知道协方差矩阵对角线上的元素为对应维度的方差。
  • 求其特征值和与其对应的特征向量
    我们需要使除了对角线之外的元素全为0,因此需要对协方差矩阵进行对角化操作,利用线性代数的知识求出该协方差矩阵的特征值和特征向量,对角化后,对角线上全为特征值,我们可以使用对角化后的对角矩阵和对应的特征向量对原数据进行操作。
  • 选取前K个最大特征值对应的特征向量作为新的维度空间
    对角化后的对角线上的元素就是协方差矩阵的特征值,同时这些值也表示这方差,因为要选取方差最大的,所以选取特征值大的K个对应的特征向量作为新的维度空间。
  • 将原有数据映射到新的维度空间
    将原数据映射到新的维度空间,就是将原有数据与新选出的特征向量组成的矩阵相乘,得到原有数据在新的空间中每个维度上的投影分量。
    下面使用一个例子来演示一下映射过程:
    在这里插入图片描述
    如上图,在XOY坐标系中有两个向量OA和OB且他们的模长都为1
    O A = ( c o s θ , s i n θ ) a n d O B = ( c o s ( θ + α ) , s i n ( θ + α ) ) OA=(cos\theta,sin\theta) and OB=(cos(\theta+\alpha),sin(\theta+\alpha)) OA=(cosθ,sinθ)andOB=(cos(θ+α),sin(θ+α))
    现将OA,OB转换到X’OY’坐标系中,新坐标轴的单位向量为:
    O X ′ = ( c o s θ , s i n θ ) a n d O Y ′ = ( − s i n ( θ ) , c o s ( θ ) ) OX'=(cos\theta,sin\theta) and OY'=(-sin(\theta),cos(\theta)) OX=(cosθ,sinθ)andOY=(sin(θ),cos(θ))
    所以将原有的坐标与每一个新的坐标轴做内积即可得到该向量在新的坐标轴上的坐标,即:
    O A ′ = ( O A ∗ O X ′ T , O A ∗ O Y ′ T ) = ( 1 , 0 ) OA' = (OA*OX'^T,OA*OY'^T)=(1,0) OA=(OAOXT,OAOYT)=(1,0)
    O B ′ = ( O B ∗ O X ′ T , O B ∗ O Y ′ T ) OB' = (OB*OX'^T,OB*OY'^T) OB=(OBOXT,OBOYT)
    为了快速计算,通常写成矩阵的形式:
    [ O A ′ O B ′ ] = [ O A O B ] [ O X ′ T O Y ′ T ] \begin{bmatrix} OA' \\OB' \\ \end{bmatrix} =\begin{bmatrix} OA \\OB \\ \end{bmatrix}\begin{bmatrix} OX'^T & OY'^T \\ \end{bmatrix} [OAOB]=[OAOB][OXTOYT]

http://chatgpt.dhexx.cn/article/3IZ7Mrqm.shtml

相关文章

PCA主成分分析原理的三种角度的理解

主成分分析算是降维算法中的一个经典算法了。网上也有很多博客介绍了这个算法。这篇文章从三个不同的角度,对PCA方法做了详细的分析,不同的角度进行推导最后得到的也都是同一个结果,推导过程需要些数学基础,但总体是非常好理解的。…

主成分分析(PCA)原理总结

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

PCA主成分分析原理及分析实践详细介绍

自己的博客在Github上&#xff0c;访问不多。这篇文章竟然被别人发了出来&#xff0c;还是贴到CSDN上&#xff0c;更方便检索吧。 原文&#xff1a;<http://blog.genesino.com/2016/10/PCA/> This is generated by R knitr, please check https://github.com/Tong-Chen/…

PCA(主成分分析)原理详解

PCA概念 PCA(Principal Component Analysis)&#xff0c;即主成分分析方法&#xff0c;是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上&#xff0c;这k维是全新的正交特征也被称为主成分&#xff0c;是在原有n维特征的基础上重新构造出来的k维特征。PC…

python主成分分析代码_PCA主成分分析 原理讲解 python代码实现

1. 用途&#xff1a; 通俗来说&#xff1a; 考察一个人的智力情况&#xff0c;就直接看数学成绩就行(存在&#xff1a;数学、语文、英语成绩) 。就是找出一个最主要的特征&#xff0c;然后进行分析。 数据压缩 &#xff08;Data Compression&#xff09; &#xff0c;将高维数…

主成分分析法原理与MATLAB实现

1&#xff1a;主成分分析原理&#xff1a; 主成分分析法是利用降维的思想&#xff0c;把多指标转化为少数几个综合指标&#xff08;即主成分&#xff09;&#xff0c;其中每个主成分都能够反映原始变量的大部分信息&#xff0c;且所含信息互不重复。这种方法在引进多方面变量的…

主成分分析(PCA)原理及应用

在进行统计学分析中往往面临着比较难以抉择的权衡。以农学研究为例&#xff0c;在实验设计时&#xff0c;考虑到研究结论更能反应作物真实状态下的农艺性状&#xff0c;研究人员会尽可能的纳入较多的指标&#xff0c;但是&#xff0c;随着而来的是铺天盖地的数据让人难以下手&a…

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

笔记的主要内容是 PCA&#xff08;主成分分析&#xff09; 原理和基本知识&#xff0c;相关数学原理和核心概念。 什么是PCA分析&#xff1f; 主成分分析(PCA, principal component analysis)是一种数学降维方法,利用正交变换把一系列可能线性相关的变量转换为一组线性不相关的…

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

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

主成分分析原理详解

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

主成分分析原理及Python实现

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

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

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

主成分分析原理

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

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

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

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

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

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

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

win10+tensorflow1.14+cuda10安装踩坑

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

Win10 下载torch以及CUDA配置

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

Ubuntu 18.10 下安装CUDA10/CUDA10.1

GPU&#xff1a;GeForce840M 显卡驱动&#xff1a;预装&#xff0c;版本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

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