,#1. 用途#

1.1 应用领域

  • 最优化问题:最小二乘问题 (求取最小二乘解的方法一般使用SVD)
  • 统计分析:信号与图像处理
  • 求解线性方程组: Ax=0或Ax=b Ax = 0 或 Ax =b
  • 奇异值分解:可以降维,同时可以降低数据存储需求

1.2 矩阵是什么

  • 矩阵是什么取决于应用场景
  • 矩阵可以是:
    • 只是一堆数:如果不对这堆数建立一些运算规则
    • 矩阵是一列列向量:如果每一列向量列举了对同一个客观事物的多方面的观察值
    • 矩阵是一个图像:它的每个元素代表对应位置的像素值
    • 矩阵是一个线性变换:它可以将一些向量变换为另一些向量

1.3 矩阵与线性变换

  • 矩阵的本质:矩阵的本质就是线性变换

  • 基-坐标系一个基定义了一个坐标系

  • 矩阵-线性变换:在线性空间中,当选定一组基(相当于确定坐标系)之后,不仅可以用一个向量来描述空间中的任何一个对象,而且可以用矩阵来描述此空间中的任何一个运行(变换),即任何一个线性变换, 都可以用一个确定的矩阵来加以描述

  • 向量:向量描述对象(在选定基之后)

  • 矩阵:矩阵描述对象的运动(在选定基之后)
  • 运动:使某个对象发生要求的运动,就是用描述此运动的矩阵乘以运动对象的向量(运动 * 对象 = 矩阵 * 向量)
  • 特征值-变换:同一个线性变换在同的坐标系(基)下的矩阵不同,但其本质相同, 所以特征值相同
  • 矩阵可进行哪些线性变换?
    • 旋转
    • 缩放
    • 投影
  • 矩阵包含这么多功能,当我们看着一个数据表,对它的功能一无所知,很是迷茫,为了达到我们人类的目的,大神们把它进行分解,从而达到我们人类理解、使用的目标。
  • 特征向量:都是正交的,即相互垂直
  • 特征值分解和奇异值分解:都是给一个矩阵(线性变换)找一组特殊的基
    • 特征值分解:找到了特征向量这一组基,在这组基下该线性变换只有缩放效果
    • 奇异值分解(SVD):则是找到两组基,从一组基到另一组的线性变换的旋转、缩放、投影三种功能独立地展示出来了

2. 特征值分解-方阵

  • 只有方阵才能进行特征值分解

  • 奇异值和特征值的重要意义相似,都是为了提取出矩阵的主要特征

  • 特征值的本质: Ax=λx Ax=\lambda x

  • 特征值分解:把方阵分解为缩放矩阵+特征向量矩阵,没有旋转或旋转角度为0

  • 特征值-变化的主次:如果我们想要描述好一个变换,那我们就描述好这个变换主要的变化方向就好了。反过头来看看之前特征值分解的式子,分解得到的 ∧ \land矩阵是一个对角阵,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)

  • 高维线性变换:当矩阵是高维的情况下,那么这个矩阵就是高维空间下的一个线性变换,这个线性变化可能没法通过图片来表示,但是可以想象,这个变换也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵(变换)。也就是之前说的:提取这个矩阵最重要的特征

  • 特征值分解总结:特征值分解可以得到:

    • 特征值:特征值表示的是这个特征到底有多重要
    • 特征向量:而特征向量表示这个特征是什么,可以将每一个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干很多的事情。
    • 特征值分解的局限:特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。

2.1 方阵的分解

  • 设 A∈Rn×n A \in R^{n \times n},则A可表示为:

    A=X∧X−1 A = X \land X^{-1}

  • X的列:为A的特征向量

  • ∧ \land为对角矩阵:对角线上的值为A的特征值,按从大到小的顺序排列

2.2 实对称矩阵的分解

  • 设 S∈Rn×n S \in R^{n \times n},且是对称矩阵,则S可表示为:

    S=U∧UT S = U \land U^{T}

  • U的列:为S的单位正交特征向量,即U是正交矩阵(列/行向量正交性、归一化,且 U−1=UT U^{-1} = U^{T})

  • ∧ \land为对角矩阵:对角线上的值为S的特征值,按从大到小的顺序排列
  • U就是矩阵A所定义的坐标系:U的n个列向量组成A的一个完备的标准正交特征向量系

