奇异值分解示例

2019-05-22  本文已影响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 是奇异值矩阵,较小值代表噪音(将其置零后计算出的矩阵就是去除噪音的结果),较大值代表主要成分。

上一篇下一篇

猜你喜欢

热点阅读