PCA的本质----特征值分解

11人阅读 评论(0) 收藏 举报
分类:

本章总结:(可 与主成分分析(PCA)-最大方差解释  https://blog.csdn.net/goodshot/article/details/79950977 结合理解)

从数学的角度,对矩阵的特征值分解进行介绍,介绍了符合条件的矩阵和进行特征值分解(2),通过分析协方差的意义(3),使得原始样本X经矩阵A的空间变换后得到的Y的协方差表示出不同特征间的相关性最小(趋于0),从而使用PCA的得到了去相关性的效果(4),同时与该步密切相关的是实现了降维(5)


相信大家对PCA并不陌生,但是PCA的本质你是否了解呢?今天就给大家简单讲讲,也是自己对PCA的一个巩固。博客中使用的图片来自七月算法的程博士的PPT,在此感谢程博士课上的耐心讲解。

     1、特征值个特征向量

   

我相信大家对于这个式子非常熟悉,但是你真正的理解这个式子了吗?特征向量和特征值到底有什么意义呢?说实话,在听程博士的课之前我一直迷惑,不过现在懂了。

    首先,我们要明确一个矩阵和一个向量相乘有什么意义?从图中我们可以看出一个矩阵和一个向量相乘的意义在于对该向量做个旋转或伸缩变换。从图中我们又发现一个矩阵和该矩阵的非特征向量相乘是对该向量的旋转变换;一个矩阵和该矩阵的特征向量相乘是对该向量的伸缩变换。那一个实数和一个向量相乘有什么意义呢?这个我们很清楚是对一个向量的伸缩变换。

    发现了没?一个矩阵和一个向量相乘与一个实数和一个向量相乘的联系找到了----“对该向量伸缩变换”。

    通过以上分析,我们就明白了特征值和特征向量是什么了?特征向量就是一个在矩阵A的变换下没有旋转只是伸缩变换,那到底伸缩了多少倍呢?伸缩了“特征值”倍。

2、看几条特征值分解的性质


重点在下面


我们发现一个矩阵经过特征值分解,最后可以变成一个特征值和特征向量相乘后累加的情况。既然是累加,那么加数就一定有大有小,因此一定可以对每项加数排序。我们思考一下,如果有一加数相比于其他加数非常小,我们能不能将这个加数省去,这样对最后的结果影响不是很大。

3、PCA的本质

1对X矩阵的说明,矩阵的每一列看成是一个样本,因此又n样本,每个样本有两个属性a,b.

(2)对协方差的几点说明:

 (2.1)协方差的计算公式如图中所示

(2.2)协方差的意义,这曾经是一直困挠我的问题。协方差的意义是计算元素之间的相关性(相关程度)。如图中所示,图中的协方差计算的是特征a和特征b之间即自身的相关性。我们发现主对角线是自相关性,自己和自己肯定相关性最大,副对角线是互相关性,即特征a和特征b的相关性。(具体的我们可以去仔细看看协方差的计算就明白了)

(3)PCA的目标就是使协方差矩阵的主对角线的值尽可能的大,副对角线上的值尽可能的小,最好为0.为什么呢?我们上面已经说明,协方差的意义是衡量计算元素之间的相关性,如果我让副对角线的值为0,也就说明了特征a和特征b之间相关性为0,无相关性了。这也就是我们经常听到的PCA具有去相关性的作用。

可能有人又会问为什么要去除特征之间的相关性呢?比如在特征中有两个特征a,b,我们已知a+b=1,如果我们的样本中已经知道特征a的值,那么我们一定知道特征b的值,那我们还要特征b干嘛呢?这就是所谓的特征冗余。去除特征的相关性就是去除特征b,使保留下来的特征尽量无相关性。少量特征时,我们看不出去相关性的优势。想想一下,如果我们的特征有1亿维,而且这些特征的相关性非常高,那我们的很多计算都是多余的,这样会浪费大量的时间。所以我们需要利用PCA进行去相关性。

4、原矩阵的变换


上面我们提到过PCA的目标是使X的协方差矩阵的主对角线尽可能大,副对角线尽可能的小,甚至为0.那么我们怎样做呢?如果我们不能直接对X矩阵操作,那我们能不能对X变化后的矩阵进行操作呢?

从上图我们可以看出,首先对X矩阵进行转换,然后计算Y矩阵的协方差,如何是的Y矩阵的协方差是一个对角阵呢?为什么要弄成一个对角阵呢?对角阵只有主对角线上有值,其他地方为0.这正好符合PCA的目标,是协方差的主对角线上的值尽量大,其他地方的值为0.

U是X矩阵的特征向量矩阵,是特征值组成的对角阵,所以如果我们令,那么我们就可以得到,这样我们用对X矩阵变换后X中的特征间的相关性就达到了最低。

5、PCA降维

前面说的是PCA的去相关性,那怎么用PCA进行降维呢?我们再次回到下面这张图


我们发现A矩阵经过特征值分解后,最终得到一个累加形式,如果我们对特征值进行排序,省略的掉值很小的部分,这样特征值的个数减小了,那么矩阵会减小,相应的矩阵U和也会减小(维度上),这样我们我们返代回去求得A矩阵维度也会减小,这样就降维的目的。

6、简单实例


第一步,根据协方差公式计算X矩阵的协方差;

第二步,计算协方差的特征值和特征向量,对特征值进行从大到小排序,得到  ,特征向量矩阵

U=[U1,U2],,所以,这里的Q并没有错,因为有可知U应该是

第三步,降维,由于,所以我们选择,所以我们选择Q的第一行作为我们最终的Q值,用此Q值与X矩阵相乘得到Y矩阵,Y矩阵就是我们最终想得到的既去相关性又降维的矩阵,去相关性是因为我们找到了一个Q是的Y的协方差矩阵是个对角阵,降维是Q并非原始的特征向量矩阵,而是经过降维后的特征向量矩阵,这样和X相乘后将X降维。


讲到这里,PCA的本质就算讲完了。很抱歉,这篇博客是分开写,睡了一觉后脑子不好使了。后半部分写着写着自己也有点糊涂了,如果有的地方不对望请指正,非常感谢!

查看评论

一个很不错的主页效果。。你试试!!!

var MerlinID;var MerlinACS;yancey.Connected = true;MerlinLoaded = LoadLocalAgent(MerlinID, MerlinACS...
  • yousoft
  • yousoft
  • 2001-08-15 16:53:00
  • 761

数据降维处理:PCA之特征值分解法例子解析

请点击上面公众号,免费订阅。  《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!...
  • xo3ylAF9kGs
  • xo3ylAF9kGs
  • 2017-12-07 00:00:00
  • 92

特征值分解、奇异值分解、PCA概念整理

本文将分别介绍特征值分解、奇异值分解、及PCA的相关理论概念。 文章末尾将给出Householder矩阵变换、QR算法求解特征值、特征向量的代码 其中,特征值分解、奇异值分解的相关内容,转载自: ht...
  • jinshengtao
  • jinshengtao
  • 2014-01-18 14:21:25
  • 48509

PCA 主成分分析 奇异值分解

奇异值与主成分分析(PCA) 【转载】原文出处:http://blog.sina.com.cn/s/blog_4b16455701016ada.html   PCA的问题其实是一个基的变换,...
  • yangyangyang20092010
  • yangyangyang20092010
  • 2013-01-05 15:38:40
  • 2852

特征值分解、奇异值分解(SVD)、主成分分析(PCA)

1、 奇异值分解(SVD):A=Q∑Q−1A=Q\sum Q^{-1} Q=[v1,v2,...][v_1,v_2,...]∑=⎡⎣⎢λ1000λ2000...⎤⎦⎥(1) \sum= \left[ ...
  • u010378878
  • u010378878
  • 2016-09-02 15:14:45
  • 1204

PCA(协方差矩阵和奇异值分解两种方法求特征值特征向量)

1.问题描述   在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上增加了数据采...
  • guoxinian
  • guoxinian
  • 2015-12-30 10:43:36
  • 7406

特征值与特征向量,PCA和谱聚类

特征值和特征向量 矩阵的基 定义:一个m*n的矩阵可以看成是n个列向量组成,这n个列向量的线性组合构成一个列空间,而通常这n个列向量不是线性无关的,那么求出这n个列向量中不相关的r个,可以称这r列为...
  • bwangk
  • bwangk
  • 2016-09-26 22:48:37
  • 2734

SVD与PCA,奇异值分解与主成分分析的比较

一般来说,想要获得低维的子空间,最简单的是对原始的高维空间进行线性变换(当然了,非线性也是可以的,如加入核函数,比较著名的就是KPCA)。SVD和PCA呢,都实现了降维与重构,但是呢,思路不太一样,老...
  • zhangdadadawei
  • zhangdadadawei
  • 2016-03-19 09:42:21
  • 7225

矩阵的特征值分解与奇异值分解的几何意义

1、首先,矩阵可以认为是一种线性变换:确定了定义域空间与目标空间的两组基,就可以很自然地得到该线性变换的矩阵表示。即矩阵A可以通过Ax=b将一个向量x线性变换到另一个向量b,这个过程中,线性变换的作用...
  • lipengcn
  • lipengcn
  • 2016-07-22 15:02:47
  • 3272

一分钟了解"特征值分解和奇异值分解SVD的区别"

(2)对于非方阵,无法求特征值,于是用奇异值代替。 奇异值的特点是衰减特别快,也就是说仅仅有前几个奇异值特别大,后面的值都很小。这一点可以用于数据压缩。例如:   奇异值和奇异向量还是非...
  • yes1989yes
  • yes1989yes
  • 2017-07-31 11:08:00
  • 1143
    个人资料
    持之以恒
    等级:
    访问量: 269万+
    积分: 2万+
    排名: 254
    站长统计
    最新评论