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

线性代数重要知识点和理论(下)

奇异值分解

奇异值分解非常重要且有趣。首先对于 n × n n\times n n×n对称矩阵 A A A,可以通过对角化得到其对角化形式 A = P D P − 1 A=PDP^{-1} A=PDP1,但是如果 A A A不是对称矩阵或者不是方阵,则不能进行对角化,但是可以通过奇异值分解得到类似形式。对于对角化,利用的重要性质是 A v 1 = λ v 1 A\bold{v_1}=\lambda \bold{v_1} Av1=λv1以及对称矩阵的特征向量互相正交。对于任意 m × n m\times n m×n矩阵,可以看做是 R m \Bbb R^m Rm R n \Bbb R^n Rn空间的一个映射,是否也存在一些 A v 1 = σ 1 u 1 A\bold{v_1}=\sigma_1\bold{u_1} Av1=σ1u1的形式呢?
定理:奇异值分解
A A A是秩为 r r r m × n m\times n m×n矩阵,那么存在一个 m × n m\times n m×n矩阵 Σ \Sigma Σ D D D是一个 r × r r\times r r×r非零对角矩阵,其对角线元素是A的前 r r r个奇异值, σ 1 ≥ σ 2 ≥ . . . ≥ σ r > 0 \sigma_1\ge\sigma_2\ge...\ge\sigma_r\gt0 σ1σ2...σr>0,并且存在一个 m × m m\times m m×m正交矩阵 U U U n × n n\times n n×n正交矩阵 V V V,满足 A = U Σ V T A=U\Sigma V^T A=UΣVT,这个分解叫做 A A A的一个奇异值分解,矩阵 U U U V V V不是由 A A A唯一确定的(只确定了部分 U 和 V U和V UV正交基,其余满足单位正交条件即可),但 Σ \Sigma Σ对角线必须是 A A A的奇异值。
Σ = [ D 0 0 0 ] \Sigma=\left[ \begin{aligned} D \ \ & 0\\ 0 \ \ & 0\\ \end{aligned} \right] Σ=[D  0  00]

