svd奇异值动图分解

概述

简单说一个矩阵svd分解就是变成三个矩阵的乘积比如:
$
A = \begin{bmatrix}
1 & -2 \
1 & 2 \
\end{bmatrix}
=\begin{bmatrix}
-0.707 & -0.707 \
0.707 & -0.707 \
\end{bmatrix}
\begin{bmatrix}
2.828 & 0 \
0 & 1.4142 \
\end{bmatrix}
\begin{bmatrix}
0 & -1 \
1 & 0 \
\end{bmatrix}
\triangleq
USV
$

  • 奇异值是2.828和1.4142
  • U,V都是正交矩阵

图形化生动理解

##1. 准备工作
奇异值分解实际上把矩阵的变换分为了三部分:

  • 旋转
  • 拉伸
  • 投影(方阵没有投影不影响)

为了图形化理解我们对USV拆成两个矩阵相加, M, N可以理解成A的两个分量
$
A
= \begin{bmatrix}
-0.707 & -0.707 \
0.707 & -0.707 \
\end{bmatrix}
\begin{bmatrix}
2.828 & 0 \
0 & 0 \
\end{bmatrix}
\begin{bmatrix}
0 & -1 \
1 & 0 \
\end{bmatrix}+
\begin{bmatrix}
-0.707 & -0.707 \
0.707 & -0.707 \
\end{bmatrix}
\begin{bmatrix}
0 & 0 \
0 & 1.4142 \
\end{bmatrix}
\begin{bmatrix}
0 & -1 \
1 & 0 \
\end{bmatrix}
$

$
=\begin{bmatrix}
0 & -2 \
0 & 2 \
\end{bmatrix}+
\begin{bmatrix}
1 & 0 \
1 & 0 \
\end{bmatrix}
\triangleq
M + N
$

##2. 图形化解释
1.首先我们看一下一个单位圆x乘以A会发生什么
Ax
这里写图片描述
2. Mx
这里写图片描述
3. Nx
这里写图片描述
那么USV又代表了什么呢?

  • V, Vx
    这里写图片描述
  • S—拉伸,SVx
    拉伸的程度就是那两个奇异值,也就是椭圆的长轴和短轴
    这里写图片描述
  • U—旋转,
    这里写图片描述

附录

##1. 动图matlab代码

A = [1 -2;
     1  2;];
a = [0 -2;
     0  2;];
b = [1 0;
     1 0;];
 
eigshow(U*S*V);

[U,S,V] = svd(A)
S1 = [2.828 0;
      0     0;];
S2 = [0     0;
      0     1.414;];


2.参考

  1. https://mp.weixin.qq.com/s/Mu9jkm7rGO6oJ8aYN_hM-w
  2. 奇异值分解(SVD)原理详解
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值