PCA两种推导方式

PCA的推导:基于最小投影距离?

m个n维数据\((x^1,x^2,...,x^m)\),都已经中心化\(\sum\limits_{i=1}^mx^i=0\) \(X=\begin{pmatrix} x_1^1&x_1^2&\cdots&x_1^m\\ x_2^1&x_2^2&\cdots&x_2^m \\\vdots\\x_n^1&x_n^2&\cdots&x_n^m \end{pmatrix}\)

\(x^1代表第一个数据点的原始坐标\)

投影变换后的新坐标系为\(\{w_1,w_2,...,w_n\}\),\(w\)为标准正交基,相当于一个新基,\(||w||_2=1,w_i^Tw_j=0\)

从基变换角度,有如下变换\(WZ=X\),由于\(W\)是正交矩阵,\(W^T=W^{-1}\),所以\(Z=W^TX\)

则有如下变换\(Z=W^TX=\begin{pmatrix} w_1^T\\w_2^T\\\vdots\\w_n^T \end{pmatrix}_{n\times n}\begin{pmatrix} x_1^1&x_1^2&\cdots&x_1^m\\ x_2^1&x_2^2&\cdots&x_2^m \\\vdots\\x_n^1&x_n^2&\cdots&x_n^m \end{pmatrix}_{n\times m}=\begin{pmatrix} w_1^Tx^1 & w_1^T x^2 &\cdots &w_1^Tx^m \\ w_2^Tx^1 & w_2^T x^2 &\cdots &w_2^Tx^m\\ \vdots \\ w_n^Tx^1 & w_n^T x^2 &\cdots &w_n^Tx^m\end{pmatrix}\)

\(\begin{pmatrix} z^1,z^2,..,z^m \end{pmatrix}_{n\times m}\)=\(\begin{pmatrix} z_1^1&z_1^2&\cdots&z_1^m\\ z_2^1&z_2^2&\cdots&z_2^m \\\vdots\\z_n^1&x_n^2&\cdots&z_n^m \end{pmatrix}_{n\times m}\)

\(z_j^i=w_j^Tx^i\)

\(z^i\)恢复原始数据\(x^i\),从基变换不降维中已经知道了\(WZ=X\),即\(\begin{pmatrix} w_1&w_2&\cdots&w_{n} \end{pmatrix}_{n\times n} \begin{pmatrix} z^1&z^2&\cdots&z^m \end{pmatrix}_{n\times m}=\begin{pmatrix} x^1&x^2&\cdots&x^m \end{pmatrix}_{n\times m}\)

对第i个样本来说,恢复的原始数据记为\(\bar{x}^i\)

\(\begin{pmatrix} w_{11}z_1^i+w_{12}z_2^i+\cdots+w_{1n}z_n^i\\ w_{21}z_1^i+w_{22}z_2^i+\cdots+w_{2n}z_n^i\\ \vdots \\ w_{n1}z_1^i+w_{n2}z_2^i+\cdots+w_{nn}z_n^i\end{pmatrix}=\begin{pmatrix} \bar{x}_1^i \\\bar{x}_2^i\\\vdots \\ \bar{x}_n^i\\ \end{pmatrix}=\begin{pmatrix} w_{11}z_1^i\\w_{21}z_1^i\\ \vdots \\ w_{n1}z_1^i\\ \end{pmatrix}+\begin{pmatrix} w_{12}z_2^i\\w_{22}z_2^i\\ \vdots \\ w_{n2}z_2^i\\ \end{pmatrix}+\cdots + \begin{pmatrix} w_{1n}z_n^i\\w_{2n}z_n^i\\ \vdots \\ w_{nn}z_n^i\\ \end{pmatrix}\)

\(=w_1z_1^i+w_2z_2^i+\cdots+w_nz_n^i=\sum\limits_{j=1}^nw_jz_j^i\)


如果将数据从\(n\)维降到\(n'\)维,即丢弃新坐标系中的部分坐标,则新坐标系为\(\{w_1,w_2,...,w_{n'}\}\)

