一,主成分分析
principal components analysis, 研究如何提取一个向量的主成分,可用于数据压缩。
以向量为例:
我们希望对这些点进行有损 压缩。有损压缩表示我们使用更少的内存,但损失一些精度去存储这些点。我们希 望损失的精度尽可能少。
二,编解码函数
为了进一步简化,我们假设D的列向量都有单位范数,彼此正交。
和最小二乘类似,我们用平方L2范数表示距离:
把g(c)=Dc代入,化简得到
根据向量微分可以求出:
于是得到编码函数
即f和g都之和D有关,D称为编码矩阵
三,编码矩阵
我们的目标是PCA重构之和,和原始信息接近。
即每个x,和x尽量接近。
因为用相同的矩阵 D 对所有点进行解码,我们不能再孤立地看待每个点。反之,我们必须最小化所有维数和所有点上的误差矩阵的 Frobenius 范数:
首先看看最简单的情况,l = 1,在这种情况下,D 是一个列向量 d
将表示各点的向量堆叠成一个矩阵,记为 X
原问题可以重新表述为:
上式可以化简成
因为是对称矩阵,所以可以进一步求出,当d是的最大特征值对应的特征向量时,上式取到最大值。