奇异值分解(singular value decomposition——SVD)
(2016-01-22 14:04:04)
标签:
奇异值分解svd |
分类: 遥感 |
奇异值分解(singular
理论描述
假设M是一个m×n阶矩阵,其中的元素全部属于域
M
其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
常见的做法是将奇异值由大而小排列。如此Σ便能由M唯一确定了。(虽然U和V仍然不能确定。)
直观的解释
在矩阵M的奇异值分解中
M
l
l
l
奇异值和奇异向量,
一个非负实数σ是M的一个奇异值仅当存在R^{M}的单位向量u和R^{N}的单位向量v如下
Mv
其中向量u
对于任意的奇异值分解
M
矩阵Σ的对角线上的元素等于M的奇异值.
l
l
l
如果对于一个奇异值,可以找到两组线性无关的左(右)奇异向量,则该奇异值称为简并的(或退化的)。
非退化的奇异值在最多相差一个相位因子exp(iϕ)(若讨论限定在实数域内,则最多相差一个正负号)的意义下具有唯一的左、右奇异向量。因此,如果M的所有奇异值都是非退化且非零,则除去一个可以同时乘在U,V上的任意的相位因子外,M的奇异值分解唯一。
根据定义,退化的奇异值具有不唯一的奇异向量。因为,如果u1和u2为奇异值σ的两个左奇异向量,则它们的任意归一化线性组合也是奇异值σ一个左奇异向量,右奇异向量也具有类似的性质。因此,如果M具有退化的奇异值,则它的奇异值分解是不唯一的。
例子
观察一个4×5的矩阵
M=[1
M矩阵的奇异值分解如下UΣV*,
U
1
Σ=[4.0000
V
注意矩阵Σ的所有非对角元为0。矩阵
由于Σ有一个对角元是零,故这个奇异值分解值不是唯一的。例如,选择
V*
能得到M的另一个奇异值分解。
与特征值分解的联系
奇异值分解能够用于任意m×
M*M
MM*
关系式的右边描述了关系式左边的特征值分解。于是:
V的列向量(右奇异向量)是M*M的特征向量。
U的列向量(左奇异向量)是MM*的特征向量。
Σ的非零对角元(非零奇异值)是M*M或者MM*的非零特征值的平方根。
特殊情况下,当M是一个正规矩阵(因而必须是方阵)根据谱定理,M可以被一组特征向量酉对角化,所以它可以表为:
M
其中U为一个酉矩阵,D为一个对角阵。如果M是半正定的,M
然而,一般矩阵的特征分解跟奇异值分解不同。特征分解如下:
M=UDU^{-1}
其中U是不需要是酉的,D也不需要是半正定的。而奇异值分解如下:
M=UΣV*
其中Σ是对角半正定矩阵,U
几何意义
因为U和V都是酉的,
矩阵M代表从R^{N}到R^{M}的一个线性映射T:x→
这样,SVD分解的几何意义就可以做如下的归纳:对于每一个线性映射T:R^{N}→R^{M},T的奇异值分解在原空间与像空间中分别找到一组标准正交基,使得T把R^{N}的第i个基向量映射为R^{M}的第i个基向量的非负倍数,并将R^{N}中余下的基向量映射为零向量。换句话说,线性变换
应用
求伪逆
奇异值分解可以被用来计算矩阵的伪逆。若矩阵
其中Σ^{+}是Σ的伪逆,是将Σ主对角线上每个非零元素都求倒数之后再转置得到的。求伪逆通常可以用来求解最小二乘法问题。
列空间、零空间和秩
奇异值分解的另一个应用是给出矩阵的列空间、零空间和秩的表示。对角矩阵Σ的非零对角元素的个数对应于矩阵M的秩。与零奇异值对应的右奇异向量生成矩阵M的零空间,与非零奇异值对应的左奇异向量则生成矩阵M的列空间。
矩阵近似值
奇异值分解在统计中的主要应用为主成分分析(PCA)。
几种编程语言中计算SVD的函式范例
matlab:
[b
OpenCV:
void

加载中…