题题目

线性代数A矩阵乘以A的转置的含义或者几何意义我是在最小二乘法和SVD分解这部分知识中看到的,非常的迷惑,而且为什么A的转置乘以A的特征值是和A乘以A的转置的特征值是相同的呢重分!

优优质解答

(下面以A(T)表示A的转置.)

先从奇异值说起.我个人的理解,奇异值是特征值的一种推广.因为只有方阵才可能具有特征值,对于实际遇到的一些问题(比如最小二乘问题),往往遇上长方阵,长方阵根本没有特征值.因而就有必要对特征值做推广,这就是奇异值.

再看什么是奇异值.对于任意矩阵A(甚至是非方的),A(T)A(这个时候就变成方阵了,可以算特征值了)的特征值就称为A的奇异值.奇异值有个特性,就是A(T)A和AA(T)特征值相同.证明如下:

【假定A(T)A做了一个特征分解,为:

A(T)A = QΣQ(T)

对上式取转置,有

AA(T) = QΣ(T)Q(T)

显然,Σ是个对角阵,因而,Σ(T) = Σ

故而,AA(T)和A(T)A有完全一致的特征分解,即共特征值】

再看特征值和奇异值的关系.对于长方阵来说,它根本不存在特征值,所以之后再讨论.对于方阵来说,容易证明,其所有奇异值恰好为其所有特征值的模长的平方(即奇异值全实非负),因而奇异值和特征值有相当良好的对应关系.证明如下:

【假定方阵A有如下特征分

A = QΣQ(T)

则A(T)A = (QΣQ(T))(QΣQ(T)) = QΣΣQ(T)

因而,A(T)A的特征值,也就是A的奇异值,恰好为A的特征值的模长的平方】

【当然,对于复数域情况,里边的T要改成H,那么前一个Σ自然会带上复共轭】

再看奇异值为什么重要.我们知道,对于一个方阵来说,特征分解后,从特征值和特征向量我们就可以知道矩阵的大量性质.对于非方阵来说,我们也希望得到一个这样信息量巨大的分解,这就是奇异值分解(SVD).这个SVD分解里边左右奇异向量分别是什么你的书上肯定都有,就不写在这里了.

最后看一下SVD分解和最小二乘的关系.我们知道,最小二乘有个解法,对于Ax = b的最小二乘问题,等价于求解其法方程A(T)Ax = A(T)b,这个时候就变成方阵的问题了.但是这种算法是不稳定的.一种更为有效的算法就是SVD分解并利用广义逆求解.

看一下广义逆和最小二乘、SVD的关系.广义逆可以百度一下.定义有很多式子.但是,对于可逆阵来说,广义逆就是逆.这里把A的广义逆记作A(+).则Ax = b的最小二乘解就是x = A(+)b.所以,现在的问题就是,怎么求A的广义逆A(+).通过SVD分解,广义逆可以这么求:

如果A有SVD分解如下:

A = VΣU(T)

则A(+) = UΣV(T)

当然,这里叙述可能不那么严谨.因为还涉及到Σ的形状什么的,所以两个式子的Σ形状大小不一样,形状变了,补0就行.

因此,SVD分解就完美解决了最小二乘问题.

-----更正---------

说错了一点点,奇异值不是特征值的模长的平方,它就是模长,因为奇异值要对Σ(H)Σ对角线开算术平方根.

追问:

那对于最小二乘法,为什么要在左右乘上A的转置进行求解呢?

追答:

那种解法称作“法方程”解法。相当于求得一个x,使得A(T)(b-Ax)=0,也就是残差与矩阵A行向量的内积为0,即残差与矩阵A的行空间正交,由投影定理,可以证明,此时残差二范数最小。以上就是法方程的几何意义。法方程的解恰好是最小二乘解还有其他更严格的证明,比如泛函式的证明。但是,法方程法不是最佳解法。一般较优解法是QR分解法以及广义逆法(配合SVD分解)。

