主成分分析(principal components analysis, PCA)——无监督学习
降维的两种方式:
(1)特征选择(feature selection),通过变量选择来缩减维数。
(2)特征提取(feature extraction),通过线性或非线性变换(投影)来生成缩减集(复合变量)。
主成分分析(PCA):降维。
将多个变量通过线性变换(线性相加)以选出较少个数重要变量。
力求信息损失最少的原则。
主成分:就是线性系数,即投影方向。
通常情况下,变量之间是有一定的相关关系的,即信息有一定的重叠。将重复的变量删除。
基本思想:将坐标轴中心移到数据的中心,然后旋转坐标轴,使得数据在C1轴上的上的方差最大,即全部n个数据个体在该方向上的投影最为分散。意味着更多的信息被保留下来。C1成为第一主成分。
C2第二主成分:找一个C2,使得C2与C1的协方差(相关系数)为0,以免与C1信息重叠,并且使数据在该方向的方差尽量最大。
以此类推,找到第三主成分,第四主成分。。。。第p个主成分。p个随机变量就有p个主成分。
通过协方差对特征值、特征向量进行分析。
特征向量(特征脸)。
- 它是一个线性变换。这个变换把数据变换到一个新的坐标系统中, 使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差 在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数, 同时保持数据集的对方差贡献最大的特征。
- 主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。
主成分分析的定义:
主成分分析的性质:
主成分分析的推导
主成份分析(PCA, Principal Component Analysis)有多种推导方法,最大化方差是一种比较直观的方法。比如给出一坨数据,如果你想给出一条坐标轴可以尽量清晰的描述这些数据,即更容易把它们分类,那么直观来看,肯定会选择与数据方差最大的那条直线,才能最大化数据的差异性。
实际的做法就是将数据的高维坐标投影到这条直线,也就是向量上去,然后最大化投影后的方差。
很明显上式的含义是是矩阵S
的特征向量,即特征向量即为投影向量。这就转换成一个矩阵特征值分解问题。我们将特征值从大到小排列,保留前M个特征向量,即实现了从原来N维空间到M维新空间的降维。
主成分数目的选取
设有p个随机变量,便有p个主成分。由于总方差不增不减,C1, C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较小, 严格 说来,只有前几个综合变量才称得上主(要)成份,后几个综合变量实为“次 ”(要) 成份。实践中总是保留前几个,忽略后几个。 保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。
主成分分析的主要作用
- 降维
- 多维数据的一种图形表示方法。我们知道当维数大于3时便不能画出几何图形,多元统计研究的问题大都多于3个变量。要把研究的问题用图形表示出 来是不可能的。然而,经过主成分分析后,我们可以选取前两个主成分或其中某两个主成分,根据主成分的得分,画出n个样品在二维平面上的分布况,由图形可直观地看出各样品在主分量中的地位,进而还可以对样本进行分类处理,可以由图形发现远离大多数样本点的离群点。
- 由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量x做回归分析。
- 用主成分分析筛选回归变量。回归变量的选择有着重要的实际意义,为了使模型本身易于做结构分析、控制和预报,好从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量来选择变量,获得选择最佳变量子集合的效果。
主成分分析的计算步骤
对 m 个主成分进行加权求和,即得最终评价值,权数为每个主成分的方差 贡献率。
主成分分析的缺点
在有些情况下,PCA算法的性能很差,如下图:
用不同的颜色标注C1,C2两个不同类别的数据。根据PCA算法,数据应该映射到方差最大的那个方向,亦即Y轴方向,但是如果映射到Y轴方向,C1,C2两个不同类别的数据将完全混合在一起,很难区分开,所以使用PCA算法进行降维后再进行分类的效果会非常差。
Reference:
浅谈对主成分分析(PCA)算法的理解
特征值分解和主成份分析
主成分分析(principal components analysis, PCA)——无监督学习的更多相关文章
- 主成分分析 | Principal Components Analysis | PCA
理论 仅仅使用基本的线性代数知识,就可以推导出一种简单的机器学习算法,主成分分析(Principal Components Analysis, PCA). 假设有 $m$ 个点的集合:$\left\{ ...
- [zz] Principal Components Analysis (PCA) 主成分分析
我理解PCA应该分为2个过程:1.求出降维矩阵:2.利用得到的降维矩阵,对数据/特征做降维. 这里分成了两篇博客,来做总结. http://matlabdatamining.blogspot.com/ ...
- Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)
网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...
- 主成分分析(principal components analysis, PCA)
原理 计算方法 主要性质 有关统计量 主成分个数的选取 ------------------------------------------------------------------------ ...
- Jordan Lecture Note-9: Principal Components Analysis (PCA).
Principal Components Analysis (一)引入PCA 当我们对某个系统或指标进行研究时往往会发现,影响这些系统和指标的因素或变量的数量非常的多.多变量无疑会为科学研究带来 ...
- (4)主成分分析Principal Component Analysis——PCA
主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...
- Principal components analysis(PCA):主元分析
在因子分析(Factor analysis)中,介绍了一种降维概率模型,用EM算法(EM算法原理详解)估计参数.在这里讨论另外一种降维方法:主元分析法(PCA),这种算法更加直接,只需要进行特征向量的 ...
- 主成分分析(principal components analysis)
http://www.cnblogs.com/jerrylead/tag/Machine%20Learning/ PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征.这k维特 ...
- Jordan Lecture Note-10: Kernel Principal Components Analysis (KPCA).
Kernel Principal Components Analysis PCA实际上就是对原坐标进行正交变换,使得变换后的坐标之间相互无关,并且尽可能保留多的信息.但PCA所做的是线性变换,对于某些 ...
随机推荐
- Table of Contents - Ehcache
Ehcache 2.9.x API Developer Guide Key Classes and Methods Basic Caching Cache Usage Patterns Searchi ...
- ASP.NET中后台注册js脚本攻略(转)
用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别: 1.使用Page ...
- 如何判断单选按钮radio被选中
今天要写一个单选按钮选中之后显示某些内容,首要问题就是当选中如何获取到值! html代码如下 <input class="joined" type="radio&q ...
- NAT
WRITE BY YANGWJ 一. 配置静态Nat 实验图如下: 1. 将网络基本条件配置好,包括路由要可达,即pc1可以ping到server1 2. ...
- Weex
今天在群友发的那个掘金技术网站里头看到这个weex,感觉还不错 阿里负责的一个开源项目 源码地址: http://alibaba.github.io/weex/index.html 是用来做app的 ...
- HTTP Status 500 - An exception occurred processing JSP page /WEB-INF
HTTP Status 500 - An exception occurred processing JSP page /WEB-INF/test/showCountry.jsp at line 11 ...
- Makefile中=、:=、+=、?=的区别
=,就是基本的赋值 :=,覆盖原来的值 +=,添加新值 ?=,如果没有赋值则赋值
- 工厂方法(Factory Method)模式
一.工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟的子类中. 工厂方法模式是简单工厂 ...
- 抽象类(abstract)是否可以继承自实体类 ?
可以. 但是这个实体类必须有无参构造函数(默认的构造函数). 如: public class A { //这个构造函数必须要有(在没有构造函数重载时可以省略,因为运行时会为A添加默认构造函数) pub ...
- bootstrap时间插件 火狐不显示 完美解决方法
原文链接:http://www.phpbiji.cn/article/index/id/141/cid/4.html bootstrap时间插件火狐 bootstrap-datetimepicker火 ...