引入的过程
奇异值分解基于一般的矩阵对角化性质可以被长方形矩阵模仿:一个对称矩阵 A A A的特征值的绝对值,表示度量 A A A拉长或者压缩一个向量(特征向量)的程度,如果 A x = λ x Ax=\lambda x Ax=λx,且 ∣ ∣ x ∣ ∣ = 1 ||x||=1 ∣∣x∣∣=1,那么 ∣ ∣ A x ∣ ∣ = ∣ ∣ λ x ∣ ∣ = ∣ λ ∣ ∣ ∣ x ∣ ∣ = ∣ λ ∣ ||Ax||=||\lambda x||=|\lambda|||x||=|\lambda| ∣∣Ax∣∣=∣∣λx∣∣=λ∣∣∣x∣∣=λ
如果 λ 1 \lambda_1 λ1是具有最大数值的特征值,那么对应的单位特征向量 v 1 \bold{v_1} v1,确定一个有 A A A拉长影响最大的方向,也就是 x = v 1 \bold{x}=\bold{v_1} x=v1时, ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣长度最大化, ∣ ∣ A v 1 ∣ ∣ = ∣ λ 1 ∣ ||A\bold{v_1}||=|\lambda_1| ∣∣Av1∣∣=λ1。其中的原因在特征值部分已经做了介绍,任何向量都可以分解成特征向量的线性组合,选取最大特征值对应的特征向量方向,对向量的拉长自然是最大的。这里为什么要通过研究拉长最大的方向来引入奇异值,后面会做分析。
以一个矩阵 A A A为例,求 ∣ ∣ x ∣ ∣ = 1 ||\bold{x}||=1 ∣∣x∣∣=1的条件下 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大长度和此时的 x \bold{x} x
A = [ 4 11 14 8 7 − 2 ] A=\left[ \begin{aligned} 4&&11&&14\\ 8&&7&&-2\\ \end{aligned} \right] A=[48117142]
∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大值,等价于求 ∣ ∣ A x ∣ ∣ 2 ||A\bold{x}||^2 ∣∣Ax2的最大值,
∣ ∣ A x ∣ ∣ 2 = ( A x ) T ( A x ) = x T A T A x = x T ( A T A ) x ||A\bold{x}||^2=(A\bold{x})^T(A\bold{x})=\bold{x}^TA^TA\bold{x}=\bold{x}^T(A^TA)\bold{x} ∣∣Ax2=(Ax)T(Ax)=xTATAx=xT(ATA)x
( A T A ) T = A T A T T = A T A (A^TA)^T=A^TA^{TT}=A^TA (ATA)T=ATATT=ATA A T A A^TA ATA转置等于自身,是对称矩阵。根据前面对二次型的介绍,最大值的模是 A T A A^TA ATA的最大特征值 λ 1 \lambda_1 λ1,此时 x \bold{x} x为最大特征值 λ 1 \lambda_1 λ1对应的特征向量 v 1 \bold{v_1} v1,令 σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi ,叫做作矩阵 A A A的奇异值,故 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大值为 σ 1 = λ 1 \sigma_1=\sqrt{\lambda_1} σ1=λ1 .
考虑到 v 1 \bold{v_1} v1 m × 1 m\times 1 m×1,令 u 1 \bold{u_1} u1 R n \Bbb R^n Rn空间的单位基,则 A v 1 = σ 1 u 1 A\bold{v_1}=\sigma_1 \bold{u_1} Av1=σ1u1,进而推广 A v i = σ i u i A\bold{v_i}=\sigma_i \bold{u_i} Avi=σiui,这个推广是可行的,因为 A T A A^TA ATA是对称矩阵,所以 v i v_i vi之间相互正交(特征值一节已经证明,且证明比较简单)。幸运的是,在 R n \Bbb R^n Rn空间中, u i \bold{u_i} ui在奇异值不同的情况下也是相互正交的,因为:
u i \bold{u_i} ui u j \bold{u_j} uj对应不同奇异值 σ i \sigma_i σi σ j \sigma_j σj,则
σ i σ j u i ⋅ u j = ( σ i u i ) T ( σ j u j ) = ( A v i ) T ( A v j ) = v i T ( A T A ) v j = v i T λ j v j = 0 \sigma_i\sigma_j\bold{u_i}\cdot\bold{u_j}=(\sigma_i\bold{u_i})^T(\sigma_j\bold{u_j})\\ =(A\bold{v_i})^T(A\bold{v_j})=\bold{v_i}^T(A^TA)\bold{v_j}=\bold{v_i}^T\lambda_j\bold{v_j}=0 σiσjuiuj=(σiui)T(σjuj)=(Avi)T(Avj)=viT(ATA)vj=viTλjvj=0
下面来讨论,为什么要通过研究 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大值、次大值来引入奇异值的分析。首先当然是出于类比的原因,因为特征值和特征向量就是对单位向量拉长最大、次大。。的数值和方向。如果不加最大值这个限制,还能不能分解 A A A呢?此时仍旧可以分解 A = Q M V A=QMV A=QMV Q , V Q, V Q,V分别是 m × m , n × n m\times m, n\times n m×m,n×n的单位正交基,问题就在于,此时M就不是奇异值构成的对角阵了,且计算是比较复杂的,其实对称矩阵也可以写成非特征向量构成的P满足 A = P M P − 1 A=PMP^{-1} A=PMP1的形式,但是此时只是换了一组正交基,不能发现矩阵的本质特性,不能简化运算。按照这种分解方式,研究的是矩阵在椭圆的长轴、次长轴…一个分解的性质,具有明确的几何意义和物理意义。也正是因为奇异值分解有求取 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣最大值的含义,使其可以用于主成分分析法,拉长最大的方向,是将原像数据映射到像空间导致差别最大的数据,含有最多的分类信息量。