样本点\(x^i\)的在\(n'\)维坐标系的投影为\(z^i=(z_1^i,z_2^i,...,z_{n'}^i)^T=\begin{pmatrix} z_1^i\\z_2^i\\ \vdots \\ z_{n'}^i \end{pmatrix}\)

同样用\(z^i\)来恢复原始数据\(x^i\),则\(\bar{x}^i=\sum\limits_{j=1}^{n'}z_j^ix^i=Wz^i\)

由于维度\(n'<n\),则\(\bar{x}^i>\sum\limits_{j=1}^{n'}z_j^ix^i\)


前面的\(WZ\),相当于是正交基中的数据坐标转化为原始数据坐标,因为正交基维度是小于原始维度的(降维了),所以转化为原始坐标时有了信息损失,降维原则是尽可能使这些损失较小,等价于样本到降维后的超平面距离最小

\(min \quad \sum\limits_{i=1}^m||\bar{x}^i-x^i||_2^2\)

\(\sum\limits_{i=1}^m||\bar{x}^i-x^i||_2^2=\sum\limits_{i=1}^{m}\left\|W z^{(i)}-x^{(i)}\right\|_{2}^{2}\)

\(\begin{aligned} &\begin{array}{l} =\sum\limits_{i=1}^{m}\left(W z^{(i)}\right)^{T}\left(W z^{(i)}\right)-2 \sum\limits_{i=1}^{m}\left(W z^{(i)}\right)^{T} x^{(i)}+\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)} \quad (2)\\ =\sum\limits_{i=1}^{m} z^{(i) T} z^{(i)}-2 \sum\limits_{i=1}^{m} z^{(i) T} W^{T} x^{(i)}+\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)} \quad (3)\\ =\sum\limits_{i=1}^{m} z^{(i) T} z^{(i)}-2 \sum\limits_{i=1}^{m} z^{(i) T} z^{(i)}+\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)} \quad (4) \end{array} \\ &=-\sum\limits_{i=1}^{m} z^{(i) T} z^{(i)}+\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)} \quad (5)\\ &=-\operatorname{tr}\left(W^{T}\left(\sum\limits_{i=1}^{m} x^{(i)} x^{(i) T}\right) W\right)+\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)} \quad (6)\\ &=-\operatorname{tr}\left(W^{T} X X^{T} W\right)+\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)} \quad (7) \end{aligned}\)

第5步到第6步中

\(z^i=W^Tx^i\)

\(z^{iT}z^i=tr(z^{iT}z^i),因为z^{iT}z^i为一个常数,tr(常数)=常数\)

\(z^i\)是变换出来的,所以这个常量是会变的(才会有求极值)

\(tr(AB)=tr(BA)\)

可推出

\(-\sum\limits_{i=1}^mz^{iT}z^i=-\sum\limits_{i=1}^mtr(z^{iT}z^i)=-\sum\limits_{i=1}^m tr(x^{iT}WW^Tx^i)= \\-\sum\limits_{i=1}^m tr(W^Tx^ix^{iT}W)=-tr(W^T(\sum\limits_{i=1}^mx^ix^{iT})W)=-tr(W^TXX^TW)\)

在式子(7)中,\(\sum\limits_{i=1}^{m} x^{(i) T} x^{(i)}\)为常数,\(\sum\limits_{i=1}^m x^ix^{iT}=\Sigma\)为X的样本协方差矩阵

最小化(7)式等价于:

\(argmin \quad -tr(W^TXX^TW)\\s.t.\quad W^TW=I\)

求导使用到迹的求导公式:\(\large \frac{\partial \ tr(X^TX)}{\partial X}=2X,\frac{\partial \ tr(X^TBX)}{\partial X}=BX+B^TX\)

利用拉格朗日乘子法:

\(J(W)=-tr(W^TXX^TW+\lambda(W^TW-I))\)

\(\frac{\partial J}{\partial W}=-[(XX^T)W+(X^TX)W+2\lambda W]=0 \\ =2XX^TW+2\lambda W=0\)

​ 即\(XX^TW=(-\lambda)W\)

\(XX^T\)看成是一个变换矩阵,则W是该矩阵的\(n'\)个特征向量组成的矩阵,\(-\lambda\)\(XX^T\)若干特征值组成的矩阵,对角线是特征值,其余为0

PCA的推导:基于最大投影方差?

和上面一样,一个样本\(x^i\)在新坐标系中投影为\(z^i = W^Tx^i\),样本协方差矩阵为\(\Sigma = \frac{1}{m-1} \sum\limits_{i=1}^mz^iz^{iT}\)

前面的常数不影响计算结果,则协方差矩阵写为\(\Sigma = \sum\limits_{i=1}^mz^iz^{iT}= \sum\limits_{i=1}^m W^Tx^ix^{iT}W\)

使投影方差和最大,就是最大化迹:

\(argmax \quad tr(W^TXX^TW)\\ s.t.W^TW=I\)

这个目标和基于最小投影距离的目标一致,对\(W\)求导,结果即为\(XX^TW=(-\lambda)W\)

posted @ 2020-05-22 21:06  yueqiudian  阅读(1075)  评论(0编辑  收藏  举报