0%

PCA降维与升维

PCA即主成分分析

PCA的实质就是转换坐标系,并且忽略掉一些不重要的坐标系。

  1. 先将矩阵$X$列标准化,即使得均值为0,设$X$是$m\times n$的矩阵
  2. 令$C=\frac{1}{m}X^TX$,因为均值为0,所以C也是协方差矩阵
  3. 对C求特征值D和特征向量V,特征值最大的代表该方向或者是该列含有的信息最多,也是方差最大
  4. 对D进行从大到小排序,V要与D对应:取排序后的前k行作为主成分P,贡献度就是D的前k个特征值之和与总的特征值比例
  5. U=PX就是降维后的矩阵

其中V的每一行,里面包含n个元素,这代表n个变量对这一行的贡献度第一行就是方差最大的,信息最多的。

我们如果对另外一个矩阵通过PCA降维后再进行拟合回归,我们是得到了U的系数,那如何得到X的系数呢?比如说要拟合M,即M=UL=X‘N=PXL=P(XL).

回归代数上面去,X和P其实可以看做两个坐标系,而且他们还是同维度坐标系,XL和N就是M在这两个坐标系下的对应值。而且我们除了N未知之外其余的全部已知,目的是求解N

结果很简单,这是一个欠定方程组,即变量多于方程个数,没有唯一解,又到了最朴素的地方:求解X’N=PXL,即求解Ax=b,X’=A and PXL=b and N=x。

之前的想法是通过一些特定的方法去求解$\min |Ax-b|_F^2$,也可以通过求解伪逆去求x。

为了简单起见,就直接通过伪逆求解了:$x=A^+b$

感想:学习这个是因为需要将PCA得到的U对应的参数进行升维到原空间里面,但是找了很多资料我发现没有人做这个东西,我刚开始以为很难,因为一直在针对参数进行升维,发现最后其实没法有一个标准的答案,因为本身就是欠定的,于是回归到了最基本的方法,这个是我没想到的。