3. 奇异值分解(SVD) - 非方阵

  • 只有非方阵才能进行奇异值分解

  • SVD分解:把矩阵分解为缩放矩阵+旋转矩阵+特征向量矩阵

  • A的非0奇异值的个数等于它的秩 r r

3.1 SVD定义

  • 设A∈Rm×nA \in R^{m \times n},且 rank(A) rank(A) = r r (rr > 0),则矩阵A的奇异值分解(SVD)可表示为:

    A=UΣVT A=U \Sigma V^T

    A=U[Σ000]VT=σ1u1vT1+σ2u2vT2+σrurvTr

    A = U\begin{bmatrix}\Sigma & 0 \\0 & 0 \\\end{bmatrix}V^T = \sigma_1u_1v_1^T + \sigma_2u_2v_2^T + \sigma_ru_rv_r^T

  • U U和VV都为正交矩阵

  • 几何含义

    • 表示找到了 U UVV这样两组基:A矩阵的作用是将一个向量从 V V这组正交基向量的空间旋转到UU这组正交基向量的空间,并对每个方向进行了一定的缩放(由 Σ \Sigma决定),缩放因子就是各个奇异值。如果 V V的维度比UU 大,则表示还进行了投影
    • 奇异值分解:将一个矩阵原本混合在一起的三种作用效果,分解出来了。
  • SVD分解如下图所示:

  • U∈Rm×m U \in R^{m \times m}(左奇异向量): U U的列为AATAA^T的正交特征向量

  • V∈Rn×n V \in R^{n \times n}(右奇异向量): V V的列为ATAA^TA的正交特征向量

  • AAT AA^T与 ATA A^TA:是实对称正定矩阵,且其特征值为非负实数

  • rank( AAT AA^T) = rank( ATA A^TA) = rank(A)

  • AAT AA^T与 ATA A^TA的特征值相同:为 λ1,λ2,...,λr \lambda_1, \lambda_2, ..., \lambda_r,且 λi≥λi+1,λi≥0 \lambda_i \ge \lambda_{i+1}, \lambda_i \ge 0

  • Σ∈Rm×n \Sigma \in R^{m \times n}: σi=Σii=λi−−√ \sigma_i = \Sigma_{ii} = \sqrt{\lambda_i},其它元素的值为0

  • Σ \Sigma = diag(σ1,σ2,...,σr) diag(\sigma_1, \sigma_2, ..., \sigma_r)

  • σi(i=1,2,...,r),σ1≥...≥σr>0 \sigma_i (i=1,2,...,r), \sigma_1 \ge ... \ge \sigma_r > 0:为矩阵A的全部奇异值

  • 奇异值σ跟特征值类似,在矩阵Σ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前 k k个大的奇异值来近似描述矩阵,这里定义一下部分奇异值分解:
Am×n≈Um×kΣk×kVTk×n

A_{m \times n} \approx U_{m \times k} \Sigma_{k \times k} V_{k \times n}^T

  • 右边的三个矩阵相乘的结果将会是一个接近于A的矩阵,在这儿,k越接近于n,则相乘的结果越接近于A。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)要远远小于原始的矩阵A,我们如果想要压缩空间来表示原矩阵A,我们存下这里的三个矩阵:U、Σ、V就好了。

