百科问答小站 logo
百科问答小站 font logo



人们是如何想到奇异值分解的? 第1页

  

user avatar   zheng-zhu-76 网友的相关建议: 
      

研究奇异值分解的动机和其应用确实是两个不同的问题。估计大家对奇异值分解的应用更感兴趣一点,这个问题不会有多少人关注。不过这是个好问题,值得认真回答一下。

人们研究矩阵分解有两类动机。一类是为了求解线性方程组

这类矩阵分解有LU分解(高斯消去法),Cholesky分解,QR分解(Gram-Schmidt正交化过程)等等,本质上是为了更方便更稳定的求解矩阵A的逆

另外一类是为了研究双线性形式(bilinear form)

其中 , 和 是两个向量空间, 是一个数域。这类矩阵分解有Jordan分解,Schur三角分解,特征值分解,奇异值分解等等。研究双线性形式的目的之一是为了寻找标准型(canonical form)。我们分别从 和 中找到一组标准正交基 和 ,那么任意向量 和 就可以用基下的坐标来表示:

那么

令 。如果我们能找到一组 和 ,使得 尽可能结构简单(对角矩阵,上三角矩阵,块对角矩阵),那么我们就可以称 为标准型。奇异值分解,就可以从研究双线性形式的极值问题中得到

记上述等式约束的极大值优化问题为(1)式。我们写出它的KKT条件:

记上式为(2)。则我们可以得到最大值为

同理

所以 。

联立(2)式中的两个等式为线性方程组形式

记上式为(3)。我们需要找(3)的非零解,这说明系数矩阵必然奇异,也就是说其行列式为0

记上式多项式为(4)。假设 是多项式的一个根,则我们可以带入(3)式中,找到一组解

现在把 和 这两个单位向量分别扩充成向量空间 和 的一组标准正交基(用Gram-Schmidt正交化过程就可以实现):

那么向量空间 和 中任意的向量都可以用 和 下的坐标分别表示:

并且双线性形式和(2)式也可以相应表示成

记上式为(5)。我们想知道新双线性形式中 的结构。注意到

把 , 和 带入(5)式中可以得到

这说明 的第一行和第一列只有第(1,1)个元素是非零元

因此

对矩阵 不断重复上面这个过程,最终可以得到一个对角矩阵 ,使得 。

上述这个推导过程是由Camille Jordan提出的(我稍微修改了部分),他和Eugenio Beltrami各自独立的对奇异值分解作出开创性的研究工作。除了这两位数学家之外,Sylvester,Schmidt和Weyl也各自对奇异值分解进行研究。后两位数学家是从积分方程的角度研究,奇异值这个词实际上是从积分中得名的。Sylvester最早是把奇异值称为标准乘子(canonical multipliers),也就是标准型上的对角元素。其他的推导方式参考最后文献。

数学家为什么会对标准型的研究如此热衷呢?原因之一我们对数学结构中的不变量很感兴趣,而标准型则是在保持不变量的前提下,将形式化归为最简。如果我们能得知一个矩阵 的奇异值分解,那么 和 的核空间(null space)和像空间(range space)都可以非常容易被表示出来,给关于矩阵的理论分析带来极大的便利。并且,在实际数值计算上,存在高效稳定的算法,用来进行奇异值分解。这一点要归功于数学家Gene Golub在40多年前的伟大工作。


郑宁:奇异值的物理意义是什么?


参考文献:G. W. Stewart, On the Early History of the Singular Value Decomposition,SIAM Rev., 35(4), 551–566.


user avatar   zhang-san-5-26-12 网友的相关建议: 
      

这篇回答节选自我在专栏《机器学习中的数学:线性代数》中的一篇文章,我们一起来谈谈奇异值分解的来龙去脉。

欢迎关注我的知乎账号 @石溪 ,将持续发布机器学习数学基础及算法应用等方面的精彩内容。

1.再谈特征值分解的几何意义

在介绍奇异值分解(SVD)之前,我们先回顾一下特征值分解的几何意义。

1.1.分解过程回顾

我们最开始获得的是一组原始的 数据样本矩阵 ,其中, 表示特征的个数, 表示样本的个数。通过与自身转置相乘: 得到了样本特征的 阶协方差矩阵 ,通过求取协方差矩阵 的一组标准正交特征向量 以及对应的特征值 。

我们这里处理的就是协方差矩阵 ,对 进行特征值分解,将矩阵分解成了 。

最终,我们选取前 个特征向量构成数据压缩矩阵 的各行,通过 达到数据压缩的目的。

1.2.几何意义剖析

以上是回顾之前的内容,不难发现,为了完成矩阵的特征值分解,最最关键还是要回归到这个基本性质上来: 。

我们为什么又提这个呢?结合主成分分析的推导过程我们知道,协方差矩阵 之所以能够分解,是因为在原始空间 中,我们原本默认是用 这组默认基向量来表示我们空间中的任意一个向量 ,如果我们采用基变换,将 用 这组标准正交基来表示后, 的乘法运算就变得很简单了,只需要在各个基向量的方向上对应伸长 倍即可,如图1所示:

实际上,我们之前也重点分析过,因为协方差矩阵具备对称性、正定性,保证了他可以被对角化,并且特征值一定为正,从而使得特征值分解的过程一定能够顺利完成。

因此利用特征值分解进行主成分分析,核心就是获取协方差矩阵,然后对其进行矩阵分解,获得一组特征值和其对应的方向。

2.从 入手奇异值分解

