传统机器学习-PCA
1-什么是PCA
PCA是一个非监督的机器学习算法,主要用于数据将为,也可用于可视化和去噪。
第一主成分
我们想要在降维后样本保持一个比较好的区分。如何找到让样本间间距最大的轴?我们可以使用方差来代表样本间的间距(因为方差可以描述样本的疏密程度)。则问题变为找到一个轴,使得样本间的所有点映射到这个轴后,方差最大。
去完均值后,每一维的均值均为0,则方差由
(图一),其中均值为0,则(图二)
对所有的样本进行demean处理
想要求一个轴的方向
使得所有样本,映射到w以后,有:
最大
2-使用梯度上升法求解PCA降维
目标:求w,使得
w的初始值不能为0,因为若w为零向量,则它的梯度也是零向量,则w值不会变化。
不能对数据进行标准化的操作,因为标准化不是线性变化,最终求出的主成分的坐标轴的方向与原始数据不一样,为了求出用户给定数据的主成分,是不能标准化的。但是我们做了去均值,这个是可以的,因为是线性变化,不影响数据的整体分布,只是相当于整个数据在坐标轴上进行了一个位移。
3-PCA最大方差理论
目标:最大化投影方差,让数据在主轴上投影的方差最大。
参照2,去均值后投影后的方差可以表示为
其中,就是样本的协方差矩阵,将其计作,由于w是单位向量,故有,因此要解一个最大化问题
引入拉格朗日橙子,对w求导令其为0,可得
带入得
发现,x投影后的方差就是协方差矩阵的特征值,最大的方差就是协方差矩阵最大的特征值,最佳投影方向就是最大特征值所对应的特征向量。次最佳投影方向位于最佳投影方向的正交空间中,是第二大特征值对应的特征向量。
1)去均值
2)求样本协方差矩阵
3)对协方差矩阵进行特征值分解,将特征值从大到小排列
4)取特征值前k大对应的特征向量,通过以下映射将n维样本映射到k维
4-求数据的前n个主成分
主成分分析法的本质是从一个坐标系转换到了另一组坐标系
其中,是去掉第一主成分上的分量得到的新的数据。
求出第一主成分以后,如何求出下一个主成分?
数据进行改变,将数据在第一个主成分上的分量去掉
在新的数据上求第一主成分(即原来数据的第二主成分,以此类推)
5-高维数据映射为低维数据
原数据
前k个主成分
将n维数据映射到k维,,其中X是(m,n),是(m,k),是前k个主成分组成的矩阵,这就是数据的降维
将k维的数据还原到n维,由于降维过程中丢失了部分信息,故恢复的数据不是原来的结果。
参考:百面机器学习
慕课网波波老师的视频