主成分分析(PCA)

    本文记录的目的是方便自己学习和复习,有误之处请谅解,欢迎指出。

    主成分分析(Principal Component Analysis,PCA)是中最常用的降维算法之一,也可以用于数据压缩、去除冗余信息、消除噪声等方面。PCA的目的是找出一组低维数据来代表原高维数据,且保留原始数据中的主要信息。例如有m个数据集,n维特征,我们希望将n维特征降低到d维,而且让损失的信息尽可能小,具体怎么做呢?

    首先通过PCA找出第1个新坐标使得原始数据中方差最大;然后找出第2个新坐标与第1个坐标正交平面使得方差最大;再找出第3个坐标与1,2坐标正交平面使得方差最大...,以此类推,得到d个新维度特征。

一、算法流程

    直接一点:就是求出样本集的协方差矩阵XX^T 的前d个特征值对应的特征向量,组成矩阵W,然后对每个样本x^i 进行变换z^i=W^T x^i

    1)特征去中心化,即每个维度特征减去其均值:

    2)计算协方差矩阵XX^b

    3) 对协方差矩阵进行特征值分解

    4)取前d个最大的特征值对应的特征向量组成矩阵W

    5)对每个样本数据进行变换,z^i=W^T x^i

    6)得到降维后的数据D=(z^1,z^2,z^3,...,z^d)

二、实例

   假定现有10个二维数据集(2.5,2.4), (0.5,0.7), (2.2,2.9), (1.9,2.2), (3.1,3.0), (2.3, 2.7), (2, 1.6), (1, 1.1), (1.5, 1.6), (1.1, 0.9),需要用PCA降到1维。

    首先样本去中心化,这里样本的均值为(1.81, 1.91),所有的样本减去这个均值向量后,即中心化后的数据集为(0.69, 0.49), (-1.31, -1.21), (0.39, 0.99), (0.09, 0.29), (1.29, 1.09), (0.49, 0.79), (0.19, -0.31), (-0.81, -0.81), (-0.31, -0.31), (-0.71, -1.01)

    求协方差矩阵:

    求出特征值为(0.0490833989, 1.28402771),对应的特征向量分别为:(0.735178656,0.677873399)^T(−0.677873399,−0.735178656)^T

由于最大的k=1个特征值为1.28402771,对应的特征向量为(−0.677873399,−0.735178656)^T。这也就是特征矩阵W

    对每个数据样本进转换z^i=W^T x^i 得到降维后的数据(-0.827970186, 1.77758033, -0.992197494, -0.274210416, -1.67580142, -0.912949103, 0.0991094375, 1.14457216, 0.438046137, 1.22382056)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容