机器学习(十):PCA

来源:互联网 发布:企业qq for mac版 编辑:程序博客网 时间:2024/05/29 19:19

1. PCA

1.1 PCA算法

为什么要使用主成分分析?正如名字所示,其目的显而易见,不再赘述,此处从自动编码器的角度审视PCA。
这里写图片描述
最小化如下损失函数:

C=12mi=1m||y(i)WWTx(i)||2
根据WWT的对称性,我们使用eigen-decompose:
WWT=VDVT
其中V是单位正交阵,D是对角矩阵,都是d*d维,VVT=ID中的非零值小于d¯个。

我们可以从物理意义上来解析h(x)到底干了什么:

  1. VTx首先对x进行坐标变换。此处V是d*d维,x是d维,所以此处对应的是将向量x旋转;
  2. D(VTx),因为D中非零值小于d¯个,所以其作用是将(dd¯个分量设为0,其余分量进行scale。
  3. V(DVTx)将上述操作后的变量变回原来的坐标系,此处对应的是将向量旋转回来。

||yWWT||2=||VIVTxVDVTx||2=[V(IVTxDVTx)]T[V(IVTxDVTx)]=(IVTxDVTx)T(IVTxDVTx)=||(ID)VTx||2
那么我们的问题变成:
minVminD12mi=1m||(ID)VTx(i)||2

首先对内层最小化,很明显ID中的0越多越好:
这里写图片描述

接下来我们就外层进行最小化,很明显
这里写图片描述

假设d¯=1,则VT只会保留下第一行vT,则有

maxvi=1mvTx(i)x(i)Tv  s.t.vTv=1

如何求解?令
J=vTXTXvλ(vTv1)
令偏微分等于0,有
XTXv=λv
此时有
maxvvTXTXv=λ

什么意思呢?我们只要对XTX进行特征分解即可。
这里写图片描述
这里写图片描述

1.2 PCA使用注意事项

这里写图片描述
如果输入的多个维度数值不在同一尺度下,那么可以先将数值都变换到同一尺度。

如何选择d¯
这里写图片描述

一定要记住,不要过早地使用PCA。
这里写图片描述

0 0
原创粉丝点击