Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具

pca

作者头像
pydata
发布于 2018-08-02 03:52:33
发布于 2018-08-02 03:52:33
83000
代码可运行
举报
文章被收录于专栏:pydatapydata
运行总次数:0
代码可运行

PCA简介

PCA是Principal Component Analysis(主成分分析)的缩写,此方法的目标是找到数据中最主要的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭露出隐藏在复杂数据背后的简单结构。从线性代数角度来看,PCA目标是找到一组正交基去重新描述得到的数据空间,这个维度就是主元,将原数据投影到该数据空间上,就可以达到降维的目的。

K-L变换与PCA

PCA算法的理论依据是K-L变换,通过寻找线性变换W,实现对高维数据的降维。

混乱的数据中通常包含三种成分:噪音、旋转和冗余。在区分噪音的时候,可以使用信噪比或者方差来衡量,方差大的是主要信号或者主要分量;方差较小的则认为是噪音或者次要分量;对于旋转,则对基向量进行旋转,使得信噪比或者方差较大的基向量就是主元方向;在判断各个观测变量之间是否冗余时,可以借助协方差矩阵来进行衡量和判断。

PCA的主要思想:

1.最小化冗余量,对应于协方差矩阵的非对角线元素要尽量小; 2.最大化信号,对应于要使协方差矩阵的对角线上的元素尽可能的大。对角线上的元素值越大,也就是对应于越重要的主元。该思想实现方法就是对协方差矩阵进行对角化。

PCA的模型中存在假设条件:

1.PCA的内部模型是线性的,kernel-PCA就是使用非线性的权值对PCA扩展; 2.针对的样本的概率分布模型只限于指数概率分布模型。从而扩展出ICP(独立主元分析)。 3.数据本身具有较高的信躁比。 4.假设主元向量之间是正交的。

PCA的可视化理解
PCA的求解方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MySample=fix(rand(10,3)*50)

协方差是计算不同维度间的协方差,样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dim1=MySample(:,1);
dim2=MySample(:,2);
dim3=MySample(:,3);

计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sum((dim1-mean(dim1)).*(dim2-mean(dim2)))/(size(MySample,1)-1);
sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(MySample,1)-1);
sum((dim2-mean(dim2)).*(dim3-mean(dim3)))/(size(MySample,1)-1);
协方差矩阵的对角线上就是各个维度上的方差
std(dim1)^2;
std(dim2)^2;
std(dim3)^2;

协方差矩阵也可以这样计算,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新得到的样本矩阵乘上它的转置,然后除以(N-1)。该方法可以由前面的公式推导出来。 matlab代码实现如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
X=MySample=repmat(mean(MySample),10,1);  %  中心化样本矩阵,使各维度均值为0
C=X'*X/(size(X,1)-1);

为什么在PCA中,协方差矩阵的特征向量就是主元,等价于原矩阵的奇异值分解,主元并非降维后的样本矩阵,而是投影矩阵,原矩阵可通过投影矩阵投影达到降维的目的。

观察PCA后的样本协方差矩阵和原始矩阵的协方差矩阵可以发现各个维度上的方差有所变化,但对角线之和没有变,能量重新得到了分配,这就是降噪的功劳。 将原矩阵与投影矩阵相称可得到降维后的矩阵。

svd与LSI

PCA与LDA是特征抽取的两种主要经典方法 LDA(线性评判分析) 信号表示:特征抽取后的特征要能够精确地表示样本信息,使得信息丢失很小,对应的方法是PCA 信号分类:特征抽取后的特征,要使得分类后的准确率很高,不能比原来特征进行分类的准确率低。对于线性来说,对应的方法是LDA PCA不具有鉴别特性 LDA与PCA的目标不一样,导致他们的方法也不一样。PCA得到的投影空间是协方差矩阵的特征向量,而LDA则是通过求得一个变换W,使得变换之后的新均值之差最大,方差最大,变换W就是特征的投影方向。 PCA做分类时一般使用主向量作为特征进行分类,而不是降维后的矩阵来做分类。

参考文章:

奇异值分解及其应用 百度文库 PCA与SVD Kernel PCA的推导

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年09月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《机器学习实战》(十三)—— PCA
http://blog.csdn.net/u011239443/article/details/77363466
小爷毛毛_卓寿杰
2019/02/13
5320
《机器学习实战》(十三)—— PCA
PCA 的数学原理和可视化效果
本文结构: 什么是 PCA 数学原理 可视化效果 ---- 1. 什么是 PCA PCA (principal component analysis, 主成分分析) 是机器学习中对数据进行降维的一种方法。 例如,我们有这样的交易数据,它有这几个特征:(日期, 浏览量, 访客数, 下单数, 成交数, 成交金额),从经验可知,“浏览量”和“访客数”,“下单数”和“成交数”之间会具有较强的相关关系。这种情况下,我们保留其中的两个维度就可以保证原有的信息完整。 但是当我们在做降维的时候,会丢失掉一部分信息。 例如,
杨熹
2018/04/03
9650
PCA 的数学原理和可视化效果
机器学习算法之PCA算法
在机器学习中降维是我们经常需要用到的算法,在降维的众多方法中PCA无疑是最经典的机器学习算法之一,最近准备撸一个人脸识别算法,也会频繁用到PCA,本文就带着大家一起来学习PCA算法。
BBuf
2019/12/04
1.2K0
机器学习算法之PCA算法
pca主要成分分析_通俗易懂的俗语
转载自:http://blog.codinglabs.org/articles/pca-tutorial.html
全栈程序员站长
2022/11/03
2440
pca主要成分分析_通俗易懂的俗语
机器学习降维算法汇总!
最近看了一些关于降维算法的东西,本文首先给出了七种算法的一个信息表,归纳了关于每个算法可以调节的(超)参数、算法主要目的等等,然后介绍了降维的一些基本概念,包括降维是什么、为什么要降维、降维可以解决维数灾难等,然后分析可以从什么样的角度来降维,接着整理了这些算法的具体流程。
算法进阶
2023/10/23
5840
机器学习降维算法汇总!
降维方法(一):PCA原理
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 PCA的作用 你手上有一批数据,但是特征太多,你感觉数据太稀疏了 你选了一堆特征,但是感觉某些特征之间的相关性太高了,比如用户月消费预测的时候,你选了用户身高以及用户性别这两个特征,一般男生的身高比较高,你觉得特征有点冗余 你的小霸王内存不够,内存只有4个G,装不下太大的矩阵,但是你又不想减少训练数据,N
智能算法
2018/04/02
1.5K0
降维方法(一):PCA原理
算法理论+实战之PCA降维
如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法:
lyhue1991
2020/07/20
1.2K0
算法理论+实战之PCA降维
数据挖掘实战:PCA算法
PCA 算法也叫主成分分析(principal components analysis),主要是用于数据降维的。 为什么要进行数据降维?因为实际情况中我们的训练数据会存在特征过多或者是特征累赘的问题,比如: 一个关于汽车的样本数据,一个特征是”km/h的最大速度特征“,另一个是”英里每小时“的最大速度特征,很显然这两个特征具有很强的相关性 拿到一个样本,特征非常多,样本缺很少,这样的数据用回归去你和将非常困难,很容易导致过度拟合 PCA算法就是用来解决这种问题的,其核心思想就是将 n 维特征映射到 k 维上
机器学习AI算法工程
2018/03/12
1.5K0
数据挖掘实战:PCA算法
教程 | 从特征分解到协方差矩阵:详细剖析和实现PCA算法
选自deeplearning4j 机器之心编译 参与:蒋思源 本文先简要明了地介绍了特征向量和其与矩阵的关系,然后再以其为基础解释协方差矩阵和主成分分析法的基本概念,最后我们结合协方差矩阵和主成分分析法实现数据降维。本文不仅仅是从理论上阐述各种重要概念,同时最后还一步步使用 Python 实现数据降维。 首先本文的特征向量是数学概念上的特征向量,并不是指由输入特征值所组成的向量。数学上,线性变换的特征向量是一个非简并的向量,其方向在该变换下不变。该向量在此变换下缩放的比例称为特征值。一个线性变换通常可以由其
机器之心
2018/05/09
4.7K0
教程 | 从特征分解到协方差矩阵:详细剖析和实现PCA算法
机器学习(20)——数据降维为什么要降维?PCA原理LDA比较:
前言:正所谓每一个结果的出现都是一系列的原因导致的,当构建机器学习模型时候,有时候数据特征异常复杂,这就需要经常用到数据降维技术,下面主要介绍一些降维的主要原理 为什么要降维? 在实际的机器学习项目中,特征选择/降维是必须进行的,因为在数据中存在以下几个 方面的问题: 数据的多重共线性:特征属性之间存在着相互关联关系。多重共线性会导致解的空间不稳定, 从而导致模型的泛化能力弱; 高纬空间样本具有稀疏性,导致模型比较难找到数据特征; 过多的变量会妨碍模型查找规律; 仅仅考虑单个变量对于目标属性的影响可能忽略变
DC童生
2018/04/27
19.3K0
机器学习(20)——数据降维为什么要降维?PCA原理LDA比较:
PCA系列(一):降维基础知识及PCA原理总结
  降维分为三种:特征选择、线性降维和非线性降维。本文主要介绍一些关于降维的基础知识以及线性降维的典例PCA(主成分分析法)。
