主成分分析(PCA)扫盲帖

主成分分析PCA)原理详解 机器学习中有关特征选择的问题,其实就是要剔除类标签无关的特征,去除噪声或者冗余。在这种情况下,需要一种特征降维的方法来减少特征数,减少噪音冗余,减少过度拟合的可能性。PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。现在的问题是,对于很高维数据,你能想象其分布吗?就算能描述分布,如何精确地找到这些主成分的轴?如何衡量你提取的主成分到底占了整个数据的多少信息?所以,我们就要用到主成分分析的处 阅读详情


http://rootofsky.diandian.com/

先上定义,百度,wiki都说的很好,我就直接给链接了:

百度百科:主成分分析

wiki:PCA

下面主要讲讲它的原理和实现过程。

如果用一句话说:PCA就是属性向量的正交化(得到相互正交的新属性),并取出方差最大(对应到实际意义就是区分度最高)的几个新属性。

从几何上说,PCA就是坐标变换。

从线性代数角度说就是修正的schmit正交化。

这里有一篇扫盲贴写的很好,主要是非常形象易懂:

主成分分析(Principal components analysis)-最大方差解释

我主要是想把它的两种实现方式讲一下,会和上下链接中的有重复(因为我是看完他们写的。。。)。

1.协方差阵(特征值+特征向量)法

这一块上面的链接中讲的很详细,而且富有启发性。我把pipeline写下来:

(1).写出原始矩阵A(A的行向量表示相应样本的所有属性);

(2).对A的列作标准化(如z-score标准化);

(3).算出协方差阵COV=A'A(其中A'是A的转置);

