1.0 梯度求解PCA
在求极值的问题中,有梯度上升和梯度下降两种最优化方法。梯度上升用于求最大值,梯度下降用于求最小值。在线性回归时,为找到是损失函数最小的参数值使用了梯度下降法。
PCA中为了找到是方差计算函数最大的单位向量,应使用梯度上升法。
PCA的目标函数为方差计算函数,。使用梯度上升法,要先对其求导。
分别对求导,可得:
将以上n式化成矩阵形式,得到梯度:
有了梯度就可以使用梯度上升法求解方差最大值了。
2.0 求n个主成分
2.1 基本思想
在实际的降维过程可能会涉及到数据在多个维度的降维,这就需要依次求解多个主成分。
求解第一个主成分后,假设得到映射的轴为所表示的向量,如果此时需要求解第二个主成分怎么做?答案是:需要先将数据集在第一个主成分上的分量去掉,然后在没有第一个主成分的基础上再寻找第二个主成分。
如上图所示,在第一主成分上的分量为,也就是图中蓝色的向量,其模长等于和的点积。由于是单位向量,向量的模长乘以方向上的单位向量就可以得到这个向量。
而求下一个主成分就是将数据在第一主成分上的分量去掉,再对新的数据求第一主成分。那么如何去掉第一主成分呢?用样本减去分量,得到结果的几何意义就是一条与第一主成分垂直的一个轴。这个轴就是样本数据去除第一主成分分量后得到的结果,即图中的绿色部分:。
然后在新的样本中求第一主成分,得到的就是第二主成分。循环往复就可以求第n主成分。