利用截断的最大奇异值来重构原有矩阵

让我们通过一个具体的例子来演示如何使用截断奇异值列表来获取最大奇异值,并用截断的矩阵重构原始矩阵。

假设我们有一个 3x3 的矩阵 A,如下所示:

A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]

计算的主要流程:

步骤 1:奇异值分解(SVD)

对矩阵 A 进行奇异值分解,得到矩阵 U、S和 V^T。
A = U ⋅ S ⋅ V T A = U·S ·V^T A=USVT

步骤 2:查找最大奇异值

查找奇异值列表中的最大奇异值。在这个例子中,我们需要找到最大的奇异值。

步骤 3:确定截断级别

根据需要确定截断级别。我们选择保留前两个最大的奇异值。

步骤 4:截断奇异值列表

将奇异值列表中除了最大的两个奇异值外的其他奇异值置为零。

步骤 5:截断矩阵 U 和 V

使用截断后的奇异值列表,将矩阵 U 和 V 中对应的列也进行截断,只保留与非零奇异值对应的列。

步骤 6:重构原始矩阵

将截断后的矩阵 U、截断后的对角矩阵 Σ 和截断后的矩阵 V^T 相乘,得到截断后的矩阵 A’。

带入数据进行计算:

步骤 1:奇异值分解(SVD)

对矩阵 A 进行奇异值分解,得到矩阵 U、S 和 V^T。
A = U ⋅ S ⋅ V T A = U·S·V^T A=USVT

步骤 2:查找最大奇异值

奇异值 σ 1 ≈ √ ( λ 1 ) ≈ 13.341 σ 2 ≈ √ ( λ 2 ) ≈ 0.184 σ 3 ≈ √ ( λ 3 ) ≈ 0.000 奇异值\\ σ1 ≈ √(λ1) ≈ 13.341\\ σ2 ≈ √(λ2) ≈ 0.184\\ σ3 ≈ √(λ3) ≈ 0.000\\ 奇异值σ1(λ1)13.341σ2(λ2)0.184σ3(λ3)0.000

在这个例子中,最大的奇异值是 13.341

步骤 3:确定截断级别

我们选择保留前两个最大的奇异值。

步骤 4:截断奇异值列表

将奇异值列表中除了最大的两个奇异值外的其他奇异值置为零。

截断后的奇异值列表:
奇异值 σ 1 ≈ √ ( λ 1 ) ≈ 13.341 σ 2 ≈ √ ( λ 2 ) ≈ 0.00 σ 3 ≈ √ ( λ 3 ) ≈ 0.000 奇异值\\ σ1 ≈ √(λ1) ≈ 13.341\\ σ2 ≈ √(λ2) ≈ 0.00\\ σ3 ≈ √(λ3) ≈ 0.000\\ 奇异值σ1(λ1)13.341σ2(λ2)0.00σ3(λ3)0.000

步骤 5:截断矩阵 U 和 V

使用截断后的奇异值列表,将矩阵 U 和 V 中对应的列也进行截断,只保留与非零奇异值对应的列。

截断后的矩阵

 U:[[0.229, -0.524],
[0.524, -0.229],
[0.819, 0.524]]

截断后的矩阵

 V:[[0.476, 0.570, 0.671],
[0.568, 0.083, -0.818]]

步骤 6:重构原始矩阵

将截断后的矩阵 U、截断后的对角矩阵 Σ 和截断后的矩阵 V^T 相乘,得到截断后的矩阵 A’。

截断后的矩阵 ‘A’ = USV^T

截断后的矩阵

 'A' = [[1.004, 1.999, 3.000],
[3.999, 4.999, 6.000],
[6.996, 7.997, 9.000]]

通过截断奇异值列表,我们获得了最大奇异值,并使用截断的矩阵重构了原始矩阵 A。请注意,截断后的矩阵 A’ 是对原始矩阵的一个近似,其中截断的奇异值越多,重构的精度越高

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值