当前位置: 首页 > news >正文

线性代数 - 奇异值分解(SVD Singular Value Decomposition)- 计算顺序 旋转→拉伸→旋转

线性代数 - 奇异值分解(SVD Singular Value Decomposition)- 计算顺序 旋转→拉伸→旋转

flyfish

线性代数 - 正交矩阵
线性代数 - 矩阵求逆
线性代数 - 奇异值分解(SVD Singular Value Decomposition)
线性代数 - 奇异值分解(SVD Singular Value Decomposition)- 奇异值在哪里
在这里插入图片描述
在这里插入图片描述

每一个矩阵都可以被视为一个线性变换。
矩阵是线性变换的载体,而线性变换的是对向量的操作,矩阵 A\mathbf{A}A 本身是“所有向量变换规则的集合”

当我们把矩阵 A\mathbf{A}A 看作线性变换时,它的作用对象是向量(比如空间中的一个点、一条数据)。

输入向量 v\mathbf{v}v → 被 VT\mathbf{V}^TVT 旋转 → 被 Σ\boxed{\mathbf{\Sigma}}Σ 拉伸 → 被 U\mathbf{U}U 旋转 → 输出 Av\mathbf{A}\mathbf{v}Av

对于公式 A=UΣVT\mathbf{A} = \mathbf{U} \boxed{\mathbf{\Sigma}} \mathbf{V}^TA=UΣVT,当它作用于向量 v\mathbf{v}v 时,根据矩阵乘法的结合律,有:
Av=(UΣVT)v=U(Σ(VTv))\mathbf{A}\mathbf{v} = \left( \mathbf{U} \boxed{\mathbf{\Sigma}} \mathbf{V}^T \right) \mathbf{v} = \mathbf{U} \left( \boxed{\mathbf{\Sigma}} \left( \mathbf{V}^T \mathbf{v} \right) \right) Av=(UΣVT)v=U(Σ(VTv))

顺序是:

向量 v\mathbf{v}v 先被最右边的 VT\mathbf{V}^TVT 旋转
再被中间的 Σ\boxed{\mathbf{\Sigma}}Σ 拉伸;
最后被最左边的 U\mathbf{U}U 旋转。

这种“从右到左作用于向量”的规则,和公式中“U\mathbf{U}U 在最左边”的书写顺序是完全一致的——因为矩阵乘法是右结合的(先算最右边的矩阵与向量的乘积,再依次向左结合)。

举个具体例子

A=[1224]\mathbf{A} = \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix}A=[1224]
设向量 v=[10]\mathbf{v} = \begin{bmatrix} 1 \\ 0 \end{bmatrix}v=[10],直接计算 Av\mathbf{A}\mathbf{v}Av
Av=[1224][10]=[12]\mathbf{A}\mathbf{v} = \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \end{bmatrix} Av=[1224][10]=[12]

用SVD分解步骤计算(U=15[122−1]\mathbf{U} = \frac{1}{\sqrt{5}} \begin{bmatrix} 1 & 2 \\ 2 & -1 \end{bmatrix}U=51[1221]Σ=[5000]\boxed{\mathbf{\Sigma}} = \begin{bmatrix} 5 & 0 \\ 0 & 0 \end{bmatrix}Σ=[5000]VT=15[122−1]\mathbf{V}^T = \frac{1}{\sqrt{5}} \begin{bmatrix} 1 & 2 \\ 2 & -1 \end{bmatrix}VT=51[1221]):

  1. 先算 VTv\mathbf{V}^T \mathbf{v}VTv
    VTv=15[122−1][10]=15[12]\mathbf{V}^T \mathbf{v} = \frac{1}{\sqrt{5}} \begin{bmatrix} 1 & 2 \\ 2 & -1 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \frac{1}{\sqrt{5}} \begin{bmatrix} 1 \\ 2 \end{bmatrix} VTv=51[1221][10]=51[12]
  2. 再算 Σ(VTv)\boxed{\mathbf{\Sigma}} \left( \mathbf{V}^T \mathbf{v} \right)Σ(VTv)
    Σ(VTv)=[5000]×15[12]=55[10]=5[10]\boxed{\mathbf{\Sigma}} \left( \mathbf{V}^T \mathbf{v} \right) = \begin{bmatrix} 5 & 0 \\ 0 & 0 \end{bmatrix} \times \frac{1}{\sqrt{5}} \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \frac{5}{\sqrt{5}} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \sqrt{5} \begin{bmatrix} 1 \\ 0 \end{bmatrix} Σ(VTv)=[5000]×51[12]=55[10]=5[10]
  3. 最后算 U×\mathbf{U} \timesU× 上一步结果:
    U×5[10]=15[122−1]×5[10]=[12]\mathbf{U} \times \sqrt{5} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \frac{1}{\sqrt{5}} \begin{bmatrix} 1 & 2 \\ 2 & -1 \end{bmatrix} \times \sqrt{5} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \end{bmatrix} U×5[10]=51[1221]×5[10]=[12]

结果和直接计算 Av\mathbf{A}\mathbf{v}Av 完全一致,U在最左边,向量先被VTV^TVT作用的逻辑是自洽的——因为矩阵乘法的结合律保证了顺序的一致性。对任意矩阵 A、B、C(满足乘法维度要求),有 (A×B)×C = A×(B×C)。不管先算前两个矩阵的乘积,还是先算后两个,最终结果完全一样

http://www.dtcms.com/a/576953.html

相关文章:

  • html的input的required
  • 【开题答辩全过程】以 基于Java的医务室病历管理小程序为例,包含答辩的问题和答案
  • 移除 XSLT,以更强的浏览器安全边界迎面而来
  • 回溯剪枝的“减法艺术”:化解超时危机的 “救命稻草”(三)
  • 佛山网站建设设计公司陕西住建执业证书官网
  • Rust编程学习 - 自动解引用的用处,如何进行“解引用”(Deref) 是“取引用”(Ref) 的反操作
  • 云计算产品-介绍--网络/CDN篇
  • 云计算产品-介绍--安全篇
  • 3D模型骨骼绑定与动画完全指南-web平台
  • RabbitMQ 是否也支持消费组
  • 德国域名申请网站网站建设 推广薪资
  • 从零开始搭建 flask 博客实验(常见疑问)
  • 给予虚拟成像台尝鲜版十,完善支持HTML原型模式
  • ⸢ 拾叁-Ⅰ⸥⤳ 安全水位评估框架(上):威胁路径模型
  • 【Python Web开源框架】Django/Flask/FastAPI/Tornado/Pyramid
  • 拼多多seo搜索优化西安网站seo技术
  • DocxFactory: 一个C++操作word的开源库(不依赖office控件)
  • layui框架中,表单元素不显示问题
  • 主流模型调用
  • AI+XR赋能智慧研创中心:打破职业教育实训困境,推动产教深度融合
  • 网站的注册和登录怎么做军事热点最新情况
  • 在Powershell或CMD中使用conda命令
  • 体力劳动反而更难被AI取代?物联网科技如何守护最后的劳动阵地
  • 【代码审计】oasys 两处安全问题分析
  • 【IO多路转接】epoll 高性能网络编程:从底层机制到服务器实战
  • python --两个文件夹文件名比对(yolo 图和label标注比对检查)
  • 北京网站建设1000zhu建站之星模板怎么设置
  • wordpress+企业站模版做论坛app网站
  • 社群时代下的商业变革:“开源AI智能名片链动2+1模式S2B2C商城小程序”的应用与影响
  • 深入理解浏览器渲染流程:从HTML/CSS到像素的奇妙旅程