3.2 SVD特征

  • 奇异值的比例不变性
    即 αA \alpha A的奇异值是A的奇异值的 |α| |\alpha|倍

  • 奇异值的旋转不变性
    若 P P是正交矩阵且detA=1detA=1(即 P P为旋转矩阵),PAPA的奇异值与 A A的奇异值相同

  • 奇异值的比例和旋转不变性:在数字图像的旋转、镜像、平移、放大、缩小等几何变换方面有很好的应用

  • 容易得到矩阵AA的秩为 k k(k≤rk \le r)的一个最佳逼近矩阵

    • 这个特性可以应用于信号的分解和重构, 提取有用信息,消除信号噪声

      A=UΣVT=σ1u1vT1+σ2u2vT2+σrurvTr

      A = U \Sigma V^T = \sigma_1u_1v_1^T + \sigma_2u_2v_2^T + \sigma_ru_rv_r^T

    • 权系数大的哪些项对矩阵 A A的贡献大,因此当舍去权系数小的一些项后,仍然能较好地接近矩阵AA,这一点在数字图像处理方面非常有用。

    • 矩阵 A A的秩kk逼近定义为:

      A=σ1u1vT1+σ2u2vT2+σkukvTk(1≤k≤r)

      A = \sigma_1u_1v_1^T + \sigma_2u_2v_2^T + \sigma_ku_kv_k^T \quad (1 \le k \le r )

    • 秩 r r逼近就精确等于AA,而秩 1 1逼近的误差最大

4. 齐次/非齐次线性方程组

  • 矩阵Am×nA_{m \times n}:

    • 方程组数: m m
    • 未知数的数量:nn
  • 齐次线性方程组: Ax=0 Ax = 0
    • 如果 m<n m (行数小于列数,即未知数的数量大于所给方程组数),则齐次线性方程组有非零解。
    • 齐次线性方程组的两个解的和仍是齐次线性方程组的一组解(加法封闭)
    • 齐次线性方程组的解的k倍仍然是齐次线性方程组的解(乘法封闭)
    • 齐次线性方程组的系数矩阵秩 rank(A)=n(detA≠0) rank(A)=n (detA \neq 0),方程组有唯一零解
    • 齐次线性方程组的系数矩阵秩 rank(A)<n(detA=0) rank(A),方程组有无数多解
    • 齐次线性方程组有非零解的充要条件是其系数行列式( det det)为零。等价地,方程组有唯一的零解的充要条件是系数矩阵不为零
  • 非齐次线性方程组: Ax=b(b≠0) Ax = b \quad (b \neq 0)
    • 非齐次线性方程组 有解的充分必要条件是:系数矩阵的秩等于增广矩阵的秩,即 rank(A)=rank(A|b) rank(A)=rank(A \;|\; b)(否则为无解)
    • 唯一解的充要条件是 rank(A)=n rank(A)=n
    • 无穷多解的充要条件是 rank(A)<n rank(A)
    • 解的结构:非齐次线性方程组的通解=齐次线性方程组的通解+非齐次线性方程组的一个特解
      η=ζ+η∗

      η=ζ+η*

5. SVD解优化问题

5.1 SVD解非齐次线性方程组( Ax=b Ax = b)

  • 求解非齐次线性方程组 Ax=b Ax=b
  • Am×n A_{m \times n}

    • m<n m: 方程个数小于未知变量个数,无唯一解
    • m=n m=n:若A可逆( detA≠0 detA \neq 0 或 rank(A) = n),有唯一解
    • m>n m>n:方程个数多于未知变量个数,若 rank(A)=rank(A|b) rank(A)=rank(A \;|\; b),则有解
    • 对于 m>n m>n, 有如下几种情况
      1) r(A)<r(A|b) r(A): 方程组无解
      2) r(A)=r(A|b)=n r(A)=r(A | b) =n:方程组有唯一解(约束较强
      3) r(A)=r(A|b)<n r(A)=r(A | b) :方程组无穷解(约束不够
      4) r(A)>r(A|b) r(A)>r(A | b): 不可能,因为增广矩阵的秩大于等于系数矩阵的秩(在矩阵中加入一列,其秩只可能增大,不可能变小)
  • M为正交矩阵, x x为列向量:则有||Mx||2=||x||2或记为:||Mx||=||x||||Mx||_2 = ||x||_2 或记为:||Mx|| = ||x||

    • ||x||2=||x||=xTx−−−−√ ||x||_2 = ||x|| = \sqrt{x^Tx}:即向量 x x的长度
  • 以下讨论前提为:m⩾nm \geqslant n

  • 等价于寻找 x x使||Ax−b||2||Ax -b||_2最小化 (向量2范数,转化为最优化问题)

    1) 对矩阵A进行SVD分解( Dm×n D_{m \times n}对角阵,且 rank(A)=n rank(A) = n):

    A=UDVT

    A = U D V^T
    则优化问题变为:

    min(||Ax−b||2)=min(||UDVTx−b||2)=min(||DVTx−UTb||2)

    min(||Ax-b||_2) = min(|| U D V^Tx -b ||_2) = min(|| D V^T x-U^Tb ||_2)

    2) 令:

    y=VTxb′=UTb

    y=V^Tx \quad b' = U^Tb
    则优化问题变为:

    min(||DVTx−UTb||2)=min(||Dy−b′||2)

    min(|| D V^T x-U^Tb ||_2) = min(|| D y-b' ||_2)

    3) 求解向量 y y:

    • 若Dy−b′=0D y-b' =0,即 Dy=b′ Dy=b',其方程组形式如下图所示:

      • 则有: yi=b′i/di(i=0,1,...,rank(A)) y_i = b_i'/d_i \quad (i=0,1,...,rank(A))

