低秩近似之路二SVD
低秩近似之路(二):SVD
Author: [苏剑林]
Link: [https://zhuanlan.zhihu.com/p/2957340022]
最佳排版请看原博客:
低秩近似之路(二):SVD - 科学空间|Scientific Spaces (opens new window)上一篇文章中我们介绍了“https://kexue.fm/archives/10366 (opens new window)”,它关系到给定矩阵
其中
接下来,我们将围绕着矩阵的最优低秩近似来展开介绍SVD。
结论初探
对于任意矩阵
对角线元素默认从大到小排序,即
SVD对于复矩阵同样成立,但需要将正交矩阵改为酉矩阵,转置改为共轭转置,但这里我们主要聚焦于跟机器学习关系更为密切的实矩阵结果。SVD的基础理论包括存在性、计算方法以及它与最优低秩近似的联系等,这些内容笔者后面都会给出自己的理解。
在二维平面下,SVD有非常直观的几何意义。二维的正交矩阵主要就是旋转(还有反射,但几何直观的话可以不那么严谨),所以
一些应用
不管是理论分析还是数值计算,SVD都有非常广泛的应用,其背后的原理之一是常用的矩阵/向量范数对正交变换具有不变性,所以SVD左右两个正交矩阵夹着中间一个对角矩阵的特点,往往能用来将很多矩阵相关的优化目标转换为等价的非负对角矩阵特例,起到简化问题的作用。
伪逆通解
以伪逆为例,当
上一篇文章我们通过求导得出了
最后一个等号是基于我们上一篇文章证明过的结论“正交变换不改变
这里的切片就按照Python数组的规则来理解。从最后的形式可以看出,要使得
可以进一步证明这个结果也适用于秩小于
矩阵范数
利用正交变换不改变
也就是说奇异值的平方和等于
注意等号右端出现的范数都是向量的范数(模长,
第二个等号正是利用了正交矩阵不改变向量范数的特点。现在我们相当于将问题简化成为对角阵
所以
低秩近似
最后我们再回到本文的主题最优低秩近似,也就是目标
注意
在https://kexue.fm/archives/10226 (opens new window)中我们用同样思路求解过一个类似的优化问题:
利用SVD和正交变换不改变
这就将原本一般矩阵
理论基础
肯定了SVD的作用后,我们就需要补充一些理论证明了。首先要确保SVD的存在性,其次要找出至少一种计算方案,这样SVD的各种应用才算是切实可行的,接下来我们将用同一个过程把这两个问题一起解决掉。
谱之定理
在此之前,我们需要先引入一个“谱定理”,它既可以说是SVD的特例,也可以说是SVD的基础:
谱定理 对于任意实对称矩阵
,都存在谱分解(也称特征值分解) 其中 , 正交矩阵, 对角矩阵。
说白了,谱定理就是断言任何实对称矩阵都可以被正交矩阵对角化,这基于如下两点性质:
1、实对称矩阵的特征值和特征向量都是实的; 2、实对称矩阵不同特征值对应的特征向量是正交的。
这两点性质的证明其实很简单,这里就不展开了。基于这两点我们可以立马得出,如果实对称矩阵
其中
为什么这样说呢?从数值角度看,两个实数绝对相等的概率几乎为零,所以根本不需要考虑特征值相等的情形;用更数学的话说,那就是特征值不等的实矩阵在全体实矩阵中稠密,所以我们总可以找到一簇矩阵
数学归纳
不幸的是,上面这段话只能作为一个直观但不严谨的理解方式,因为将这段话转化为严格的证明还是很困难的。事实上,严格证明谱定理的最简单方法可能是数学归纳法,即在任意
证明的关键思路是将
注意到
也就是说
奇异分解
至此,所有准备工作都已经就绪,我们可以正式证明SVD的存在性,并给出一个实际计算的方案。
上一节我们引入了谱分解,不难发现它跟SVD的相似性,但也有两点明显区别:1、谱分解只适用于实对称矩阵,SVD适用于任意实矩阵;2、SVD的对角阵
注意到
解决问题的关键是只对
可以验证
这里约定切片的优先级高于转置、求逆等矩阵运算,即
注意
这表明
近似定理
最后,别忘了我们的最终目标是开始的优化问题
如果
SVD为 ,那么 最优 近似为 。
这称为“Eckart-Young-Mirsky定理”。在介绍SVD应用的“https://zhuanlan.zhihu.com/p/2957340022/edit#低秩近似(opens new window) ”一节中,我们表明通过SVD可以将一般矩阵的最优
可能有读者认为“这难道不是显然成立吗?”,但事实是虽然结论很符合直觉,但它确实不是显然成立的。下面我们就聚焦于求解:
其中
设矩阵
由伪逆的计算公式知
现在根据
注意到
也就是说,
值得指出的是,Eckart-Young-Mirsky定理不仅对
文章小结
本文的主角是声名显赫的SVD(奇异值分解),想必不少读者已经对它有所了解。在这篇文章中,我们主要围绕着SVD与低秩近似的相关内容进行展开,对SVD的存在性、计算以及与低秩近似的联系等理论内容给出了尽可能简单的证明过程。