matlab中转置矩阵的特征值,矩阵乘以矩阵的转置运算的解析相关推荐

  1. matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...

    导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...

  2. 2.4 矩阵乘以矩阵定义

    矩阵乘以矩阵 乘法定义 进一步分析基变换关系, nnn 维空间中任意向量 x=a1v1+⋯+anvn\mathbf{x}=a_1\mathbf{v_1}+\cdots+a_n\mathbf{v_n}x ...

  3. matlab中除法的使用,错误使用 / 矩阵维度必须一致

    错误使用  /  矩阵维度必须一致. 当出现这个错误,说明除数符号写错了,需要从/变成./就可以了 matlab中的乘除法: 1.数字之间相乘/相除 >> a=3; >> b= ...

  4. matlab改变矩阵的元素,Matlab中元素不变情况下改变矩阵形态——reshape()

    reshape把指定的矩阵改变形状,但是元素个数不变. 例如,行向量: a = [1 2 3 4 5 6] 执行下面语句把它变成3行2列: b = reshape(a,3,2) 执行结果: b = 1 ...

  5. python怎么矩阵的秩_python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...

    在MATLAB中轻松,轻松.使用QR,特别是枢轴QR. M = [3 0 0 0 0; 0 0 1 0 0; 0 0 0 0 1; 0 2 0 0 0] [Q,R,E] = qr(M) Q = 1 0 ...

  6. Matlab中创建、串联和扩展矩阵

    目录 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB® 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以是数字.逻辑值(true 或 ...

  7. matlab 矩阵维度受限,matlab中变量问题——readonly 索引超出矩阵维度 workspacefunc 215...

    matlab程序运行过程中会出现如上提示,在网上检索未果,键入dbstop if error语句也无法定错误之处,就想这个错误不是一般的错误. 通过间隔打断点的方式最后定位错误为一句exist = f ...

  8. matlab矩阵非方阵求逆,python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...

    假设您具有满秩的NxM矩阵A,其中M> N.如果我们用C_i表示列(尺寸为Nx1),那么我们可以将矩阵写为 A = [C_1, C_2, ..., C_M] 如何获得原始矩阵A的第一个线性独立列 ...

  9. matlab inline feval,matlab中关于函数句柄、feval函数以及inline函数的解析

    MATLAB函数句柄 函数句柄(Function handle)是MATLAB的一种数据类型. 包含了函数的路径.函数名.类型以及可能存在的重载方法: 引入函数句柄是为了使feval及借助于它的泛函指 ...

  10. matlab中索引超过维度,索引超出矩阵维度怎么解决?

    索引超出矩阵维度. 出错 reduceEI (line 3) if any(M(1,:)) 出错 EIsum (line 4) f=reduceEI([[zeros(max(Msize(1),Nsiz ...

最新文章

  1. Java面向接口编程,低耦合高内聚的设计哲学
  2. dubbo+zookeeper与提供者、消费者之间端口通信问题(No provider available for the service)
  3. php扩展调试,5分钟学会PHP扩展开发与断点调试
  4. Oracle 数据库启动 startup和startup force的区别
  5. 由浅到深理解ROS(2)
  6. Android SDK安装与环境配置
  7. 高效安全存储之选 佰维A3系列240G固态硬盘试用手记
  8. java中的Vector的用法
  9. 【数字全排列】LeetCode 47. Permutations II
  10. 进程间通信学习APUE学习---进程间通信(4)
  11. 2021 年 35+ 最佳免费 WordPress 博客主题
  12. YTU oj 3272: 公民身份号码
  13. 鸿蒙OS不支持游戏,部分安卓游戏在华为鸿蒙 OS 上运行,被识别成使用 PC 端模拟器...
  14. 数学符号Span的含义
  15. 基于深度学习的场景分类算法
  16. C语言程序设计课程设计(服装销售管理系统)
  17. cs反恐特警3d版2java_CS反恐特警增值版
  18. BIM模型文件下载——售楼中心室内装饰Revit模型
  19. java实现音乐播放功能
  20. html表格数据垂直居中显示,html如何设置表格单元格内容垂直居中?

热门文章

  1. checkIP——烂代码又堆了一个ip活性检测工具
  2. 简单使用ember后的几点感想
  3. Windows Phone上的相机景深计算器
  4. 思科模拟器-单臂路由tftp配置
  5. 安装XAMPP遇到的问题(一)——要求关闭UAC以及权限问题
  6. 笔记-神经网络滑模控制设计方法
  7. 常微分方程机敏问答简介
  8. 特意整理出来一百套游戏源码,免费分享给大家
  9. 射频芯片ATE测试从入门到放弃之基本概念
  10. FlashFXP 4.2.4 破解版