4) 求解向量 x x:

x=Vy

x=Vy

5.1.1 rank(A) = n的求解步骤

5.1.2 rank(A) < n的求解步骤

  • λi \lambda _i:是用于参数化的随机值(parametrized by the indeterminate values)

5.2 SVD解齐次线性方程组( Ax=0 Ax = 0)

  • 相似的情况,我们把问题转化为最小化 ||Ax||2 || Ax ||_2的非线性优化问题,我们已经知道了 x=0 x = 0是该方程组的一个特解,为了避免 x=0 x = 0这种情况(因为在实际的应用中 x=0 x = 0往往不是我们想要的),我们增加一个约束,比如 ||x||2=1 || x ||_2 = 1,这样,问题就变为(带约束的优化问题 s.t. : subject to):

    min||Ax||s.t.:||x||=1

    min ||Ax|| \quad s.t. : ||x||=1

    min||Ax||=min||UDVTx||=min||DVTx||且||x||=||VTx||

    min||Ax|| = min||UDV^Tx||=min||DV^Tx|| \quad 且 ||x|| = ||V^Tx||

    y=VTx则问题变为:min||Dy||s.t.:||y||=1(因为V为正交矩阵)

    \quad y=V^Tx \quad 则问题变为:min|| Dy || \quad s.t.: || y || = 1 \; (因为V为正交矩阵)

  • 由于D是一个对角矩阵,对角元素按降序排列,因此最优解在 y=(0,0,...,1)T y = (0, 0,..., 1)^T时取得,又因为 x=Vy x = Vy, 所以最优解就是V的最小奇异值对应的列向量,比如,最小奇异值在第6行6列,那么x 为 V的第6个列向量。
  • 求解步骤:

