主成分分析理论与MATLAB实现示例

本文详细介绍了主成分分析(PCA)的基本思想和方法,强调PCA通过线性变换寻找数据的主要成分。文章通过解答如何描述信息、变换方式及最大化信息的问题,阐述PCA的优化过程。并提供了一个MATLAB实现PCA的实例,展示了PCA如何从高维数据中提取主要特征。
摘要由CSDN通过智能技术生成

主成分分析理论与MATLAB实现示例

2017.9.3
关于主成分分析,其实还是比较简单的,但是感觉网上的资料对于理论上的分析有些欠缺,这里自己整理一下,依然是追求严谨完整,另外再加上一个自己练习的示例。

1.基本思想

现实中的数据常常会以高维数据的形式出现。举个简单的例子:对于平面上一条过原点斜线上的一些点,一般地我们需要它的 (x,y) 坐标来描述,但是实际上对于这个数据结构,我们只要知道点在斜线上的位置,比如到原点的距离,就可以间接地确定点的坐标。事实上,上面的过程就把二维的数据 (x,y) 转变为了一维(点到原点的距离)。对于有几百上千个分量的数据,我们同样可以通过选取某些“主成分”来代表这些高维数据,自然地我们希望这些主成分能够尽可能多的表示出原本数据的信息。

2.方法

接着上面的思想,我们将面对三个问题:

  • 1.如何描述变换后前数据承载的信息?
  • 2.将高维坐标变换成主成分坐标应该是怎样一种变换?
  • 3.如何使得主成分能尽可能多的代表原来数据的信息?

1:当数据很集中时,比如说都在一个点的小邻域内,数据之间差别很小,此时的数据除了体现出一个总体趋势(均值)外,没有产生其他信息,而如果数据是分散开的,那么就认为它带来了较多的信息。因此在主成分分析中,我们选取数据的方差来表示所携带的信息量。此外方差还有一个性质:数据的方差等于数据每个坐标上的方差之和。
2:无疑,对一组坐标进行变换有很多种方法,主成分分析提供的便是最常见的线性变换,各个主成分也就是变换后的坐标。进一步地,我们希望不同的“主成分”代表不同的信息,或者说,他们之间是“无关的”,即各个坐标的变换之间是相互正交的。到这里,我们很容易想到正交变换,正交变换除了能满足上面的要求时,还保持了变换前后方差不变(这是因为方差依赖于距离,而正交变换是保距离的),因此正交变换是一个十分合理的选择。
3:在第一个问题中我们就指出了,我们选取方差作为信息的度量,因此,要尽可能多的获得信息,换成数学语言,就是如下的优化问题:
设我们有数据 Xi=(Xi(0),,Xi(m))Rm, i=1,,nX=(X1;;Xn)Rnm ,最大化方差:

max|P|=1   i=1n(PXTiPX¯¯¯¯¯¯¯¯)2/(n1)

其中 |P|=1 是正交变换的要求, P 就是从原坐标变换到新的第一个坐标的变换系数。如果我们提前为了便捷起见,将数据减去均值 Xi:=XiX¯¯¯ 处理,这样就成了
max|P|=1
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值