但是,如果我们不进行协方差矩阵 的求取,绕开它直接对原始的数据采样矩阵 进行矩阵分解,从而进行降维操作,行不行?

如果继续沿用上面的办法,显然是不行的,特征值分解对矩阵的要求很严,首先得是一个方阵,其次在方阵的基础上,还得满足可对角化的要求。但是原始的 数据采样矩阵 连方阵这个最基本的条件都不满足,是根本无法进行特征值分解的。

找不到类似 的核心等式了,岂不是无能为力了?怎料,天无绝人之路,这里,我首先给大家介绍一个对于任意 矩阵的更具普遍意义的一般性质:

对于一个 ,秩为$r$的矩阵 ,这里我们暂且假设 ,于是就有 的不等关系。我们在 空间中一定可以找到一组标准正交向量 ,在 空间中一定可以找到另一组标准正交向量 ,使之满足 组相等关系: ,其中( 取 ~ )。

,这个等式非常神奇,我们仔细的揭开里面的迷雾,展现他的精彩之处:

矩阵 是一个 的矩阵,他所表示的线性变换是将 维原空间中的向量映射到更高维的 维目标空间中,而 这个等式意味着,在原空间中找到一组新的标准正交向量 ,在目标空间中存在着对应的一组标准正交向量 ,此时 与 线性无关。当矩阵 作用在原空间上的某个基向量 上时,其线性变换的结果就是:对应在目标空间中的 向量沿着自身方向伸长 倍,并且任意一对 向量都满足这种关系(显然特征值分解是这里的一种特殊情况,即两组标准正交基向量相等)。如图2所示:


在 的基础上,我们明白该如何往下走了:

,转换成:

关注 @石溪 知乎账号,分享更多机器学习数学基础精彩内容。

3.着手尝试分解

此时感觉还差一点,因为我们发现 并没有包含在式子里,我们把他们加进去,把 加到矩阵右侧,形成完整的 阶方阵 ,在对角矩阵下方加上 个全零行,形成 的矩阵 ,很明显由于 矩阵最下面的 行全零,因此右侧的计算结果不变,等式依然成立。

此时就有: ,由于 的各列是标准正交向量,因此 ,移到等式右侧,得到了一个矩阵分解的式子:

,其中 和 是由标准正交向量构成的 阶和 阶方阵,而 是一个 的对角矩阵(注意,不是方阵)。

4.分析分解过程中的细节

从大的框架宏观来看,这个结论非常漂亮,在原空间和目标空间中各找一组标准正交基,就轻轻松松的把对角化的一系列要求轻松化解。直接得到了数据采样矩阵 的矩阵分解形式。

但是此时还有一个最关键的地方似乎没有明确:就是方阵 和方阵 该如何取得,以及 矩阵中的各个值应该为多少,我们借助在对称矩阵那一节中储备的基础知识来一一化解。

我们还是从 式子入手。首先,获取转置矩阵 ,我们在此基础上可以获取两个对称矩阵:

第一个对称矩阵是: ,由于 的各列是标准正交向量,因此 ,式子最终化简为了: 。

同理,第二个对称矩阵: 。

这里我们结合对称矩阵那一节中的一个重要结论,揭示一下这里面的所有细节: 是 阶对称方阵, 是 阶对称方阵。他们的秩相等,为 。因此他们拥有完全相同的 个非零特征值,从大到小排列为: ,两个对称矩阵的剩余 个和 个特征值为 。这进一步也印证了 和 对角线上的非零特征值是完全一样的。

同时,由对称矩阵的性质可知: 一定含有 个标准正交特征向量,对应特征值从大到小的顺序排列为: ,而 也一定含有 个标准正交特征向量,对应特征值从大到小依次排列为 。这里的 和 一一对应。

对应的 矩阵也很好求,求出 或 的非零特征值,从大到小排列为: , 矩阵中对角线上的非零值 则依次为: 。因此, 矩阵对角线上 以后的元素均为 了。

整个推导分析过程结束,我们隐去零特征值,最终得到了最完美的SVD分解结果:

,这里 。


我们用一个抽象图来示意一下分解的结果,有助于大家加深印象,如图3所示:

由此,我们顺利的得到了任意 矩阵 的SVD分解形式。

此内容节选自我的CSDN课程专栏《机器学习中的数学:线性代数》,前三节可免费试读,欢迎订阅!

当然还有《机器学习中的数学-全集》系列专栏,欢迎大家阅读,配合食用,效果更佳~

有订阅的问题可咨询微信:zhangyumeng0422




  

相关话题

  编写基于机器学习的程序,有哪些编写和调试的经验和窍门? 
  深度学习应用在哪些领域让你觉得「我去,这也能行!」? 
  线性代数对于计算机专业的作用是什么呢? 
  在中小学阶段设置人工智能相关课程对于培养人工智能人才具有哪些意义?如何推进会比较有效? 
  皮尔逊系数为什么要中心化?中心化之后有什么好处? 
  年轻人为什么要做期货? 
  多任务学习成功的原因是引入了别的数据库还是多任务框架本身呢? 
  如何评价中国人民大学高瓴人工智能学院教授的薪酬标准? 
  机器学习的理论方向 PhD 是否真的会接触那么多现代数学(黎曼几何、代数拓扑之类)? 
  如何理解Inductive bias? 

前一个讨论
数系从有理数扩充为实数的跨越有无产生一些问题?
下一个讨论
哪些学校的校歌很好听?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利