彻底学会PCA3-最近重构性的推导


【系列文章】:
彻底学会PCA1-理解PCA原理
彻底学会PCA2-最大可分性的推导
彻底学会PCA3-最近重构性的推导

前言

这一篇文章主要讲解PCA的另外一种推导方式——最近重构性。这个系列的三篇文章的数学难度是渐进的,所以这一篇文章的数学要求也是最高的。这篇文章主要是我在学习《Deep Learning》的时候做的总结,因为涉及到大量的公式推导,在网页上书写公式太过繁琐,所以使用截图的方式给出。在必要的地方我会加上我自己的理解,希望可以帮助到你,欢迎与我通过邮箱进行交流。

最近重构性



这里解释一下这个线性代数微积分最优化问题。前面我们通过转置相乘的方式表示内积,即\(A\cdot A => A^TA\)所以这里可以粗略的将\(c^Tc\)理解成\(c^2\),然后对c求偏导数即可。


这里解释一下Frobenius范数和\(L_2\)范数之间的区别:\(L_2\)范数针对的是向量,其公式为 \[{\lVert x \rVert}_2 = \sqrt{ \sum_{i} x_i^2 } \]

Frobenius范数针对的是矩阵,含义类似\(L_2\)范数,其公式为:
\[{\lVert A \rVert}_F = \sqrt{ \sum_{i,j} A_{ij}^2 } \]

上图中为何优化条件可以转换为矩阵的迹(Tr),其实是用了下面这个公式: \[{\lVert A \rVert}_F = \sqrt{ Tr(A A^T) } \]


这里再解释一下为什么最后就能通过特征分解求得最优解。在之前我们需要先了解一下拉格朗日乘子法。读者们可以通过阅读【整理】深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件来了解。我们这里只需要用到其中的第二种情况: \[min -tr(W^TXX^TW)\] \[s.t. W^TW=1\] 上述问题等价于: \[min W^TXX^TW\] \[s.t. W^TW=1\] 可以得到拉格朗日函数: \[F(W,\lambda)=-W^TXX^TW + \lambda W^TW\] 对W求偏导数有: \[\begin{aligned}\frac{F(W,\lambda)}{\partial W} =\frac{-W^TXX^TW + \lambda W^TW}{\partial W} {}&= 0{}\\ -2XX^TW+2\lambda W &=0 \\ XX^TW &=\lambda W\end{aligned}\]
最后的这个式子正是特征值分解的式子!(\(Av = \lambda v\))所以我们只需要对协方差矩阵\(XX^T\)进行特征值分解(非方阵的时候使用奇异值分解),将求得的特征值排序,再去前k个特征值对应的特征向量,组成矩阵W,这就是我们PCA最终得到的解。

参考文献

《Deep learning》
《机器学习》周志华


分享博文


评论博文


Last one :   ML-AlphaGo Zero原理浅析

Next article :   彻底学会PCA2-最大可分性的推导