PCA

主成分分析(PCA)

原文链接:PCA1
原文链接:PCA2

**PCA (principal components analysis)**是一种非监督学习的降维方法,降维就是一种对高维度特征数据预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征(冗余和噪音),从而实现提升数据处理速度的目的。

主要思想:是将n维特征映射到 k k k(小于 n n n)维上,这k维是全新的正交特征也被称为主成分,是在原有 n n n维特征的基础上重新构造出来的 k k k维特征 (新的坐标系)。

基于特征值分解协方差矩阵实现PCA算法
输入:数据集 X = { x 1 , x 2 , x 3 , ⋯   , x n } X=\{x_1,x_2,x_3,\cdots,x_n\} X={x1,x2,x3,,xn},目标需要降到 k k k维度
步骤
1)去平均值(即去中心化),即每一位特征减去各自的平均值; E ( X ) = 0 E(X)=0 E(X)=0
2)计算协方差矩阵 1 n X X T \frac{1}{n}XX^{T} n1XXT.(注:这里除或不除样本数量 n n n n − 1 n-1 n1,其实对求出的特征向量没有影响);
3) 用特征值分解方法求协方差矩阵 1 n X X T \frac{1}{n}XX^{T} n1XXT 的特征值与特征向量;
4) 对特征值从大到小排序,选择其中最大的 k k k个。然后将其对应的 k k k个特征向量分别作为行向量组成特征向量矩阵 P P P;
5) 将数据转换到 k k k个特征向量构建的新空间中,即 Y = P X Y=PX Y=PX.

基于SVD分解协方差矩阵实现PCA算法
3) 换成用SVD的方法求解协方差矩阵的特征值和特征向量。

备注
SVD分解
奇异值分解是一个能适用于任意矩阵的一种分解的方法,对于任意矩阵A总是存在一个奇异值分解:
A = U Σ V T A = UΣV^{T} A=UΣVT
假设 A A A是一个 m ∗ n m∗n mn的矩阵,那么得到的 U U U是一个 m ∗ m m∗m mm的方阵, U U U里面的正交向量被称为左奇异向量。 Σ Σ Σ是一个 m ∗ n m∗n mn的矩阵, Σ Σ Σ除了对角线其它元素都为 0 0 0,对角线上的元素称为奇异值。 V T V^{T} VT V V V的转置矩阵,是一个 n ∗ n n*n nn的矩阵,它里面的正交向量被称为右奇异值向量。而且一般来讲,我们会Σ上的值按从大到小的顺序排列。

SVD分解矩阵A的步骤
(1) 求 A A T AA^{T} AAT的特征值和特征向量,用单位化的特征向量构成 U。
(2) 求 A T A A^{T}A ATA的特征值和特征向量,用单位化的特征向量构成 V。
(3) 将 A A T AA^{T} AAT或者 A T A A^{T}A ATA的特征值求平方根,然后构成 Σ Σ Σ

特征值分解
(1) 特征值与特征向量
如果一个向量v是矩阵A的特征向量,将一定可以表示成下面的形式:
A v = λ v Av=\lambda v Av=λv
其中, λ \lambda λ是特征向量 v v v对应的特征值,一个矩阵的一组特征向量是一组正交向量。

(2) 特征值分解矩阵
对于矩阵 A A A,有一组特征向量 v v v,将这组向量进行正交化单位化,就能得到一组正交单位向量。特征值分解,就是将矩阵 A A A分解为如下式:
A = Q Σ Q − 1 A=QΣQ^{-1} A=QΣQ1
其中, Q Q Q是矩阵A的特征向量组成的矩阵, Σ Σ Σ则是一个对角阵,对角线上的元素就是特征值。

变种
Kernelized PCA 解决非线性问题;
Incremental PCA解决内存限制的增量;
Sparse PCA 解决稀疏数据降维。

优缺点:

优点:
1)仅仅需要以方差衡量信息量,不受数据集以外的因素影响。 
2)各主成分之间正交,可消除原始数据成分间的相互影响的因素。
3)计算方法简单,主要运算是特征值分解,易于实现。
缺点:
1)主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。
2)方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值