美文网首页
奇异值分解示例

奇异值分解示例

作者: 周球球二号 | 来源:发表于2019-05-22 23:07 被阅读0次

    奇异值分解

    目标:对于一个矩阵W,寻找符合下列条件的三个矩阵:
    U\Sigma V^T=W
    其中U,V都为正交矩阵,\Sigma为对角矩阵

    方法:

    W = \begin{bmatrix} 4 & 0 & 5 \\ 0 & 0 & 5 \\ \end{bmatrix}

    通过自身与转置相乘,得到B,C,再把B,C做如下分解得到\Sigma,U和V

    B = WW^T=UDU^T=U\Sigma ^T\Sigma U^T

    C=W^TW=VDV^T=V\Sigma^T\Sigma U^T

    B= \begin{bmatrix} 41 &25 \\ 25 & 25 \\ \end{bmatrix}

    = \begin{bmatrix} 0.81 & -0.59 \\ 0.59 & 0.81 \\ \end{bmatrix}\begin{bmatrix} 7.70 &0 \\ 0 & 2.60 \\ \end{bmatrix}\begin{bmatrix} 7.70 &0 \\ 0 & 2.60 \\ \end{bmatrix}\begin{bmatrix} 0.81 & 0.59\\ -0.59 & 0.81 \\ \end{bmatrix}

    C=\begin{bmatrix} 16 & 0&20 \\ 0 & 0 &0 \\20&0&50 \end{bmatrix}

    怎么把B,C分解成上述的形式呢?

    首先分别对B,C对角化
    对角化:
    B=S_B.J_B.S^{-1}_B
    C=S_C.J_C.S^{-1}_C

    S_B = \begin{bmatrix} -0.73 & 1.36 \\ 1 & 1 \\ \end{bmatrix}

    J_B = \begin{bmatrix} 6.75 & 0 \\ 0 & 59.25 \\ \end{bmatrix}

    S_C= \begin{bmatrix} 0 & -2.16&0.46 \\ 1& 0 &0 \\0&1&1 \end{bmatrix}

    J_C= \begin{bmatrix} 0 & 0&0 \\ 0 & 6.75 &0 \\0&0&59.25 \end{bmatrix}

    可以发现J_B,J_C中的对角元素(特征值)是一样的,进行开方再经过简单调整就是\Sigma矩阵了。

    然后,把S_B,S_C单位化

    S_B = \begin{bmatrix} -0.73 & 1.36 \\ 1 & 1 \\ \end{bmatrix} \Rightarrow \begin{bmatrix} -0.59 & 0.81 \\ 0.81 & 0.59 \\ \end{bmatrix}

    S_C = \begin{bmatrix} 0 & -2.16&0.46 \\ 1& 0 &0 \\0&1&1 \end{bmatrix}\Rightarrow\begin{bmatrix} 0 & -0.91&0.42 \\ 1& 0 &0 \\0&0.42&0.91\end{bmatrix}

    此时,S_B,S_C其实就是U,V,但也要经过下面的简单调整。

    调整方法:

    1.特征值顺序调整(由大到小)

    J = \begin{bmatrix} 59.25 & 0&0 \\ 0 & 6.75 &0\\0&0&0 \end{bmatrix}

    2.将特征矩阵开方得到\Sigma

    \Sigma \Sigma^T=J

    \Sigma = \begin{bmatrix} 7.70 & 0&0 \\ 0 & 2.60 &0\\0&0&0 \end{bmatrix}

    3.调整单位化后的S_B,S_C(根据J的变化)

    S_B = \begin{bmatrix} -0.59 & 0.81 \\ 0.81 & 0.59 \\ \end{bmatrix} \Rightarrow\begin{bmatrix} 0.81 & -0.59 \\ 0.59 & 0.81 \\ \end{bmatrix} \Rightarrow U

    S_C = \begin{bmatrix} 0 & -0.91&0.42 \\ 1& 0 &0 \\0&0.42&0.91\end{bmatrix} \Rightarrow \begin{bmatrix} 0.42 & 0&0.91 \\ -0.91& 0 &0.42 \\0&1&0 \end{bmatrix} \Rightarrow V^T

    4.调整\Sigma形状,把较大值放在前面

    \Sigma = \begin{bmatrix} 7.70 & 0&0 \\ 0 & 2.60 &0 \end{bmatrix}

    结果
    W = \begin{bmatrix} 0.81 & -0.59 \\ 0.59 & 0.81 \\ \end{bmatrix}\begin{bmatrix} 7.70 &0&0 \\ 0 & 2.60&0 \\ \end{bmatrix}\begin{bmatrix} 0.42 & 0&0.91 \\ -0.91& 0 &0.42 \\0&1&0 \end{bmatrix}

    关于奇异值分解

    \Sigma 是奇异值矩阵,较小值代表噪音(将其置零后计算出的矩阵就是去除噪音的结果),较大值代表主要成分。

    相关文章

      网友评论

          本文标题:奇异值分解示例

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