PCA降维浅析
2015-10-29 09:34
176 查看
PCA全称:principal component analysis,即主成分分析,用于数据降维。
降维可以降低数据复杂性,减少计算即村春开销,有时还能去除部分噪声。
PCA降维的原理简单来说就是通过计算出样本矩阵的协方差矩阵,并计算该协方差矩阵的特征值的大小来评估该维在矩阵中的重要程度,将值较低的特征值置零后以剩余的特征值矩阵乘以原矩阵的正交变换矩阵来达到降低样本矩阵维度的目的。
协方差用于衡量两个一维变量组之间的总体差异情况,而协方差矩阵的内容的是多维(列)矩阵中各维(列)之间的协方差,体现了各维之间的差异情况。研究认为多元事物中变化剧烈的元组揭示了事物的本质,而变化平缓的元组对事物影响较少,PCA降维就是通过分析样本矩阵的协方差矩阵,来衡量样本矩阵中各维的重要程度。
根据协方差的特性:COV(x,y) = COV(y,x),COV(x,x) = D(x)可知,协方差矩阵是一个对阵矩阵,而且对角线上是各维的方差。
协方差及方差计算公式:
协方差的计算用到了均值:
在求得了协方差矩阵以后,求它的特征值和特征矩阵的过程就不叙述了。
截一个网上的PCA降维例子:
对于一个训练集,100个对象模板,特征是10维,那么它可以建立一个100*10的矩阵,作为样本。求这个样本的协方差矩阵,得到一个10*10的协方差矩阵,然后求出这个协方差矩阵的特征值和特征向量,应该有10个特征值和特征向量,我们根据特征值的大小,取前四个特征值所对应的特征向量,构成一个10*4的矩阵,这个矩阵就是我们要求的特征矩阵,100*10的样本矩阵乘以这个10*4的特征矩阵,就得到了一个100*4的新的降维之后的样本矩阵,每个特征的维数下降了。
当给定一个测试的特征集之后,比如1*10维的特征,乘以上面得到的10*4的特征矩阵,便可以得到一个1*4的特征,用这个特征去分类。
降维可以降低数据复杂性,减少计算即村春开销,有时还能去除部分噪声。
PCA降维的原理简单来说就是通过计算出样本矩阵的协方差矩阵,并计算该协方差矩阵的特征值的大小来评估该维在矩阵中的重要程度,将值较低的特征值置零后以剩余的特征值矩阵乘以原矩阵的正交变换矩阵来达到降低样本矩阵维度的目的。
协方差用于衡量两个一维变量组之间的总体差异情况,而协方差矩阵的内容的是多维(列)矩阵中各维(列)之间的协方差,体现了各维之间的差异情况。研究认为多元事物中变化剧烈的元组揭示了事物的本质,而变化平缓的元组对事物影响较少,PCA降维就是通过分析样本矩阵的协方差矩阵,来衡量样本矩阵中各维的重要程度。
协方差矩阵
样本矩阵的协方差矩阵C计算公式,以3维为例:根据协方差的特性:COV(x,y) = COV(y,x),COV(x,x) = D(x)可知,协方差矩阵是一个对阵矩阵,而且对角线上是各维的方差。
协方差及方差计算公式:
协方差的计算用到了均值:
在求得了协方差矩阵以后,求它的特征值和特征矩阵的过程就不叙述了。
截一个网上的PCA降维例子:
对于一个训练集,100个对象模板,特征是10维,那么它可以建立一个100*10的矩阵,作为样本。求这个样本的协方差矩阵,得到一个10*10的协方差矩阵,然后求出这个协方差矩阵的特征值和特征向量,应该有10个特征值和特征向量,我们根据特征值的大小,取前四个特征值所对应的特征向量,构成一个10*4的矩阵,这个矩阵就是我们要求的特征矩阵,100*10的样本矩阵乘以这个10*4的特征矩阵,就得到了一个100*4的新的降维之后的样本矩阵,每个特征的维数下降了。
当给定一个测试的特征集之后,比如1*10维的特征,乘以上面得到的10*4的特征矩阵,便可以得到一个1*4的特征,用这个特征去分类。
相关文章推荐
- 接口工厂方法模式解耦与反射机制 Just when I thought that I was out they pull me back
- C#存取数据库图片
- syslog
- 一位良心发现的交易员自述:我们是怎么玩弄散户的
- IIS配置jquery ajax、 json,mp4文件支持
- opencv各章学习的内容概括与汇总
- Andriod界面设计适配和Android Studio中的资源
- 几种常用的webservice客户端和spring集成的方法
- Linux根目录下的sys文件夹下的子目录
- LINQ 查询集合总的重复项
- nginx+ffmpeg筹建rtmp转播rtsp流的flash服务器
- hibernate @Entity 主键相关问题
- Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用
- 对Hibernate的理解
- ORACLE 常用SQL查询
- 前端优化带来的思考,浅谈前端工程化
- 大数据研究常用软件工具与应用场景
- [2001]:计算两点间的距离(简单的题目)
- Nodejs socket.io cliet对象结构
- 关于oracle 11g以后不支持裸设备的问题