©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 科学空间
研究方向 | NLP、神经网络
上一篇文章中我们介绍了“伪逆”,它关系到给定矩阵 和 (或 )时优化目标 的最优解。这篇文章我们来关注 都不给出时的最优解,即
其中 。说白了,这就是要寻找矩阵 的“最优 秩近似(秩不超过 的最优近似)”。而要解决这个问题,就需要请出大名鼎鼎的 “SVD(奇异值分解)”了。虽然本系列把伪逆作为开篇,但它的“名声”远不如 SVD,听过甚至用过 SVD 但没听说过伪逆的应该大有人在,包括笔者也是先了解 SVD 后才看到伪逆。
接下来,我们将围绕着矩阵的最优低秩近似来展开介绍 SVD。
结论初探
对于任意矩阵 ,都可以找到如下形式的奇异值分解(SVD,Singular Value Decomposition):
其中 都是正交矩阵, 是非负对角矩阵:
对角线元素默认从大到小排序,即 ,这些对角线元素就称为奇异值(Singular Value)。从数值计算角度看,我们可以只保留 中非零元素,将 的大小降低到 ( 是 的秩),保留完整的正交矩阵则更便于理论分析。
SVD 对于复矩阵同样成立,但需要将正交矩阵改为酉矩阵,转置改为共轭转置,但这里我们主要聚焦于跟机器学习关系更为密切的实矩阵结果。SVD 的基础理论包括存在性、计算方法以及它与最优低秩近似的联系等,这些内容笔者后面都会给出自己的理解。
在二维平面下,SVD 有非常直观的几何意义。二维的正交矩阵主要就是旋转(还有反射,但几何直观的话可以不那么严谨),所以 意味着任何对(列)向量 的线性变换,都可以分解为旋转、拉伸、旋转三个步骤,如下图所示:
▲ SVD的几何意义
一些应用
不管是理论分析还是数值计算,SVD 都有非常广泛的应用,其背后的原理之一是常用的矩阵/向量范数对正交变换具有不变性,所以 SVD 左右两个正交矩阵夹着中间一个对角矩阵的特点,往往能用来将很多矩阵相关的优化目标转换为等价的非负对角矩阵特例,起到简化问题的作用。
伪逆通解
以伪逆为例,当 的秩为 时,我们有:
上一篇文章我们通过求导得出了 的表达式,然后又花了一些心思推广到 的秩小于 的情形。但如果引入 SVD 的话,那么问题就简化得多了。我们可以将 分解为 ,然后将 表示成 ,注意我们没有规定 是对角阵,所以 总是可以做到的,于是: