主成分分析PCA

降维的必要性

1.多重共线性–预测变量之间相互关联。多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯。

2.高维空间本身具有稀疏性。一维正态分布有68%的值落于正负标准差之间,而在十维空间上只有0.02%。

3.过多的变量会妨碍查找规律的建立。

4.仅在变量层面上分析可能会忽略变量之间的潜在联系。例如几个预测变量可能落入仅反映数据某一方面特征的一个组内。

降维的目的:

1.减少预测变量的个数

2.确保这些变量是相互独立的

3.提供一个框架来解释结果

降维的方法有:主成分分析、因子分析、用户自定义复合等。

PCA(Principal Component Analysis)不仅仅是对高维数据进行降维,更重要的是经过降维去除了噪声,发现了数据中的模式。

PCA把原先的n个特征用数目更少的m个特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新的m个特征互不相关。从旧特征到新特征的映射捕获数据中的固有变异性。

预备知识

样本X和样本Y的协方差(Covariance):

这里写图片描述

协方差为正时说明X和Y是正相关关系,协方差为负时X和Y是负相关关系,协方差为0时X和Y相互独立。

Cov(X,X)就是X的方差(Variance).

当样本是n维数据时,它们的协方差实际上是协方差矩阵(对称方阵),方阵的边长是 C2n C n 2 。比如对于3维数据(x,y,z),计算它的协方差就是:

这里写图片描述

AX=λX A X = λ X ,则称λ是A的特征值,X是对应的特征向量。实际上可以这样理解:矩阵A作用在它的特征向量X上,仅仅使得X的长度发生了变化,缩放比例就是相应的特征值λ。 矩阵A*特征向量X=特征值λ*特征向量X
特别地,当A是对称矩阵时,A的奇异值等于A的特征值,存在正交矩阵Q( Q1=QT Q − 1 = Q T ),使得:
这里写图片描述

对A进行奇异值分解就能求出所有特征值和Q矩阵。

A∗Q=Q∗D,D是由特征值λ组成的对角矩阵

由特征值和特征向量的定义知,Q的列向量就是A的特征向量。

PCA过程

1.特征中心化。即每一维的数据都减去该维的均值。这里的“维”指的就是一个特征(或属性),变换之后每一维的均值都变成了0。
2.计算协方差矩阵
3.计算协方差矩阵的特征值和特征向量
4.将特征值从大到小进行排序,选择其中最大的 k 个,然后将其对应的 k 个特征向量分别作为列向量组成特征矩阵
5.将样本点投影到选取的特征向量上
例:假设我们得到 2 维数据如下:

这里写图片描述

其中行代表样例,列代表特征,这里有10个样例,每个样例有2个特征,我们假设这两个特征是具有较强的相关性,需要我们对其进行降维的。

第一步:分别求 x 和 y 的平均值,然后对所有的样例都减去对应的均值

这里求得 x 的均值为 1.81 , y 的均值为 1.91,减去均值后得到数据如下

这里写图片描述

第二步:求特征协方差矩阵

公式如下:

这里写图片描述

第三步:求解协方差矩阵的特征值和特征向量

这里写图片描述
这里写图片描述

第四步:将特征值从大到小进行排序,选择其中最大的 k 个,然后将其对应的 k 个特征向量分别作为列向量组成特征矩阵
这里的特征值只有两个,我们选择最大的那个,为: 1.28402771 ,其对应的特征向量为:

这里写图片描述

第五步: 将样本点投影到选取的特征向量上
假设样本列数为 m ,特征数为 n ,减去均值后的样本矩阵为 DataAdjust(m*n),协方差矩阵为 n*n ,选取 k 个特征向量组成后的矩阵为 EigenVectors(n*k),则投影后的数据 FinalData 为:

FinalData (m*k) = DataAdjust(m*n) X EigenVectors(n*k)

得到的结果是:

这里写图片描述

参考:
http://www.cnblogs.com/zhangchaoyang/articles/2222048.html
http://www.360doc.com/content/16/1018/20/32626470_599436035.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值