Principal Component Analysis(PCA)
Principal Component Analysis(PCA)
概念
- 去中心化(零均值化): 将输入的特征减去特征的均值, 相当于特征进行了平移, \[x_j - \bar x_j\]
- 归一化(标准化): 将输入的特征减去特征的均值, 得到的差在除以特征的标准差, \[{{x_j-\bar x_j}\over{std(x_j)}}\]在进行PCA之前, 一定要进行零均值化或者标准化
用途
- 数据压缩(Data Compression)
- 数据可视化(Data Visualization)
- 提高算法执行效率
PCA实现步骤
- 数据零均值化或者标准化
- 计算样本矩阵的协方差矩阵Covariance, \[\Sigma={1\over{m}}\sum_{i=1}^{m} x^{(i)}x^{(i)T}\]
- 计算协方差矩阵的特征向量eigenvectors, \[[U, S, V] = svd(sigma)\]U即为特征向量矩阵
- 选择保留的特征, \[Ureduce = U(:, 1:k)\]
- 将Ureduce转为样本, \(Z = Ureduce^TX\)
数据还原
- 将被PCA处理过的数据尽可能的还原成原始数据
- 按照数学公式应该为\(X^{(i)}_{approx} = (Ureduce^T)^{-1}Z^{(i)}\), 但是实际中, 采用估计的, \(X^{(i)}_{approx}=UreduceZ^{(i)}\)
PCA实现补充
- 如何选择k变量, 即保留的特征数量
- 设k从1开始递增迭代到PCA算法中
- 还原数据得到\(X_{approx}\)
- 比较\[{{{1\over{m}}\sum_{i=1}^m(x^{(i)}-x^{(i)}_{approx})^2}\over{{1\over{m}}\sum_{i=1}^mx^{(i)T}x^{(i)}}}\le0.01\]
- 如果小于0.01, 则表示当k取\(\hat k\)时, 我们保留了原始数据的99%
什么时候考虑PCA
- 在一开始处理数据的时候, 应该尽量使用原始数据, 当是在不行的时候再使用PCA处理
Principal Component Analysis(PCA)的更多相关文章
- Principal Component Analysis(PCA) algorithm summary
Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...
- (4)主成分分析Principal Component Analysis——PCA
主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...
- [zz] Principal Components Analysis (PCA) 主成分分析
我理解PCA应该分为2个过程:1.求出降维矩阵:2.利用得到的降维矩阵,对数据/特征做降维. 这里分成了两篇博客,来做总结. http://matlabdatamining.blogspot.com/ ...
- PCA(Principal Component Analysis)主成分分析
PCA的数学原理(非常值得阅读)!!!! PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...
- 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理
0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...
- Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)
网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...
- 主成分分析(principal components analysis, PCA)——无监督学习
降维的两种方式: (1)特征选择(feature selection),通过变量选择来缩减维数. (2)特征提取(feature extraction),通过线性或非线性变换(投影)来生成缩减集(复合 ...
- Sparse Principal Component Analysis via Rotation and Truncation
目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...
- 《principal component analysis based cataract grading and classification》学习笔记
Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...
随机推荐
- jquery库与其他库冲突的问题解决-jquery.noConflict()
在使用jQuery开发的时候,可能还会使用到其他的JS库,比如Prototype,但多库共存时可能会发生冲突:若是发生冲突后,可以通过以下几种方案进行解决: 一. jQuery库在其他库之前导入,直接 ...
- 使用.net core 自带DI框架实现 延迟加载
在某些情况,我们希望能延迟一个依赖的初始化.如果使用的是autofac,我们可以通过注入Lazy来实现. 我们对 autofac GitHub上提供的一个例子进行进行简单改造,跑起来看看. 原Exam ...
- Windows上传文件到linux 使用winscp
Windows上传文件到linux 使用winscp, winscp下载目录 https://sourceforge.net/projects/winscp/postdownload?source=d ...
- 201621123023《Java程序设计》第4周学习总结
一.本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 继承.多态.覆盖.重载 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 二.书面作业 1. 面 ...
- Windows10使用
1.常见问题 Win10 的操作中心如果不见了 Windows10电脑系统时间校准 实现windows与ubuntu的之间的复制与粘贴 安卓手机传递文件到Windows系统电脑 安卓手机高速传递文件到 ...
- 整理javascript基础
原始类型值(Primitive values) 下面的全是原始类型值(简称:原始值): 布尔类型:true,false 数字类型:1736,1.351 字符串类型: 'abc',"abc&q ...
- luoguP4755 Beautiful Pair
https://www.luogu.org/problemnew/show/P4755 考虑分治,在 [l, r] 区间中用线段树找到最大的一个点,处理经过它的可行数对的个数,统计个数可以离线树状数组 ...
- [BZOJ1935][SHOI2007]Tree 园丁的烦恼(树状数组)
题目描述 很久很久以前,在遥远的大陆上有一个美丽的国家.统治着这个美丽国家的国王是一个园艺爱好者,在他的皇家花园里种植着各种奇花异草. 有一天国王漫步在花园里,若有所思,他问一个园丁道: “最近我在思 ...
- Python3.6引入的f-string 与 Python 3的新的特性:类型注解;
f-string 1.介绍 f-string(formatted string literals):格式化字符串常量,是Python3.6新引入的一种字符串格式化方法,使格式化字符串的操作更加简便. ...
- 【maven】maven 子项目如何使用父项目的jar包
如果父pom中使用的是 <dependencies>....</dependencies> 方式, 则子pom会自动使用pom中的jar包 如果父pom使用 <depen ...