前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

pca

作者头像
pydata
发布2018-08-02 11:52:33
8180
发布2018-08-02 11:52:33
举报
文章被收录于专栏:pydata

PCA简介

PCA是Principal Component Analysis(主成分分析)的缩写,此方法的目标是找到数据中最主要的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭露出隐藏在复杂数据背后的简单结构。从线性代数角度来看,PCA目标是找到一组正交基去重新描述得到的数据空间,这个维度就是主元,将原数据投影到该数据空间上,就可以达到降维的目的。

K-L变换与PCA

PCA算法的理论依据是K-L变换,通过寻找线性变换W,实现对高维数据的降维。

混乱的数据中通常包含三种成分:噪音、旋转和冗余。在区分噪音的时候,可以使用信噪比或者方差来衡量,方差大的是主要信号或者主要分量;方差较小的则认为是噪音或者次要分量;对于旋转,则对基向量进行旋转,使得信噪比或者方差较大的基向量就是主元方向;在判断各个观测变量之间是否冗余时,可以借助协方差矩阵来进行衡量和判断。

PCA的主要思想:

1.最小化冗余量,对应于协方差矩阵的非对角线元素要尽量小; 2.最大化信号,对应于要使协方差矩阵的对角线上的元素尽可能的大。对角线上的元素值越大,也就是对应于越重要的主元。该思想实现方法就是对协方差矩阵进行对角化。

PCA的模型中存在假设条件:

1.PCA的内部模型是线性的,kernel-PCA就是使用非线性的权值对PCA扩展; 2.针对的样本的概率分布模型只限于指数概率分布模型。从而扩展出ICP(独立主元分析)。 3.数据本身具有较高的信躁比。 4.假设主元向量之间是正交的。

PCA的可视化理解
PCA的求解方法:

代码语言:javascript
复制
MySample=fix(rand(10,3)*50)

协方差是计算不同维度间的协方差,样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。

代码语言:javascript
复制
dim1=MySample(:,1);
dim2=MySample(:,2);
dim3=MySample(:,3);

计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:

代码语言:javascript
复制
sum((dim1-mean(dim1)).*(dim2-mean(dim2)))/(size(MySample,1)-1);
sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(MySample,1)-1);
sum((dim2-mean(dim2)).*(dim3-mean(dim3)))/(size(MySample,1)-1);
协方差矩阵的对角线上就是各个维度上的方差
std(dim1)^2;
std(dim2)^2;
std(dim3)^2;

协方差矩阵也可以这样计算,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新得到的样本矩阵乘上它的转置,然后除以(N-1)。该方法可以由前面的公式推导出来。 matlab代码实现如下:

代码语言:javascript
复制
X=MySample=repmat(mean(MySample),10,1);  %  中心化样本矩阵,使各维度均值为0
C=X'*X/(size(X,1)-1);

为什么在PCA中,协方差矩阵的特征向量就是主元,等价于原矩阵的奇异值分解,主元并非降维后的样本矩阵,而是投影矩阵,原矩阵可通过投影矩阵投影达到降维的目的。

观察PCA后的样本协方差矩阵和原始矩阵的协方差矩阵可以发现各个维度上的方差有所变化,但对角线之和没有变,能量重新得到了分配,这就是降噪的功劳。 将原矩阵与投影矩阵相称可得到降维后的矩阵。

svd与LSI

PCA与LDA是特征抽取的两种主要经典方法 LDA(线性评判分析) 信号表示:特征抽取后的特征要能够精确地表示样本信息,使得信息丢失很小,对应的方法是PCA 信号分类:特征抽取后的特征,要使得分类后的准确率很高,不能比原来特征进行分类的准确率低。对于线性来说,对应的方法是LDA PCA不具有鉴别特性 LDA与PCA的目标不一样,导致他们的方法也不一样。PCA得到的投影空间是协方差矩阵的特征向量,而LDA则是通过求得一个变换W,使得变换之后的新均值之差最大,方差最大,变换W就是特征的投影方向。 PCA做分类时一般使用主向量作为特征进行分类,而不是降维后的矩阵来做分类。

参考文章:

奇异值分解及其应用 百度文库 PCA与SVD Kernel PCA的推导

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年09月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PCA简介
    • K-L变换与PCA
      • PCA的主要思想:
        • PCA的模型中存在假设条件:
          • PCA的可视化理解
            • PCA的求解方法:
              • svd与LSI
                • 参考文章:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档