PCA
总述
我们假设把原数据中心化处理之后为
,总共有m个样本,每个样本有n个特征。每一个样本为
, 中心化后的数据,均值为
,协方差矩阵为
PCA(principle component analysis) 是一种降低数据维度的方法。接下来我分别用四种方法来推导一下(方法之间相互等价)。
最大方差法
我们通过方差来度量数据内的信息量,我们可以看到,如果将数据投影到某个方向,比如方向1,或者方向2,当投影后的数据尽可能分散的时候,也就是方差尽可能大的时候,保留的信息量是最大的,因此方向1是更好的。
于是,我们的问题就变成了:在多维空间下,如何选择一个最优的方向,来让投影之后的数据保留最多的信息量。于是我们假设这个方向的单位方向向量是
,在多维空间下投影之后的数据为
所以方差变为
于是我们求解的最优化的问题就是,如何使
利用拉格朗日乘子法求得
因此
就是S的特征值,而
就是对应的特征向量,
就是主成分。
最小距离法
还是上图的例子,我们希望找到一个方向,让点到投影点的距离最小,损失的信息最少。所以还是方向1更好一些,于是问题变成了
所以等价于
所以和上述方法其实是等价的。
最小协方差法(kl变换)
在通过坐标变换之后,即对原始数据进行线性变换后,尽量使得变换后的协方差矩阵
对角化(即使得除矩阵D对角线外的元素都为0)。这样根据协方差矩阵的性质,可以使得变化后,不同特征之间的相关系数最小,尽量不相关。
而这时我们会发现变换后的对角矩阵D对角线其实是S的特征值(根据线性代数的知识),而P则是由对应的特征向量组成。于是就需要我们对S进行特征值分解
或者对X进行SVD(也可以使S对角化)
基于线性回归的思想
考虑线性回归模型
我们考虑对X做一个变换,假设
是
的特征值,
是对应的标准正交化特征向量,我们设
模型就会变为
我们就可以发现
, 每一个特征值
都对应第i个主成分的方差是多少,即在0左右的变动有多少。所以当一些特征之间存在一些线性关系的时候,
就会有一些很小的特征值。在这种情况下,我们如果舍去后几个主成分的话,误差也不会太大。
而且在一定条件下,这种方法可能会比普通的最小二乘估计的均方误差更小。
(其实这种方法就是应用最大方差法结论反推,然后从代数方法解释了一下。)
。。。就随便写写,之后继续完善吧。。。