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 ...
随机推荐
- 21天学通C++学习笔记(七):函数
1. 为什么需要函数 可将应用程序的内容划分成依次调用的逻辑块,让您能够划分和组织程序的执行逻辑,有助于提高可重用性. 2. 基本概念 是子程序,可接受参数,可有返回值. 要让函数执行其任务,必须调用 ...
- 【selenium专题】元素定位之多层框架和窗口
本节知识点 多层框架或窗口切换样式:WebDrvier.switchto().TargetLocator Interface WebDriver.TargetLocator下所有可切换对象 参考API ...
- leetcode 39 组合总和 JAVA
题目: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制 ...
- “全栈2019”Java第八十三章:内部类与接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- IE9以下不支持placeholder属性
jquery.placeholder.min.js 这个js可以去这个网站搜索https://www.bootcdn.cn/jquery-placeholder/ 使用这个jquery.placeho ...
- scrapy框架post请求发送,五大核心组件,日志等级,请求传参
一.post请求发送 - 问题:爬虫文件的代码中,我们从来没有手动的对start_urls列表中存储的起始url进行过请求的发送,但是起始url的确是进行了请求的发送,那这是如何实现的呢? - 解答: ...
- linux新服务器分区挂载
新买一台服务器,需要自己手动对硬盘进行分区挂载:(这是centos下,其他版本应该也类似) 1.查看没有分区的硬盘:fdisk -l 由图上信息可知,该服务器由三块硬盘 vda.vdb.vdc,其 ...
- html5兼容问题
1.html5对于ie9一下的版本不支持,所以我们可以添加(你可以下载至本地): <!--[if lt IE 9]> <script src="http://cdn.sta ...
- Linux基本结构
Linux 的基本目录结构: 基本介绍: Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后再次目录下载创建其他的目录. 经典的一句话:linu ...
- java中引用
java中引用分为,强,弱,虚,软 (1)强引用 使用最普遍的引用.如果一个对象具有强引用,它绝对不会被gc回收.如果内存空间不足了,gc宁愿抛出OutOfMemoryError,也不是会回收具有强引 ...