PCA
主成分分析(PCA)思想总结
图解PCA核心思想PCA可解决训练数据中存在数据特征过多或特征累赘的问题。核心思想是将m维特征映射到n维(n < m),这n维形成主元,是重构出来最能代表原始数据的正交特征。 假设数据集是m个n维,$(x^{(1)}, x^{(2)}, \cdots, x^{(m)})$。如果n=2,需要降维到$n'=1$,现在想找到某一维度方向代表这两个维度的数据。下图有$u_1, u_2$两个向量方向,但是哪个向量才是我们所想要的,可以更好代表原始数据集的呢? 从图可看出,$u_1$比$u_2$好,为什么呢?有以下两个主要评价指标:
如果我们需要降维的目标维数是其他任意维,则:
PCA算法推理下面以基于最小投影距离为评价指标推理: 假设数据集是m个n维,TODO,且数据进行了中心化。经过投影变换得到新坐标为TODO,其中TODO是标准正交基,即TODO,TODO。经过降维后,新坐标为TODO,其中TODO是降维后的目标维数。样本点TODO在新坐标系下的投影为TODO,其中TODO是TODO在低维坐标系里第j维的坐标。如果用TODO去恢复TODO,则得到的恢复数据为TODO,其中TODO为标准正交基组成的矩阵。 考虑到整个样本集,样本点到这个超平面的距离足够近,目标变为最小化TODO。对此式进行推理,可得: TODO 在推导过程中,分别用到了TODO,矩阵转置公式TODO,TODO,TODO以及矩阵的迹,最后两步是将代数和转为矩阵形式。 由于TODO的每一个向量TODO是标准正交基,TODO是数据集的协方差矩阵,TODO是一个常量。最小化TODO又可等价于 TODO 利用拉格朗日函数可得到 TODO 对TODO求导,可得TODO,也即TODO。 是TODO个特征向量组成的矩阵, 为TODO的特征值。TODO即为我们想要的矩阵。 对于原始数据,只需要TODO,就可把原始数据集降维到最小投影距离的TODO维数据集。 基于最大投影方差的推导,这里就不再赘述,有兴趣的同仁可自行查阅资料。 PCA算法流程总结输入:TODO维样本集TODO,目标降维的维数TODO。 输出:降维后的新样本集TODO。 主要步骤如下:
PCA算法主要优缺点
|
|||||||
---|---|---|---|---|---|---|---|