数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 3872|回复: 0

SVD分解为什么一定要有一个完整版分解存在?

[复制链接]
发表于 2022-1-24 21:30 | 显示全部楼层 |阅读模式
本帖最后由 wufaxian 于 2022-1-24 22:28 编辑

假设矩阵A是mxn的矩阵,为简单期间假设m大于等于n,A的秩是r。
于是A\(v_1\)=\(\sigma\)\(u_1\)     \(v_1\)是A行空间的n维向量,一共有r个正交,\(u_1\)是A列空间的m维向量,一共有r个正交独立的向量。
这样有AV=U\(\Sigma\)  按说这里r个v向量经过A变换最多产生r个m维向量u。但是很奇怪后面的U变成了m个m维向量的矩阵
V是一个nxr的矩阵,其中有r个正交基。U应该是mxn的矩阵,其中有r个正交基。

\(A^{T}A\) 是nxn 秩是r的实对称矩阵。于是AV=U\(\Sigma\)  代入\(A^{T}A\) 可以得到\(\left( U\Sigma V^T\right)^T\left( U\Sigma V^T\right)=V\Sigma^T\Sigma V^T\)
因为\(A^{T}A\) 是nxn 秩是r的实对称矩阵,所以\(\Sigma^{2}\)是nxn对角阵,其中对角线上是\(A^{T}A\) 的特征值,有r个大于零的特征值。V是nxn的矩阵,其中有r个正交基。

同理\(AA^{T}\)是mxm的实对称矩阵,于是AV=U\(\Sigma\)代入\(AA^{T}\)可以得到\(U\Sigma^T\Sigma U^{T}\) 。因为\(AA^{T}\)是mxm的实对称矩阵,所以\(\Sigma^{2}\)应该是mxm的对角阵,其中对角线上是\(AA^{T}\)的特征值,有r个大于零的特征值。而U应该是一个mxm的方阵,其中有r个正交基。


问题:
1、以上已经出现了前后矛盾,一开始U是mxr的矩阵。后来又变成了mxm的方阵。从推导顺序来看,U里面的向量追本溯源应该来自与第一段落,A\(v_1\)=\(\sigma\)\(u_1\)  ,所以按理说U应该是一个mxr的矩阵?但是这与后面\(AA^{T}\)推导出的U矩阵发生了矛盾。所以是不是我的思考本末倒置了?而SVD最终的完整分解U是mxm的方阵!所以这里上方最后一段文字产生的U和第一段产生的U究竟是不是一个U矩阵。如果是同一个矩阵,为什么维数不同?究竟哪一个方法才是U矩阵诞生的本源?

2、从\(A^{T}A\) 推导出来的\(\Sigma^{2}\)应该是nxn的对角阵。而从\(AA^{T}\)推导出来的\(\Sigma^{2}\)是mxm的对角阵。但是最终SVD版本分解出的\(\Sigma\)却是mxn的矩阵。这是怎么回事?当然你可以说他是为了左乘U,右乘\(V^{T}\),必须把维数凑够。但是这个理由是不是太牵强了。何况后面还要裁剪。这里增加难道不是画蛇添足么?

3、因为\(\Sigma\)中只有r个非零的对角元素,因此A的SVD分解可以将U裁剪成mxr,\(\Sigma\)裁剪成rxr,V裁剪成nxr。这就很奇怪了!如果最早就直接用r个独立正交行向量代入A\(v_1\)=\(\sigma\)\(u_1\) ,那自然也就只能产生r个m维的列向量u,在最开始就生成了mxr的U矩阵。何必非要\(AA^{T}\)那里推出一个mxm的U矩阵,形成一个完整版的SVD分解?实在想不出其他理由来做这个完整版的SVD分解。

4、上面裁剪后的SVD分解,看起来是比完整版的SVD简洁,毕竟三个矩阵降维了。但是那是等号右边两种SVD方式相互比较。但是等号左边都是A矩阵,没变啊。为什么书上把裁剪版的SVD称作“紧奇异值分解”,说他是无损压缩。这就比较奇怪了,这个所谓的无损压缩的SVD还是等于A啊。他怎么就压缩了?比如A原来在内存占多少空间?然后以“紧奇异值分解”的形式放到内存中如何就减少内存占用了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-7-6 03:56 , Processed in 0.080936 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表