type
status
date
slug
summary
tags
category
icon
password
定义:将线性变换分解为单纯的伸缩和旋转
- 伸缩对应的对角矩阵
- 旋转对应正交矩阵
- 因此 S 的主对角元素被称为奇异值,奇异值必须为非负数切从大到小排列
对称矩阵的奇异值分解
- A 是实对称矩阵,则 S 是对角矩阵且特征值等于 , 是由 的 个线性无关的特征向量组成的,且这 n 个向量彼此正交。
- 计算步骤
- 计算 A 的特征值 ,特征向量即分别把 带入 回去得到不同的x.
- 得到的 做单位化并按列合并起来则得到 ; 从大到小按对角线组合则为 S
- 例题
注意:由于有些方阵的特征值存在负数,但奇异值必须是非负数,需要进行普通方阵的奇异值分解的步骤。
比如
普通方阵的奇异值分解
其中,
利用 是对称矩阵的性质,带入公式可以得到。
这样的形式就和实对称矩阵的奇异值分解是一样的。
但是注意的是,求出正交矩阵 P 和 Q 之后需要进行矫正,这有点类似于开平方后的多个根的感觉。
矫正方法:
,保持 q 不变,对 p 的符号进行矫正。
注意
- 最后的A答案是乘以的 Q 的转置,拼起来的时候注意别写错了。
- 还有需要注意的是,如果在求特征向量的时候发现有个 会使得 是未满秩的结果,需要先算一下其他的特征向量,最后要保持该向量与其他的向量正交。
- 最后的 P 和 Q需要做单位一化。
非方阵的奇异值分解
只需对 和 的公共特征值取算术平方根即可获得对角矩阵 ,进一步补充0元素将其扩展为和A同尺寸的矩阵S。
同样需要矫正。
约化 SVD 的话需要将 J 的 O 去除,并且把 P 中的最后几列删除(删除后P和 A 形状一样了) (m>n)
奇异值分解在图像处理中的应用
图像可以分解为一系列秩1矩阵之和,靠前的项所占图像的“份额”更大.因为奇异值的大小关系。因此可以用奇异值分解用来做图像压缩。
python 代码实现
- 作者:Lishen Qu
- 链接:https://qulishen.top/article/%E5%A5%87%E5%BC%82%E5%80%BC%E5%88%86%E8%A7%A3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。