正文

这里关于基变换和伪逆做的都是简单的介绍,关于他们的更深入的理论介绍和更深入的应用介绍还需参考其他资料,然后补充。

基变换

基变换是图像压缩、信号压缩等应用的理论基础,通俗来讲就是对于给定的数据矩阵,我们选择一个较好的基来进行计算,目前还不错的基有傅里叶基和小波基。其中小波基有一些良好的特性,小波基中的列向量都是正交的。似乎在线性代数中,关于矩阵,我们都希望他们的基是正交的,这样会大大的方便我们的计算。 所谓较好的基就是指基的性质比较好,通常有以下两点:

  • 计算快
  • 少量的基向量就足够重现图像

基变换的公式:P=wc????P=wc ????P=wc???? 基变换就是要从一组旧的基变换到一组新的基。如从旧基XXX到新基CCC的变换:X=wCX=wCX=wC w是变换矩阵。

与基变换相类似的还有矩阵的变换,它更多的是来自于线性变换。例如:从A=[v1,v2,...vn]A=[v_1,v_2,...v_n]A=[v1​,v2​,...vn​]变换到B=[w1,w2,...wn]B=[w_1,w_2,...w_n]B=[w1​,w2​,...wn​],那么AAA和BBB必然有一些联系,即AAA相似于BBB,用公式表示为:B=M−1AMB=M^{-1}AMB=M−1AM,其中MMM就是基变换矩阵。

伪逆

之前我们介绍的逆就是一般情况下的逆,这种一般的情况在实际中往往很难满足,也就是实际中我们会遇到大量的矩阵,无法求逆,这个时候就需要使用一种称为伪逆的逆去近似使用。

左逆。 我们先看列满秩矩阵Am×nA_{m\times n}Am×n​,n&lt;mn&lt;mn<m。秩r=nr=nr=n,所以零空间中只有零向量。方程组Ax=bAx=bAx=b有0个或1个解。这是我们之前学习的内容,在提到的时候应该很熟练的了解到这些信息。这个时候ATAA^TAATA是n×nn\times nn×n的,也就是说它是一个可逆矩阵。因此有:(ATA)−1ATA=I(A^TA)^{-1}A^TA=I(ATA)−1ATA=I那么(ATA)−1AT(A^TA)^{-1}A^T(ATA)−1AT就是矩阵AAA的左逆,也就是当矩阵AAA左乘它的时候可以得到单位矩阵,但是右乘的时候不能得到单位矩阵。这种方式对于最小二乘是非常重要的。

右逆。 再看行满秩的矩阵Am×nA_{m\times n}Am×n​,则r=m&lt;nr=m&lt;nr=m<n。左零空间中只有零向量,但Ax=bAx=bAx=b总有解。这也是之前的相关内容。我们看AATAA^TAAT,这是一个m×mm\times mm×m的矩阵,并且它是可逆的,这是由rrr决定的。于是:AAT(AAT)−1=IAA^T(AA^T)^{-1}=IAAT(AAT)−1=I这个时候我们就得到了右逆,即AT(AAT)−1A^T(AA^T)^{-1}AT(AAT)−1。虽然左逆右乘和右逆左乘都不能够得到单位矩阵,但是会得到我们熟悉的矩阵:A(ATA)−1ATA(A^TA)^{-1}A^TA(ATA)−1AT,这是左逆右乘得到的投影矩阵,它是将矩阵投影到列空间上的矩阵;AT(AAT)−1AA^T(AA^T)^{-1}AAT(AAT)−1A,这也是投影矩阵的一种,之所以不常见,是因为它是将矩阵投影到行空间上的矩阵。

伪逆。 在某些情况下,我们不在整个向量空间上取逆,而仅仅限制在某些子空间上,通常是不包括零空间,这样得到的逆就是伪逆,虽然他们不是真正的逆,但它们确实是最接近于逆的矩阵了。伪逆记为:A+A^+A+。比如:在左逆的时候,只有在AAA是列满秩的情况下,ATAA^TAATA才可逆,最小二乘法才得以进行,但实际上却有很多不满足满秩的矩阵,这个时候就需要使用伪逆。每个矩阵都有伪逆,但不一定有左右逆。关于伪逆,这里介绍的非常有限,还需参考其他资料。

发现伪逆的方法: 这里介绍一种方法,通过奇异值分解进行寻找伪逆。之所以能够使用奇异值分解,是因为Σ\SigmaΣ中的值大都来自于ATA,AATA^TA,AA^TATA,AAT。如:对于矩阵AAA,A=UΣVTA=U\Sigma V^TA=UΣVT,并且Σ\SigmaΣ的值如下: Σ=[σ1...σn0...]Σ+=[1σ1...1σn0...]\Sigma=\begin{bmatrix}\sigma_1\\&amp;...\\&amp;&amp;\sigma_n\\&amp;&amp;&amp;0\\&amp;&amp;&amp;&amp;...\end{bmatrix}\qquad\qquad \Sigma^+=\begin{bmatrix}\frac{1}{\sigma_1}\\&amp;...\\&amp;&amp;\frac{1}{\sigma_n}\\&amp;&amp;&amp;0\\&amp;&amp;&amp;&amp;...\end{bmatrix}Σ=⎣⎢⎢⎢⎢⎡​σ1​​...​σn​​0​...​⎦⎥⎥⎥⎥⎤​Σ+=⎣⎢⎢⎢⎢⎡​σ1​1​​...​σn​1​​0​...​⎦⎥⎥⎥⎥⎤​在这种情况下,它们的积并不是单位矩阵,因为伪逆作用于原矩阵根本就得不到单位矩阵。它们的积如下:Σ+Σ=[1...10...]\Sigma^+\Sigma=\begin{bmatrix}1\\&amp;...\\&amp;&amp;1\\&amp;&amp;&amp;0\\&amp;&amp;&amp;&amp;...\end{bmatrix}Σ+Σ=⎣⎢⎢⎢⎢⎡​1​...​1​0​...​⎦⎥⎥⎥⎥⎤​不过左上角是一个n×nn\times nn×n的单位矩阵块。这实际上是投影在行空间上的投影矩阵。而ΣΣ+\Sigma\Sigma^+ΣΣ+得到的是m×mm\times mm×m的矩阵,它是投影在列空间上的投影矩阵。这就是伪逆的作用,无论乘在左边还是右边都得不到单位矩阵,但是能够得到投影矩阵,带我们进入行空间和列空间,排除了零空间。 这句话的几何意义还是非常的晦涩,所以还应该慢慢体会。接下来,我们就可以得到伪逆的公式:A+=VΣ+UTA^+=V\Sigma^+U^TA+=VΣ+UT奇异值分解和特征值分解都是非常非常厉害的工具,应用也是非常的广泛。伪逆使得实际应用范围更加广泛了。

