主成分分析和二次正则化PCA

简介

主成分分析在信号处理中有着极其重要的作用,这里分析的主成分分析和机器学习中PCA降维略有差别,但是其实两者的实质是一样的。这篇博客会从矩阵理论的角度对主成分分析做一个细致的介绍。

PCA 模型

PCA在矩阵问题中的最初模型是找到秩为k的矩阵$Z$来近似矩阵$A$。优化模型如下:
$$ \text{minimize} \quad ||A-Z||_F^2 \\
\text{subject to} \quad rank(Z) \leq k$$
这里假设矩阵$Z$的大小是$Z\in R^{m \times n}$。由于$Z$的秩是小于等于k的,所以可以令$Z=XY$,其中$X\in R^{m \times k}$,$Y\in R^{k \times n}$(为了简便直接令$rank(Z)=k$)。那么模型转化为$$\text{minimize} \quad ||A-XY||_F^2 = ||\Sigma-U^{T}XYV||_F^2$$,所以可以直接求解得到$XY=U\Sigma_k V^{T}$,然后让$X=U_k\Sigma_k^{1/2}$,$Y=\Sigma_k^{1/2} V_k^{T}$。很显然$X$,$Y$的解不是唯一的。例如它们的取值还可以是$X=U_k\Sigma_k^{1/2}G_k$,$Y=G_k^{-1}\Sigma_k^{1/2} V_k^{T}$。

二次正则化PCA

为了对矩阵$X$和$Y$进行一定的约束,在目标函数中加上了二次正则项。这时求解过程会变得相对复杂些。我们首先看优化模型:
$$\text{minimize} ||A-XY||_F^2+r||X||_F^2+r||Y||_F^2$$
当然,$X\in R^{m \times k}$,$Y\in R^{k \times n}$。目标函数是一个二范数的凸函数,通过直接求导得出最小值。对$X$和$Y$的求导结果分别如下:
$$(XY-A)Y^{T} + rX=0, (XY-A)^{T}X + rY^{T} = 0$$其中的求导过程要用到矩阵迹的求导公式,$$||A||_F^2 = \sqrt{tr(A^{T}A)}$$
$$\frac{\partial}{X}Tr(B^{T}X^{T}CXB)=C^{T}XBB^{T}+CXBB^{T}$$
$$\frac{\partial}{X}Tr(AXB)=A^{T}B^{T} \quad \frac{\partial}{X}Tr(AX^{T}B)=BA$$
化简求导结果,我们可以得到如下等式,其中左边的等式乘以了$X^{T}$,右边等式乘以了$Y$。
$$X^{T}(A-XY)Y^{T}=rX^{T}X \quad Y(A-XY)^{T}X=rYY^{T}$$,所以$XX^{T}=Y^{T}Y$。利用上述结论重写我们的优化条件就是:
$$\left[
\begin{array}{cc}
-rI \quad A\\
A^{T} \quad -rI
\end{array}
\right] \left[
\begin{array}{c}
X\\
Y^{T}
\end{array}
\right] =
\left[
\begin{array}{c}
X\\
Y^{T}
\end{array}
\right] (X^{T}X)
$$
矩阵$X^{T}X$和矩阵$\left[
\begin{array}{cc}
-rI \quad A\\
A^{T} \quad -rI
\end{array}
\right]$有相同的特征值(注意是包含于的关系),并且特征向量张成的空间等于$\left[
\begin{array}{c}
X\\
Y^{T}
\end{array}
\right]$的子空间。假设$A=U\Sigma V$,那么矩阵$\left[
\begin{array}{cc}
-rI \quad A\\
A^{T} \quad -rI
\end{array}
\right]$ 的特征值为$-r\pm \sigma_i$,因为矩阵$X^{T}X$的特征值非负,所以其特征值为$-r+ \sigma_i(\sigma_i \geq r)$,对应的特征向量为
$\left[
\begin{array}{c}
u_i\\
v_i
\end{array}
\right]$。由于特征向量张成的空间等于$\left[
\begin{array}{c}
X\\
Y^{T}
\end{array}
\right]$的子空间。所以可以令$X=U_k(\Sigma_k - rI)^{\frac{1}{2}}$, $Y=(\Sigma_k - rI)^{\frac{1}{2}}V_k$,注意此时的$k$并不是前$k$个奇异值的含义,而是表示在正奇异值的集合中取出$k$个值。当然最后的结论肯定是前$k$个奇异值,只需要把我们的$X$和$Y$重新代入到目标函数中,就可以发现该结论。

总结

这篇博客从矩阵分析的角度对PCA和二次正则化PCA作了简单的介绍,里面涉及到的矩阵理论知识较多,但也总算写完了,并给出了不太好的理解。博客参考了论文《Generalized Low Rank Models》。若有错误,欢迎讨论。该博客欢迎分享,转载,但请声明出处,严禁抄袭,仅用于学习。

坚持原创技术分享,您的money将鼓励我继续创作!