美文网首页
SVD(奇异值分解)--转载

SVD(奇异值分解)--转载

作者: ShenShen_318 | 来源:发表于2020-02-24 16:44 被阅读0次

    转自--https://www.cnblogs.com/endlesscoding/p/10033527.html

    1、特征值分解(EVD)

    实对称矩阵

    在理角奇异值分解之前,需要先回顾一下特征值分解,如果矩阵A是一个m×m的实对称矩阵(即A=A^T),那么它可以被分解成如下的形式

    其中Q为标准正交阵,即有QQ^T=E,Σ为对角矩阵,且上面的矩阵的维度均为m×m。λi称为特征值,qi是Q(特征矩阵)中的列向量,称为特征向量。

    一般矩阵

    上面的特征值分解,对矩阵有着较高的要求,它需要被分解的矩阵A为实对称矩阵,但是现实中,我们所遇到的问题一般不是实对称矩阵。那么当我们碰到一般性的矩阵,即有一个m×n的矩阵A,它是否能被分解成上面的式(1-1)的形式呢?当然是可以的,这就是我们下面要讨论的内容。

    2、奇异值分解(SVD)

    2.1 奇异值分解定义

    有一个m×n的实数矩阵A,我们想要把它分解成如下的形式

    其中UV均为单位正交阵,即有UU^T=EVVT=EU称为左奇异矩阵,V称为右奇异矩阵,Σ仅在主对角线上有值,我们称它为奇异值,其它元素均为0。上面矩阵的维度分别是U∈R^m×m, Σ∈R^m×n, V∈R^n×n。一般地Σ有如下形式

    图1-1  奇异值分解

    对于奇异值分解,我们可以利用上面的图形象表示,图中方块的颜色表示值的大小,颜色越浅,值越大。对于奇异值矩阵Σ,只有其主对角线有奇异值,其余均为0。

    2.2 奇异值求解

    正常求上面的U,V,ΣU,V,Σ不便于求,我们可以利用如下性质

    注:需要指出的是,这里ΣΣ^T与Σ^TΣ在矩阵的角度上来讲,它们是不相等的,因为它们的维数不同ΣΣ^T∈Rm×m,而Σ^TΣ∈Rn×n,但是它们在主对角线的奇异值是相等的,即有

    可以看到式(2-2)与式(1-1)的形式非常相同,进一步分析,我们可以发现AA^TA^TA也是对称矩阵,那么可以利用式(1-1),做特征值分解。利用式(2-2)特征值分解,得到的特征矩阵即为U;利用式(2-3)特征值分解,得到的特征矩阵即为V;对ΣΣ^T或Σ^TΣ中的特征值开方,可以得到所有的奇异值。

    3、奇异值分解应用

    3.1 纯数学例子

    假设我们现在有矩阵A,需要对其做奇异值分解,已知

    分别对上面做特征值分解,得到如下结果

    奇异值Σ=Diag(18.54,1.83,5.01)Σ=Diag(18.54,1.83,5.01)

    总结

    从上面的图片的压缩结果中可以看出来,奇异值可以被看作成一个矩阵的代表值,或者说,奇异值能够代表这个矩阵的信息。当奇异值越大时,它代表的信息越多。因此,我们取前面若干个最大的奇异值,就可以基本上还原出数据本身。如下,可以作出奇异值数值变化和前部分奇异值和的曲线图,如下图所示

    奇异值变化图

    从上面的第1个图,可以看出,奇异值下降是非常快的,因此可以只取前面几个奇异值,便可基本表达出原矩阵的信息。从第2个图,可以看出,当取到前100个奇异值时,这100个奇异值的和已经占总和的95%左右。

    相关文章

      网友评论

          本文标题:SVD(奇异值分解)--转载

          本文链接:https://www.haomeiwen.com/subject/ibvvqhtx.html