奇异值分解(Singular Value Decomposition)
目录
- 1什么是奇异值分解
- 1.1理论描述
- 1.2直观的解释
- 2奇异值和奇异矢量,以及他们与奇异值分解的关系
- 2.1例子
- 3奇异值分解与特征值分解的联系
- 4奇异值分解的应用
什么是奇异值分解
奇异值分解是线性代数中一种重要的矩阵分解,在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或HERMitian矩阵基于特征矢量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。对称阵特征矢量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广。
理论描述
假设M是一个m×n阶矩阵,其中的元素全部属于域K,也就是实数域或复数域。如此则存在一个分解使得
其中U是m×m阶酉矩阵;Σ是m×n阶实数对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
常见的做法是将奇异值由大而小排列。如此Σ便能由M唯一确定了。(虽然U和V仍然不能确定。)
直观的解释
在矩阵M的奇异值分解中
V的列(columns)组成一套对的正交"输入"或"分析"的基矢量。这些矢量是的特征矢量。
U的列(columns)组成一套对的正交"输出"的基矢量。这些矢量是的特征矢量。
Σ对角线上的元素是奇异值,可视为是在输入与输出间进行的纯量的"膨胀控制"。这些是及的特征值的非零平方根,并与U和V的行矢量相对应。
奇异值和奇异矢量,以及他们与奇异值分解的关系
一个非负实数σ是M的一个奇异值仅当存在Km的单位矢量u和Kn的单位矢量v如下:
Mv = σu andM * u = σv
其中矢量u和v分别为σ的左奇异矢量和右奇异矢量。
对于任意的奇异值分解
矩阵Σ的对角线上的元素等于M的奇异值. U和V的列分别是奇异值中的左、右奇异矢量。因此,上述定理表明:
一个m×n的矩阵至少有一个最多有p = min(m,n)个不同的奇异值;
总能在Km中找到由M的左奇异矢量组成的一组正交基U,;
总能在Kn找到由M的右奇异矢量组成的一组正交基V,。
如果对于一个奇异值,可以找到两组线性无关的左(右)奇异矢量,则该奇异值称为简并的(或退化的)。
非退化的奇异值在最多相差一个相位因子exp(iφ)(若讨论限定在实数域内,则最多相差一个正负号)的意义下具有唯一的左、右奇异矢量。因此,如果M的所有奇异值都是非退化且非零,则除去一个可以同时乘在U,V上的任意的相位因子外,M的奇异值分解唯一。
根据定义,退化的奇异值具有不唯一的奇异矢量。因为,如果u1和u2为奇异值σ的两个左奇异矢量,则它们的任意归一化线性组合也是奇异值σ一个左奇异矢量,右奇异矢量也具有类似的性质。因此,如果M具有退化的奇异值,则它的奇异值分解是不唯一的。
例子
观察一个4×5的矩阵
M矩阵的奇异值分解如下UΣV *
注意矩阵Σ的所有非对角元为0。矩阵U和V * 都是酉矩阵,它们乘上各自的共轭转置都得到单位矩阵。如下所示。在这个例子中,由于U和V * 都是实矩阵,故它们都是正交矩阵。
由于Σ有一个对角元是零,故这个奇异值分解值不是唯一的。例如,选择V使得
能得到M的另一个奇异值分解。
奇异值分解与特征值分解的联系
奇异值分解能够用于任意矩阵,而特征分解只能适用于特定类型的方阵,故奇异值分解的适用范围更广。不过,这两个分解之间是有关联的。给定一个M的奇异值分解,根据上面的论述,两者的关系式如下:
关系式的右边描述了关系式左边的特征值分解。于是:
V的列矢量(右奇异矢量)是M * M的特征矢量。
U的列矢量(左奇异矢量)是MM * 的特征矢量。
Σ的非零对角元(非零奇异值)是M * M或者MM * 的非零特征值的平方根。
特殊情况下,当M是一个正规矩阵(因而必须是方阵)根据谱定理,M可以被一组特征矢量对角化,所以它可以表为:
M = UDU *
其中U为一个酉矩阵,D为一个对角阵。如果M是半正定的,M = UDU * 的分解也是一个奇异值分解。
然而,一般矩阵的特征分解跟奇异值分解不同。特征分解如下:
M = UDU ? 1
其中U是不需要是酉的,D也不需要是半正定的。而奇异值分解如下:
M = UΣV *
其中Σ是对角半正定矩阵,U和V是酉矩阵,两者除了通过矩阵M没有必然的联系。
奇异值分解的应用
奇异值分解可以被用来计算矩阵的伪逆。若矩阵M的奇异值分解为M = UΣV * ,那么M的伪逆为
其中Σ + 是Σ的伪逆,是将Σ主对角线上每个非零元素都求倒数之后再转置得到的。求伪逆通常可以用来求解最小二乘法问题。
奇异值分解的另一个应用是给出矩阵的行空间与列空间|列空间、零空间和秩 (线性代数)|秩的表示。对角矩阵Σ的非零对角元素的个数对应于矩阵M的秩。与零奇异值对应的右奇异矢量线性生成空间|生成矩阵M的零空间,与非零奇异值对应的左奇异矢量则生成矩阵M的列空间。在线性代数数值计算中奇异值分解一般用于确定矩阵的有效秩,这是因为,由于舍入误差,秩亏矩阵的零奇异值可能会表现为很接近零的非零值。
发表评论