矩阵分解 (特征值/奇异值分解+SVD+解齐次/非齐次线性方程组)相关推荐

  1. 特征值分解,奇异值分解svd

    特征值分解: 特征值分解(Eigen decomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法.需要注意只有方阵才 ...

  2. 解方程AX=b与矩阵分解:奇异值分解(SVD分解) 特征值分解 QR分解 三角分解 LLT分解

    文章目录 1. 前言 2. LU三角分解 3. Cholesky分解 - LDLT分解 4. Cholesky分解 - LLT分解 5. QR分解 6. 奇异值分解 7. 特征值分解 1. 前言 本博 ...

  3. 视觉SLAM中的数学——解方程AX=b与矩阵分解:奇异值分解(SVD分解) 特征值分解 QR分解 三角分解 LLT分解

    前言 本博客主要介绍在SLAM问题中常常出现的一些线性代数相关的知识,重点是如何采用矩阵分解的方法,求解线性方程组AX=B.主要参考了<计算机视觉--算法与应用>附录A以及Eigen库的方 ...

  4. 矩阵特征值分解与奇异值分解(SVD)含义解析及应用

    原文链接:http://blog.csdn.net/xiahouzuoxin/article/details/41118351 特征值与特征向量的几何意义 矩阵的乘法是什么,别只告诉我只是" ...

  5. 线性代数学习笔记10-2:特征值分解EVD/奇异值分解SVD的几何意义

    前置知识 矩阵对应于线性变换,并且要明确讨论所依赖的基(坐标系):同一个变换,在不同的基下对应的矩阵不同 具体来说,矩阵中的列向量对应了基变换,而基的变换造成了原空间中所有向量的变换 B = P − ...

  6. 矩阵分析之 实矩阵分解(1)特征分解与奇异值分解SVD

    矩阵分析之 实矩阵分解(1)特征分解与奇异值分解 前言 特征分解(又称谱分解.对角化) 奇异值分解SVD SVD的进一步理解 前言 本篇开始学习记录矩阵分解内容.需要说明的是,目前我所触及的矩阵基本上 ...

  7. Matlab学习 矩阵分解,特征值, 特征向量

    文章目录 矩阵分解 1. 对称正定矩阵的Cholesky分解 2. 一般方阵的高斯消去法分解(LU分解) 3. 舒尔分解 4. 矩形矩阵的正交分解 特征值, 特征向量 矩阵分解 是把一个矩阵分解为多个 ...

  8. CUR矩阵分解(对比SVD)

    CUR矩阵分解 简单回顾一下SVD分解 提到矩阵分解,相信大家最熟悉的一定是SVD分解,但是SVD分解有两个缺点: 可解释性较差:对于SVD分解,大家通常的理解应该是,左奇异向量以及右奇异向量分别张成 ...

  9. 线性代数03 齐次/非齐次线性方程组的解(行列式与解的关系)

    上一篇文章介绍了关于矩阵的秩与线性方程组的解之间的关系.现在我们可以探究另一个非常重要的概念(行列式)与线性方程组的解的情况之间的关系. 1 行列式 首先,我们需要了解什么是行列式. 行列式,是一个相 ...

最新文章

  1. 实验三 ShellShock 攻击实验
  2. JS 表单和表单元素
  3. 边界都是1的最大正方形大小
  4. 迟到两年,Lu1与Cee合作的经典单曲《自己做决定》终于发布MV了!
  5. Django框架----Object Relational Mapping(ORM)
  6. 华为首款鸿蒙系统产品成行业,华为首款鸿蒙系统产品成行业公敌!只因开机无广告:遭十大品牌批评...
  7. vi中跳到文件的第一行和最后一行
  8. 主子式大于等于零的矩阵是半正定矩阵的证明方法之二
  9. linux unzip 解压到当前目录,Linux unzip命令详解
  10. 【vue】vue中如何实现SPA 单页面应用_09
  11. [RQNOJ]PID34 / 紧急援救
  12. C盘系统文件提示损坏怎么办?系统文件损坏怎么修复
  13. spyder 更改默认工作目录的最优方法
  14. 瑞利 随机 matlab,matlab产生瑞利分布随机信号
  15. Python在线办公系统毕业设计源码071116
  16. 如何下载Hugging Face 模型(pytorch_model.bin, config.json, vocab.txt)以及如何在local使用
  17. 【C++】栈~~(很详细哦)
  18. Error contacting service. It is probably not running.
  19. .npy文件的打开方式
  20. HEX文件格式解析(转)

热门文章

  1. uni-app打包h5后chunk-vendors.js文件大导致页面访问缓慢解决方案
  2. 电脑连不上手机热点问题
  3. SQL SERVER 2008 R2 清除数据库日志 sql语句
  4. 分步傅里叶算法_快速分步傅里叶算法,split-step fast Fourier transform,音标,读音,翻译,英文例句,英语词典...
  5. idea本地项目部署到远程windows服务器
  6. gdal--矢量求交
  7. excel多个窗口独立显示_【技巧】35个Excel表格的基本操作技巧!年前最后一次更新!...
  8. golang testing简介
  9. 微信微网站的服务器ip地址查询,微信开发之(三)获取微信服务器IP地址
  10. Postman做web接口自动化测试 一