首页 > 编程知识 正文

pca主成分分析例题,pca主成分分析贡献率

时间:2023-05-03 08:08:54 阅读:179515 作者:1917

pca引入pca公式描述pca算法pca算法的三种实现方式是基于特征值分解协方差矩阵基于相关矩阵基于特征值分解SVD分解协方差矩阵的主成分数选择pca的误用

说明:参考atgdxy机器学习视频课程和抗黑花卷统计机器学习第16章

引进

PCA是一种常用的无监督学习方法,xi为采样点,xiRn,是一种降维方法,如通过PCA算法将xi转换为mldsc中(mldscRk,kn )。

《统计》 ) PCA通过正交变换将由线性相关变量表示的观测数据转换成由线性无关表示的少量数据,并将线性无关的变量称为主分量

PCA方式首先记述从与二维原数据对应的平面图中直观地理解PCA算法的原理。

PCA算法必须使对应于所有样本点的红线长度的平方之和最小。 其中PCA算法的目的是找出这样的分割线或分割面,使平方投影最小化。

说到这里,你可能觉得PCA和liner regression有点相似。

同:都是找到超平面

(I )用于确定对应于每个x的预测值y )与真实值之间的距离。 PCA是将正交距离最短化的装置,只考虑x附属的对应的n维特征,与y无关。 简言之,l寻找各点在超平面上画与y轴平行的直线,而PCA在超平面上画垂线。 下图(红线为l,蓝线为PCA ) ) ) )。

PCA算法首先对数据进行预处理,计算对应于所有样本点的x的各特征成分的平均值,用各样本点的x值更新为对应于该样本点的x值减去所有点的平均值,满足

下图显示了二维原始数据降维到一维的情况。

因此,使用PCA需要解决两个问题。

1、如何计算u(I ) (确定超平面的方向向量) )。

2、如何计算z(I ) )降维后的数据) ) ) ) ) ) )2) ) ) z(I ) ) ) z ) 652 )

算法总结:

1、数据预处理,更新采样点值,满足各特征均值为零的任意特征缩放。

2、求更新后样本点的协方差=

x右括号中的I表示第几个样本点,其中矩阵共同由m个样本点组成,最后根据矩阵位置确定平均值。 也就是协方差矩阵。

3、计算中的向量,并使用SVD算法(任意矩阵a中存在奇异值分解) )。

s是n*n维的

具体解开SVD的过程见https://blog.csdn.net/Monica _ 428/article/details/117379034? spm=1001.2014.3001.5501

4、降维矩阵Ureduce为u中前k列

5、计算z(I )

PCA算法的三种实现方式前两种是传统的主成分分析,后者基于SVD是目前比较常用的方法。

基于特征值分解协方差矩阵

例题1 ) )根据需要降低维度) )。

以x为例,用PCA法将这两行数据降为一行。

1 ) x矩阵的各行已经平均值为零,所以没有必要去平均值。

2 )求协方差矩阵:

3 )求解协方差矩阵的特征值和特征向量。

解决后的特征值如下

相应的特征向量如下:

这里,对应的特征向量分别是1个解,可以采用任意的实数。 标准化的特征向量如下

4 )矩阵p是

5 )最后将p的第一行乘以数据矩阵x,可以得到降维的表示。

结果如图1所示:

数据矩阵x维退化投影结果

将原始二维数据

在方向的一维超平面上。 之所以选择p的第1行,是因为与第1行的特征向量相对应的特征量较大,所以选择它作为第一主要成分。

基于相关矩阵的特征值分解1、样本矩阵x的正则化

2、根据标准化计算样本相关矩阵

3 .根据特征量特征向量、方差贡献率确定k值大小

4、k样品的主要成分

5、计算主成分与原变量的相关系数,以及主成分对原变量的贡献率,

6、计算n个样品的主成分值

例题2 :根据方差贡献率保留维数

假设x1表示国语,x2等依次顺延

(1)计算该相关矩阵的特征值和特征向量

1=2.17,2=0.87,3=0.57,4=0.39

(2)特征值为各成分的方差贡献率,假设要求累计方差贡献率大于0.75。

)3)求出与1和2对应特征向量

import numpy as np w,v=NP.Lina LG.EIG (NP.array ([ 1,0.44,0.29,0.33 ],[ 0.44,1,0.35,0.32 ],[ 0.29,0.

结果:

机器对浮点数的处理问题,由于存在舍入误差,因此得到的结果不准确。 这个问题难以避免。

)4)求主要成分

上图为主成分分析解的结果,变量y1、y2表示第一、第二主成分

5 )求出因子负荷量和主要成分对变量x的贡献率

因子负荷量的计算公式:(yi,xj ) (I=1,2j=1,2,3,4 ) ) ) ) ) ) ) ) ) ) )因子负荷量的计算公式:(yi,xj ) ) )

因子负荷量的计算过程

> 主成分对变量的贡献率
计算过程

总结:

通过表16.3可以看出
第一主成分对应的因子负荷量全部大于零,表明各科成绩提高都会使y1提高,也就是说第一主成分y1反映了学生的整体成绩,此外,因子负荷量相近,且ρ(y1,x4)数值最大,说明物理成绩在整体成绩中占据重要位置。
第二主成分有正有负,正的是语文和外语,负的是数学和物理,说明文科成绩提高可使y2提高,但理科成绩提高会使y2降低,也就是说,第二主成分y2反映了学生的文科成绩与理科成绩的关系。
将所有的成绩和第一第二主成分的因子负荷量在平面坐标系中表示出来,可以看出变量之间的关系,四个原变量聚合成两类。因子负荷量相近的语文英语为一类,数学和物理为一类。前者反应文科成绩,后者反应理科成绩。

基于SVD分解协方差矩阵

过程:

主成分数量选择

可视化数据的话k一般为2或者3.

PCA使用建议

主要对监督学习算法进行算法加速,因为通过PCA算法数据维数会下降进而算法更加高效,主要运用于图像识别,例如100*100维的像素降维维1000
降维几乎不影响分类准确性,而且运行速度会加速,

PCA误用

有些会用PCA防止过拟合,实际上PCA的功能主要是将样本点的特征数量降到低维。在抑制过拟合的公式中,主要是通过正则项

PCA用不到y,会舍掉一些信息,过程中没有关注到对应的y是什么,很有可能会舍掉一些有价值的信息
相反,在下面的公式中却可以很好的防止过拟合


因为y已知,不太可能丢失一些有价值的信息,
建议:在使用PCA之前先直接做想做的,考虑使用最原始的x,当要求算法速度快的时候,而且数据需要压缩,对内存有要求的时候再进行数据的PCA.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。