Cyril-KI
2022/07/29
1.8K0
PCA系列(一):降维基础知识及PCA原理总结
PCA详解
对于数组和Series而言,维度就是shape返回的数值shape中 返回了几个数字,就是几维。
皮大大
2021/03/02
1.6K0
【算法】PCA算法
小编邀请您,先思考: 1 PCA算法的原理是什么? 2 PCA算法有什么应用? 主成分分析(PCA)是一种基于变量协方差矩阵对数据进行压缩降维、去噪的有效方法,PCA的思想是将n维特征映射到k维上(k
陆勤_数据人网
2018/03/27
1.5K0
【算法】PCA算法
转录组表达矩阵为什么需要主成分分析以及怎么做
我们阅读量破万的综述:RNA-seq这十年(3万字长文综述)给粉丝朋友们带来了很多理解上的挑战:
生信技能树
2019/08/13
8.4K0
PCA主成分分析(完结)
人有时候走着走着,放不下的东西太多,就会迷失自己。其实回归初心,换一个角度去看待问题,一切就变得豁然开朗了。
流川疯
2020/08/14
8220
机器学习十大经典算法之PCA主成分分析
主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性。
墨明棋妙27
2022/09/23
8440
机器学习中7种常用的线性降维技术总结
Principal Component Analysis (PCA) 是一种常用的降维技术,用于将高维数据集转换为低维表示,同时保留数据集的主要特征。PCA 的目标是通过找到数据中最大方差的方向(主成分),将数据投影到这些方向上,从而实现降维。
deephub
2024/02/21
8280
机器学习中7种常用的线性降维技术总结
矩阵分解: SVD-PCA
矩阵分解(Decomposition Factorization)是将矩阵拆解为若干个矩阵的相乘的过程。在数值分析中,常常被用来实现一些矩阵运算的快速算法,在机器学习领域有非常重要的作用。有的推荐系统采用SVD算法来实现整套系统中的矩阵分解过程。
用户3578099
2023/09/21
4200
《人工智能之高维数据降维算法:PCA与LDA深度剖析》
在人工智能与机器学习蓬勃发展的当下,数据处理成为关键环节。高维数据在带来丰富信息的同时,也引入了计算复杂度高、过拟合风险增大以及数据稀疏性等难题。降维算法应运而生,它能将高维数据映射到低维空间,在减少维度的同时最大程度保留关键信息。主成分分析(PCA)与线性判别分析(LDA)作为两种常用的降维算法,在人工智能领域应用广泛。本文将深入探讨它们的原理。
程序员阿伟
2025/02/26
1540
数据预处理之降维-PCA和LDA
给定训练集样例,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的接近、异类样例的投影点尽可能地远离;在对新样本分类时,将其投影点同样的投影到这条直线上,再根据投影点的位置来确定新样例的位置。
数据万花筒
2020/12/30
2K0
数据预处理之降维-PCA和LDA
相关推荐
《机器学习实战》(十三)—— PCA
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文