主成分分析PCA
来源:互联网 发布:广电双向网络改造方案 编辑:程序博客网 时间:2024/05/16 05:22
- PCA的目的
PCA(Principal Component Analysis)将原始数据降维成另一组数据。转换后的数据有两个要求:
① 同组数据间尽可能发散(方差越大越好)
② 各维数据间尽可能线性无关(协方差越小越好) - PCA的原理
首先我们假设原始数据X为m组2维:X=(a1b1a2b2......ambm)
那么上面的两个要求可以用协方差矩阵表示:1mXXT=⎛⎝⎜⎜⎜⎜⎜1m∑i=1ma2i1m∑i=1maibi1m∑i=1maibi1m∑i=1mb2i⎞⎠⎟⎟⎟⎟⎟
我们希望协方差矩阵是一个对角阵最好,因为这样方差不为零,而协方差为零。
假设原始数据为X,它的协方差矩阵为C
假设X经过P变化为Y,即Y=PX
假设降维后数据为Y,它的协方差矩阵为D
我们现在的目的是让D为对角阵,由于有以下性质:D=====1mYYT1m(PX)(PX)T1mPXXTPTP(1mXXT)PTPCPT
此时,目标更明确了,我们要找到一个矩阵P,是的PCPT 是对角阵。 - 如何找P
数学上已经证明了,一个n行n列的对称矩阵C可以找到n个单位正交向量e1,e2,...,en ,将其按列组合成E=(e1,e2,...,en) ,使得ECET 。所以我们千辛万苦要找的P就是特征向量按列组成的矩阵。 - PCA算法步骤
设有m条n维数据
①将数据组成n行m列的矩阵X
②将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
③求出协方差矩阵C=1mXXT
④求出C的特征值和特征向量
⑤将特征向量按照特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P
⑥Y=PX即为降维到k维后的数据
参考:http://blog.codinglabs.org/articles/pca-tutorial.html
0 0
- 主成分分析 PCA
- 主成分分析 PCA
- PCA--主成分分析
- PCA主成分分析
- 主成分分析PCA
- PCA主成分分析
- 主成分分析PCA
- PCA主成分分析
- PCA主成分分析
- PCA 主成分分析
- 主成分分析PCA
- 主成分分析(PCA)
- 主成分分析(PCA)
- PCA主成分分析
- PCA 主成分分析
- 主成分分析PCA
- PCA主成分分析
- PCA 主成分分析
- JavaScript中的闭包
- Android java与html js交互 html视频播放没有画面 画面卡顿
- 【HDU-oj】-2157-How many ways??(矩阵)
- 【django3】Django学习笔记3:Model,Template,View 基本概念
- [BZOJ2741][[FOTILE模拟赛]][可持久化Trie+分块]
- 主成分分析PCA
- C++指针
- ext4 ext4_mount
- Flying to the Mars(hdu 1800)(trie tree)
- js中将类数组转换为数组的几种方法
- virtualbox中怎么给linux添加磁盘空间
- 大数据时代应该如何投资股票
- adnroid.appwidget.AppWidgetProvider
- Java访问权限public、protected、默认、private