PCA(2):PCA算法实现的两种方式

因为样本个数特征维度的是不相等de,所以组成的矩阵不是方阵。

第一种方式:特征分解思路

基于样本特征维度,先求协方差矩阵---->再特征分解(因为协方差矩阵是方阵,所以可以使用特征分解的思路)

第二种方式:SVD分解

SVD理论:https://blog.csdn.net/m0_37957160/article/details/107082668

任何矩阵都可以进行SVD分解。

事实上在数据量很大时,求协方差矩阵,然后在进行特征分解是一个很慢的过程,因此在PCA背后的实现也是借助奇异值分解来做的,在这里我们只要求得奇异值分解中的左奇异向量或右奇异向量中的一个(具体求哪个是要根据你的X向量的书写方式的,即行数是样本数还是特征数,总之左奇异向量是用来压缩行数,右奇异向量是用来压缩列数,而我们的目的是要压缩特征数)

PS:使用PCA算法不管利用哪种分解方式,一定是对样本的协方差矩阵进行分解,因为只有协方差矩阵才能反应特征维度之间的关系。

你可能感兴趣的:(基本的线性代数,Machine,Learning)