传统机器学习-PCA

1-什么是PCA

PCA是一个非监督的机器学习算法,主要用于数据将为,也可用于可视化和去噪。

第一主成分

我们想要在降维后样本保持一个比较好的区分。如何找到让样本间间距最大的轴?我们可以使用方差来代表样本间的间距(因为方差可以描述样本的疏密程度)。则问题变为找到一个轴,使得样本间的所有点映射到这个轴后,方差最大。

传统机器学习-PCA

去完均值后,每一维的均值均为0,则方差由

传统机器学习-PCA(图一),其中均值为0,则传统机器学习-PCA(图二)

对所有的样本进行demean处理

想要求一个轴的方向传统机器学习-PCA

使得所有样本,映射到w以后,有:
传统机器学习-PCA最大

传统机器学习-PCA

传统机器学习-PCA

2-使用梯度上升法求解PCA降维

目标:求w,使得

传统机器学习-PCA

传统机器学习-PCA

w的初始值不能为0,因为若w为零向量,则它的梯度也是零向量,则w值不会变化。

不能对数据进行标准化的操作,因为标准化不是线性变化,最终求出的主成分的坐标轴的方向与原始数据不一样,为了求出用户给定数据的主成分,是不能标准化的。但是我们做了去均值,这个是可以的,因为是线性变化,不影响数据的整体分布,只是相当于整个数据在坐标轴上进行了一个位移。

3-PCA最大方差理论

目标:最大化投影方差,让数据在主轴上投影的方差最大。

参照2,去均值后投影后的方差可以表示为

传统机器学习-PCA

其中,传统机器学习-PCA就是样本的协方差矩阵,将其计作传统机器学习-PCA,由于w是单位向量,故有传统机器学习-PCA,因此要解一个最大化问题

传统机器学习-PCA

引入拉格朗日橙子,对w求导令其为0,可得

传统机器学习-PCA

带入得

传统机器学习-PCA

发现,x投影后的方差就是协方差矩阵的特征值,最大的方差就是协方差矩阵最大的特征值,最佳投影方向就是最大特征值所对应的特征向量。次最佳投影方向位于最佳投影方向的正交空间中,是第二大特征值对应的特征向量。

1)去均值

2)求样本协方差矩阵

3)对协方差矩阵进行特征值分解,将特征值从大到小排列

4)取特征值前k大对应的特征向量传统机器学习-PCA,通过以下映射将n维样本映射到k维

传统机器学习-PCA

4-求数据的前n个主成分

主成分分析法的本质是从一个坐标系转换到了另一组坐标系

传统机器学习-PCA

其中,传统机器学习-PCA传统机器学习-PCA去掉第一主成分上的分量得到的新的数据。

求出第一主成分以后,如何求出下一个主成分?

数据进行改变,将数据在第一个主成分上的分量去掉

在新的数据上求第一主成分(即原来数据的第二主成分,以此类推)

5-高维数据映射为低维数据

原数据

传统机器学习-PCA

前k个主成分

传统机器学习-PCA

将n维数据映射到k维,传统机器学习-PCA,其中X是(m,n),传统机器学习-PCA是(m,k),传统机器学习-PCA是前k个主成分组成的矩阵,这就是数据的降维

将k维的数据还原到n维传统机器学习-PCA,由于降维过程中丢失了部分信息,故恢复的数据不是原来的结果。

 

参考:百面机器学习

            慕课网波波老师的视频