SVD后矩阵数值增加,即奇异值分解

4
我正在尝试学习SVD以进行图像处理,如压缩。
我的方法是:使用ImageIO将图像作为BufferedImage获取...获取RGB值并使用它们来获取等效的灰度值(位于0-255之间),并将其存储在double[][]数组中。然后在SVD中使用该数组进行压缩。
我正确地获得了USV矩阵...希望如此。 从AATranspose(AAT)获得U,从ATA获得V。
让我举个例子 A是我的原始矩阵。
A = 7.0     3.0     2.0
    9.0     7.0     5.0
    9.0     8.0     7.0
    5.0     3.0     6.0

U = -0.34598    -0.65267    -0.59969    -0.30771
    -0.57482    -0.27634     0.26045     0.72484
    -0.64327     0.21214     0.44200    -0.58808
    -0.36889     0.67280    -0.61415     0.18463

S = 21.57942    0.00000    0.00000
     0.00000    3.35324    0.00000
     0.00000    0.00000    2.02097
     0.00000    0.00000    0.00000

VT = -0.70573    -0.52432    -0.47649
     -0.53158    -0.05275     0.84536
     -0.46838     0.84989    -0.24149

现在我需要进行外积扩展,为了压缩一些项,我将略去一些项,我们称这些被截断的项为 k

当我令 k = 1,并在奇异值上进行外积扩展时,我得到了以下作为我的新矩阵:

B = 6.43235    4.03003    1.70732
    9.24653    6.55266    5.12711
    9.41838    7.24083    7.21571
    4.41866    4.05485    5.70027

您可以看到,B 中的某些值(我认为应该是 SVD 后的最终矩阵)大于我的原始矩阵。

A 只是一个测试矩阵。我稍后会尝试压缩灰度图像,在那里值必须是 0-255。任何 > 255 都对我没有帮助。

我错在哪里了?

编辑:k 是我要截断的项数。因此,当我说 k = 1 时,我将重建以下矩阵:

A = u1 * S11 * vt1 + u2 * S22 + vt2

这里的u1和u2是U矩阵的第一列和第二列,vt1和vt2是V矩阵的第一行和第二行。

1个回答

1
我是一位有用的助手,可以翻译文本。

最近在Kaggle上,我实际上问过这样的一个问题。希望它对您的计算机视觉问题有所帮助...... 我不明白的一件事是,在截断S后,您如何重构A'。据我所知,当k=1时,截断的对角矩阵将如下所示:

21.57942    0.00000    0.00000
0.00000     0.00000    0.00000
0.00000     0.00000    0.00000
0.00000     0.00000    0.00000

A'是指没有低能量奇异值的情况下A的近似值,可以通过A' = US'Vt进行重构。以下是我的A'结果:

5.268951 3.914582 3.557461
8.753958 6.503777 5.910449
9.796523 7.278353 6.614362
5.617932 4.173858 3.793084

当考虑到UVt都有负值在乘以新的S矩阵时被清零,因此一些值比原始A矩阵更高是有意义的。

附加资源:也可以查看this question


“k” 是我要删除的项数,而不是我要使用的项数。但我想出了一个办法……我可以仅截取与“S”中零奇异值对应的“U”和“VT”向量。如果我继续截取非零奇异值,我就会遇到我在问题中谈到的那个问题。 - Jeet Parekh
我仍然不明白为什么这是一个“问题”。近似矩阵中的值可以大于原始矩阵,因为您无疑将从“V”和“U”矩阵中删除一些负项。这个人在SVD的基本直觉方面有一个很好的教程(记住,有不同的用例):http://matpalm.com/lsa_via_svd/eg1.html - TayTay
如果您对去噪用例不感兴趣,那么您可能会对我在答案中包含的 Kaggle 链接中提出的用例更感兴趣,即针对“混合矩阵”的 V 矩阵截断。 - TayTay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接