(4).解|COV-lambda*I|=0求出COV所有特征值和对应的特征向量(实际操作中使用迭代法:http://blog.163.com/shikang999@126/blog/static/17262489620113523952981/, http://www.cnblogs.com/zhangchaoyang/articles/2643810.html

(5).按从大到小排列特征值,将特征向量相应排序组成方阵P,现在,A×P就是顺序排列的主成分了。

2.奇异值分解(SVD,奇异值奇异向量)法

先从理论上推一下它和方法一的等价性:

若A的奇异值分解式为:A=UDV,则:

COV=A'A=V'D'U'UDV=V'D'DV

在这里,D的对角线值为奇异值(但根据COV阵的特殊性——主对角占优,它们就是特征值),V的列向量是奇异向量(相应的,这种情况下它们也是特征向量)。所以A×V就是主成分。

再来说说它的好处:首先想想(U×A)‘是什么,很容易想见它就是AA'对应的主成分,也就是说SVD可以对样本进行主成分分析(更好的说法是聚类)。

最后是它的实现:

主要就是对A作QR分解,算出奇异值和向量。其他与第一种方法类似。这里有一个算法http://www.cnblogs.com/zhangchaoyang/articles/2575948.html

最后再来一篇好文章,加深理解:http://hi.baidu.com/458577xxx/item/23e66f03af75a0c92f4c6b5d

supplemental:

Q:为什么主成分方差是协方差矩阵特征值?

A:举例说明

        a1   a2   a3   a4

s1 v11 v12 v13 v14

s2 v21 v22 v23 v24

s3 v31 v32 v33 v34

s4 v41 v42 v43 v44

在这里,a表示attribute,s表示sample,v表示value。 我们要求出第一主成分就是找出一组线性组合使得:

b1=x1a1+x2a2+x3a3+x4a4=(a1,a2,a3,a4)*(x1,x2,x3,x4)'

的方差最大。其中x=(x1,x2,x3,x4)'是单位向量,x'表示x的转置,a1,a2,a3,a4表示相应的列向量。 由于a1,a2,a3,a4都被标准化为均值为0的向量,所以b1的方差为:

Var(b1)=x'A'Ax

在这里A=(a1,a2,a3,a4),容易看出Cov=A'A就是各attribute的协方差阵。如果记b1=lambda, 上式两端同左乘 x ,则:

lambdax=Covx

根据定义,lambda是Cov的特征值,x是单位特征向量。第一主成分要求lambda最大,故可知求第一主成分就是求协方差阵最大特征值和特征向量。又根据Cov的半正定对称性,其所有特征值均非负,且不同特征值对应的特征向量正交。

这样解出b1,b2,...,bm后再根据需要选取前K个便完成了主成分提取。

3 March Friday .  
数据预处理系列:多重共线性_检测解决办法 多重共线性(Collinearity)指的是预测变量,也称为自变量,彼此之间并不是完全独立的。共线性是指两个特征之间存在线性关系(高度相关),并且它们被用作目标的预测变量。通常使用皮尔逊相关系数来衡量。多于两个预测变量之间也可能存在共线性(并且通常是这种情况)。多重共线性这个术语最初是由Ragnar Frisch提出的。多重共线性是共线性的一种特殊情况,其中一个特征与两个或更多特征呈线性关系。我们也可能出现这样的情况:多于两个特征之间存在相关性,但同时它们之间没有高度相关性。 阅读详情

相关推荐

浅谈车载控制器产线EOL实现方式

1、控制器生产产线上电路检测设计 2、客户总装产线检测设计

u012406840的博客 2万+

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

上面介绍的都是假设存在一个线性的超平面,可以让我们对数据进行投影。但是有些时候,数据不是线性的,不能直接进行PCA降维。这里就需要用到支持向量机一样的核函数的思想,先把数据集从n维映射到线性可分的高维N>n,然后再从N维降维到一个低维度n', 这里的维度之间满足n'<n<N。使用了核函数的主成分分析一般称之为核主成分分析(Kernelized PCA, 以下简称KPCA。假设高维空间的数据是由n维空间的数据通过映射ϕ产生。

2301_80813724的博客 1153

机器学习| 面试题:10、PCA算法原理

PCA算法原理 主成分分析(Components Analysis,PCA)是机器学习中最经典的降维方法,也是面试中的家常便饭,因而有必要认真梳理一遍PCA的原理,甚至需要手动推导一遍。 文章目录PCA算法原理数据降维PCA概念PCA之最大可分性(最大方差)最大化方差公式推导PCA求解过程总结PCA之最近重构性(最小平方误差)最小化平方误差优化目标PCA求解过程总结PCA的优缺点总结参考资料 数据降维 在理解PCA的概念之前,我们先来认识一下什么是数据降维。降维就是用低维度的向量来表示原始高维度的特征。 例

Mrrunsen的博客 580

如何使用PCA去除数据集中的多重共线性?

多重共线性是指自变量彼此相关的一种情况。当你拟合模型并解释结果时,多重共线性可能会导致问题。数据集的变量应该是相互独立的,以避免出现多重共线性问题。 在本文中,您可以阅读为什么多重共线性是一个问题,以及如何使用主成分分析(PCA)消除数据集中的多重共线性。 为什么多重共线性是一个潜在的问题? 多重共线性高度影响与问题相关的方差,也会影响模型的解释,因为它削弱了自变量的统计显著性。 对于一个数据集,如果一些自变量彼此高度独立,就会导致多重共线性。任何一个特征的微小变化都可能在很大程度上影响模型的性能。换句话.

deephub 1万+

主成分分析

Principal components analysis 来源:http://blog.csdn.net/m0_37788308/article/details/78115209   我们在作数据分析处理时,数据往往包含多个变量,而较多的变量会带来分析问题的复杂性。主成分分析(Principal components analysis,以下简称PCA)是一种通过降维技术把多个变量化为少数几个主...

Christina 9万+

小白python入门 - 72. 聚类与降维扫盲

本文介绍了无监督学习中的聚类与降维技术。主要内容包括: K-Means聚类算法:通过三步循环(分配、更新、检查)将数据分成K个簇,并解释了肘部法轮廓系数两种选择K值的方法。 PCA降维:通过寻找方差最大的方向,将高维数据压缩到低维空间,强调必须先进行数据标准化。 应用场景:如用户分群、数据可视化、特征压缩等无标签数据的处理。 代码示例:展示了使用sklearn实现K-Means聚类、肘部法选K、轮廓系数评估以及PCA降维可视化的完整流程。 注意事项:指出无监督学习没有标准答案,需结合业务解释性评估结果,并

lennonchan的专栏 250

人工智能扫盲手册

AI Agent是具有自主感知-决策-行动能力的智能体,能通过工具调用与环境持续交互。其本质是构建。

Stephen_Ghm的博客 1329

PCA - patch check advanced

今天第一次接触pca,转篇文章扫盲下~PCA是sun solaris系统用来管理patch的一种工具。它由perl写成,所以不用编译,可以直接运行。 http://www.par.univie.ac.at/solaris/pca/IntroPatch Check Advanced (pca) generates lists of installed and missing

cocora的专栏 1617

四种经典降维方法全实验:SVD、PCA、LDA、ISOMAP 从原理到代码

本次实验以葡萄酒 13 维数据集为对象,实现并对比 SVD、PCA、LDA、ISOMAP 四种降维方法,将高维数据降至二维以完成可视化与分类效果分析。SVD 与 PCA 均为无监督线性方法,保留数据主要方差,结果相近;LDA 为有监督线性方法,最大化类间差异、最小化类内差异,类别分离效果最优;ISOMAP 是非线性流形学习方法,擅长展开弯曲数据,在本线性数据集上表现一般。实验表明,线性可分数据优先选用 LDA,通用可视化可用 PCA/SVD,弯曲流形数据适合 ISOMAP。

HRDMN的博客 411

网络扫盲(一)

*LAN(即局域网)**是最常见且应用最为广泛的一种网络,它是指在1~5公里范围内两台以上的计算机设备(如服务器、工作站)通过线缆(如同轴线缆、双绞线、光缆等)连接起来实现的资源共享的计算机网络。**MAN(即城域网)**是指在同一城市范围内所建立的计算机网络,其范围可覆盖到六十公里。**WAN(即广域网)**是指连接不同地区局域网或城域网的计算机网络,其覆盖范围广,可覆盖几千公里,能连接多个地区、城市国家,甚至横跨几个洲实现远距离通信。无线局域网。

wjj970802的博客 1976

写给新人的深度学习扫盲贴:向量与矩阵

张量是更高维度的推广:标量(0阶)、向量(1阶)、矩阵(2阶)、三维张量(3阶)等。例如,RGB图像可表示为三维张量(高度×宽度×通道数)。:矩阵用于表示线性变换、数据集(如图像像素矩阵)或多变量关系。例如,在Python中,矩阵以二维数组表示(如。:向量常用于描述空间中的点、力、速度等具有方向性的量。在计算机中,向量通常以一维数组存储(如NumPy中的。矩阵是二维数组,由行(row)列(column)构成,可视为2阶张量。的一维数组,可视为1阶张量。向量是线性代数中的基本对象,定义为具有。

懒人的技术笔记 1916

机器学习扫盲:机器学习概述

机器学习扫盲:机器学习概述 文章目录机器学习扫盲:机器学习概述1. 机器学习2. 机器学习算法:是使计算机具有智能的关键下面我们将选取几种常见的算法,一一介绍。1. 线性回归:找到一条直线来预测目标值2. 逻辑回归:找到一条直线来分类数据3. K-近邻:用距离度量最相邻的分类标签4. 朴素贝叶斯:选择后验概率最大的类为分类标签5. 决策树:构造一棵熵值下降最快的分类树6. 支持向量机(SVM):构造超平面,分类非线性数据7. K-means:计算质心,聚类无标签数据8. 关联分析:挖掘啤酒与尿布(频繁项集)

weixin_44063734的博客 618

AI概念扫盲

概述:基础、训练、微调、学习、优化、数据处理、评估与调试、伦理、其他。

lonelymanontheway的博客 892

人工智能相关概念扫盲!看这一篇就够了!

人工智能(Artificial Intelligence),英文缩写为AI。它是一门由多门学科构成的交叉学科、新兴学科,涉及概率论、统计学、计算机科学等。,该领域的研究包括以下。:人工智能已经广泛应用于各个领域,如医疗、金融、教育、交通、制造业娱乐等。在医疗中,AI可以帮助诊断疾病;在金融中,可以用于交易预测风险管理;在交通中,可以用于自动驾驶等。人工智能的发展正在快速推进,但同时也面临一些挑战,如数据质量、伦理法律问题、以及如何确保技术的可控性安全性。这些问题需要社会各界共同努力来解决。

m0_51516265的博客 2141

主成分分析pca)是怎样消除多重共线性(colinear)的?

结论:原先线性相关的n个变量,经过坐标变换生成的新的n个变量是两两正交的,而且每一个新变量都是原来n个变量的线性组合。

weixin_61593847的博客 1092

PCA 解决 多重共线性问题

PCA 解决 多重共线性问题

weixin_44360866的博客 950

PCA主成分分析)与FA(因子分析)的直白理解

主成分分析因子分析是数据挖掘中常用的方法,帮助我们对原始数据有更好的理解,同时也可以实现降维等操作,为后续工作提供便利。   但是有一些博客的介绍中,其中数学推导的部分过多,没有很好地跟实际例子结合到一起,通俗易懂地解释这两个东西。我更想更需要直白的解释。

yujianmin1990的专栏 3万+

数据分析面试【机器学习】总结之-----PCA主成成分分析 常见面试题整理

阅读之前看这里????:博主是正在学习数据分析的一员,博客记录的是在学习过程中一些总结,也希望大家一起进步,在记录之时,未免存在很多疏漏不全,如有问题,还请私聊博主指正。 博客地址:天阑之蓝的博客,学习过程中不免有困难迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。 目录1.PCA定义2.PCA具体计算步骤3.降维之后的维度怎么确定4.降维的必要性5.降维的目的:6.给你一个数据集。该数据集包含很多变量,你知道其中一些是高度相关的。经理要求你用PCA。你会先去掉相关的变量吗?为什

天阑之蓝的博客 3864

算法理解之主成分分析

主成分分析法就是通过正交变换将存在相关性的原始变量变量转换成不相关的新变量,将其中贡献度低的变量舍弃掉,贡献度可以理解为变量的方差,方差越大,贡献度越高,正交变换前后变量存在的信息量是相同的,只是把更多的信息集中起来,舍弃存在少量信息的变量,达到降维的目的。 运用主成分的前提是变量之间存在相关性 主成分分析法的实质的正交变换,正交变换实质就是矩阵的对角化,使得协方差矩阵为对角矩阵,各...

dingjie3882的博客 378

渐开线花键参数计算程序 2.21.exe

渐开线花键参数计算程序 2.21.exe

上一篇: ASM(Active Shape Model)算法介绍
下一篇: Matlab中的数据归一化
青莲太初
博客等级 码龄16年 77粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值