线性代数系列(八)--基变换、左逆、右逆和伪逆相关推荐

  1. 清华大学公开课线性代数2——第6讲:伪逆

    此博客停止更新,迁移至SnailDove's blog,查看本文请点击此处,清华大学线性代数2笔记汇总:线性代数总结 笔记源自:清华大学公开课:线性代数2--第6讲:伪逆 **提示:**如果文中图片看 ...

  2. 7.2 伪逆和线性方程 $A\mathbf{x}=\mathbf{b}$

    7.2 伪逆和线性方程 Ax=bA\mathbf{x}=\mathbf{b}Ax=b 矩阵 444 个空间的正交基 1.根据 Avi=σiuiA\mathbf{v}_i = \sigma_i\math ...

  3. 线性代数学习笔记10-4:左右逆、伪逆/M-P广义逆(从四个子空间和SVD角度理解)

    下面讨论m×nm\times nm×n的秩为rrr的矩阵 对于不同情况,讨论逆矩阵 两侧逆矩阵 2-sided inverse 这也是一般所说的"逆矩阵"的含义 方阵A\bolds ...

  4. 线性代数之——对角化和伪逆

    这部分我们通过选择更好的基底来产生更好的矩阵.当我们的目标是对角化矩阵时,一个选择可以是一组特征向量基底,另外一个选择可以是两组基底,输入基底和输出基底是不一样的.这些左右奇异向量是矩阵四个基本子空间 ...

  5. 线性代数笔记34——左右逆和伪逆

    原文 | https://mp.weixin.qq.com/s/PRQQvSfmipxPBeF80aEQ1A 一个矩阵有逆矩阵的前提是该矩阵是一个满秩的方阵.然而很多时候遇到的都是长方矩阵,长方矩阵是 ...

  6. 函数平移口诀_八年级数学下册:一次函数的图像,平移口诀是“上加下减,左加右减”...

    八年级数学下册:一次函数的图像,平移口诀是"上加下减,左加右减" 一次函数的概念: 形如y=kx+b(k≠0)的函数,称y是x的一次函数. 一次函数的图像: [例1] (1)对于函 ...

  7. I/0口输入输出实验 流水灯程序 P0、P1、P2、P3口作为输出口,连接八只发光二极管,编写程序,使发光二极管从左至右循环点亮。

    P0.P1.P2.P3口作为输出口,连接八只发光二极管,编写程序,使发光二极管从左至右循环点亮.流水灯程序 程序: #include<reg51.h> //包含单片机定义寄存器的头文件 s ...

  8. 绝境求生(八数码有解无解的问题,求逆序)

    问题 E: [排序]绝境求生 时间限制: 1 Sec  内存限制: 64 MB 提交: 19  解决: 12 题目描述 The Eight Puzzle, among other sliding-ti ...

  9. Python数据分析学习系列 八 数据规整:聚合、合并和重塑

    Python数据分析学习系列 八 数据规整:聚合.合并和重塑 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下 ...

最新文章

  1. MIT 更新最大自然灾害图像数据集,囊括 19 种灾害事件
  2. 32.2. ntpdate
  3. CCNP-16 OSPF试验12(BSCI)
  4. BZOJ3029守卫者的挑战(概率dp)
  5. Leonbao:MapKit学习笔记
  6. Wireshark EndPoints窗口
  7. JDK13的六大重要新特性
  8. objective-c 逐帧动画
  9. [UWP]针对UWP程序多语言支持的总结,含RTL
  10. mysql 中文字符排序规则_mysql中字符集和排序规则说明
  11. java blob字段_java 存取blob字段
  12. 速度提升一倍,无需实例掩码预测即可实现全景分割
  13. 去O入云的探索--Oracle到MySQL的迁移改造方案
  14. hercules z/OS 安装 RPG 编译器
  15. 桌面虚拟云终端技术研究
  16. python 计算协方差_Python3Numpy——相关性协方差应用
  17. CXF处理Date类型的俩种方式
  18. Mac m1 安装jdk
  19. c语言中sprint的用法
  20. Android状态栏详解(全网最详)

热门文章

  1. 正则表达式限制VUE input只能输入正整数
  2. Ubuntu18安装后没有有线网卡怎么办?
  3. JAVA性能优化思路探究,让程序超顺畅
  4. c语言 链表倒序,C语言链表逆序方法技巧
  5. 【C语言】确定乒乓球比赛对战赛手名单
  6. 文本分类——常见分类模型
  7. 将js/css脚本放到png图片中的实践。
  8. go java 垃圾回收_Go/Java垃圾回收算法对比解析
  9. 通过httpClient实现google翻译
  10. ffprobe综合教程(内含7个示例)