举个例子
求取 A = [ 1 − 1 − 2 2 2 − 2 ] A=\left[ \begin{aligned} 1&&-1\\ -2&&2\\ 2&&-2 \end{aligned} \right] A= 122122
第一步:先求 A T A = [ 9 − 9 − 9 9 ] A^TA=\left[\begin{aligned}9&&-9\\-9&&9\end{aligned}\right] ATA=[9999]
第二步:求 A T A A^TA ATA的特征值 λ 1 = 18 , λ 2 = 0 \lambda_1=18,\lambda_2=0 λ1=18,λ2=0和特征向量
v 1 = [ 2 2 − 2 2 ] v 2 = [ 2 2 2 2 ] \bold{v_1}=\left[\begin{aligned}\frac{\sqrt{2}}{2} \\ -\frac{\sqrt{2}}{2}\end{aligned}\right] \bold{v_2}=\left[\begin{aligned}\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2}\end{aligned}\right] v1= 22 22 v2= 22 22
第三步:求 U U U. 只能求得一个非零向量 u 1 = 1 σ 1 A v 1 = [ 1 3 − 2 3 2 3 ] \bold{u_1}=\frac{1}{\sigma_1}A\bold{v_1}=\left[\begin{aligned} \frac{1}{3} \\ -\frac{2}{3} \\ \frac{2}{3} \\ \end{aligned}\right] u1=σ11Av1= 313232
使用格拉姆施密特方法补齐U的单位正交基。 x 1 − 2 x 2 + 2 x 3 = 0 x_1-2x_2+2x_3=0 x12x2+2x3=0,分别取 x 2 = 0 , x 3 = 1 , 则 x 1 = − 2 x_2=0,x_3=1, 则x_1=-2 x2=0,x3=1,x1=2 x 1 = 0 , x 2 = 1 , 则 x 3 = 1 x_1=0,x_2=1, 则x_3=1 x1=0,x2=1,x3=1,此时后两个向量都和 u 1 \bold{u_1} u1正交,有格拉姆施密特方法,求得 u 2 = [ − 2 2 3 − 2 6 2 6 ] u 3 = [ 0 2 2 2 2 ] \bold{u_2}=\left[\begin{aligned} -\frac{2\sqrt{2}}{3} \\ -\frac{\sqrt{2}}{6} \\ \frac{\sqrt{2}}{6} \\ \end{aligned}\right] \bold{u_3}=\left[\begin{aligned} 0 \\ \frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} \\ \end{aligned}\right] u2= 322 62 62 u3= 022 22
求得A的奇异值分解为 A = U Σ V T = [ 1 3 − 2 2 3 0 − 2 3 − 2 6 2 2 2 3 2 6 2 2 ] [ 3 2 0 0 0 0 0 ] [ 2 2 − 2 2 2 2 2 2 ] A=U\Sigma V^T=\left[ \begin{aligned} \frac{1}{3} &&-\frac{2\sqrt{2}}{3}&&0 \\ -\frac{2}{3} &&-\frac{\sqrt{2}}{6}&&\frac{\sqrt{2}}{2} \\ \frac{2}{3} &&\frac{\sqrt{2}}{6}&&\frac{\sqrt{2}}{2} \\ \end{aligned} \right] \left[ \begin{aligned} 3\sqrt{2} &&0 \\ 0&&0 \\ 0&&0 \\ \end{aligned} \right] \left[ \begin{aligned} \frac{\sqrt{2}}{2} &&-\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2}&&\frac{\sqrt{2}}{2} \\ \end{aligned} \right] A=UΣVT= 313232322 62 62 022 22 32 00000 22 22 22 22
对于非0奇异值 3 2 3\sqrt{2} 32 实际上只有一个非零向量 v 1 \bold{v_1} v1 u 1 \bold{u_1} u1 U , V U,V U,V其余的正交基是为了满秩补齐的,实际上,在分解和计算A的时候,完全可以使用0进行填充,对与计算A没有任何影响。另外,对于 U U U因为只有一个正交基,所以另外的两个单位正交基实际上并不是唯一的(补齐它们,实际对计算A没有任何影响,因为在计算矩阵的时候,他们将和 Σ \Sigma Σ里的0值相乘)
对于奇异值分解若 A = U Σ V T A=U\Sigma V^T A=UΣVT,则 A T = V Σ U T A^T=V\Sigma U^T AT=VΣUT。对于 A A A的奇异值分解,若 λ i , v i \lambda_i, \bold{v_i} λi,vi分别是 A T A A^TA ATA的一个特征值和特征向量, σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi 是对应的奇异值,则有 A v i = σ i u i A\bold{v_i}=\sigma_i\bold{u_i} Avi=σiui σ i A T u i = A T A v i = λ i v i \sigma_iA^T\bold{u_i}=A^TA\bold{v_i}=\lambda_i\bold{v_i} σiATui=ATAvi=λivi,所以 A T u i = λ i σ i v i = σ i v i A^T\bold{u_i}=\frac{\lambda_i}{\sigma_i}\bold{v_i}=\sigma_i\bold{v_i} ATui=σiλivi=σivi,所以,如果 V V V的某一列是 A A A原像空间的单位正交基, U U U的对应列是 A A A的像空间的单位正交基,则 U U U的该列是 A T A^T AT原像空间的单位正交基, V V V的对应列是 A T A^T AT的像空间的单位正交基。所以 A T A^T AT的奇异值分解有上述形式。此处没有证明 A T A A^TA ATA A A T AA^T AAT具有相同的非零特征值。
基于这个原因对于求 A m × n A_{m\times n} Am×n的奇异值分解(m<<n),可以通过求 A T A^T AT的奇异值分解来实现,则计算复杂度降低:计算 A T A A^TA ATA复杂度从 2 m n 2 2mn^2 2mn2下降到 2 m n 2m^n 2mn,计算行列式的时间复杂度由 n ! n! n!下降到 m ! m! m!
因此,如果上面计算 A T A^T AT的奇异值分解,可以立即得到 A T = ( U Σ V T ) T = V Σ U T A^T=(U\Sigma V^T)^T=V\Sigma U^T AT=(UΣVT)T=VΣUT,而上述矩阵均为已知。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBoot-21 SpringBoot微服务的发布与部署(3种方式)
  • photoshop学习笔记——移动工具
  • ROS参数服务器增删改查实操Python
  • 网络安全常见错误及解决办法(更新中)
  • 数据结构——单链表OJ题(下)
  • Golang | Leetcode Golang题解之第279题完全平方数
  • UE5 C++跑酷练习(Part2)
  • paraFoam 运行 报错 usr/lib/x86_64-linux-gnu/libQt5Core.so 已解决
  • 将git默认的编辑器设置为vin
  • springboot3-web-questions-分析
  • flink 实现大数据实时数据采集
  • 2024年jupyter notebook如何复制单元格cell输出的图片
  • Spring Boot 中常用注解及其用法
  • Spring Security学习笔记(二)Spring Security认证和鉴权
  • [译] 深入浅出Rust基金会
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • export和import的用法总结
  • extjs4学习之配置
  • github从入门到放弃(1)
  • HashMap ConcurrentHashMap
  • HTTP那些事
  • Js基础知识(一) - 变量
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Python实现BT种子转化为磁力链接【实战】
  • Vue ES6 Jade Scss Webpack Gulp
  • 从零开始学习部署
  • 复习Javascript专题(四):js中的深浅拷贝
  • 来,膜拜下android roadmap,强大的执行力
  • 使用SAX解析XML
  • 小程序01:wepy框架整合iview webapp UI
  • 转载:[译] 内容加速黑科技趣谈
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​一些不规范的GTID使用场景
  • #HarmonyOS:基础语法
  • (1)虚拟机的安装与使用,linux系统安装
  • (70min)字节暑假实习二面(已挂)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (WSI分类)WSI分类文献小综述 2024
  • (笔试题)合法字符串
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (九)One-Wire总线-DS18B20
  • (五)关系数据库标准语言SQL
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (已解决)什么是vue导航守卫
  • .a文件和.so文件
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET C# 配置 Options
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .Net Remoting常用部署结构
  • .Net中ListT 泛型转成DataTable、DataSet
  • /etc/fstab 只读无法修改的解决办法
  • [2019红帽杯]Snake