数据分析、信号处理和机器学习中的矩阵方法

第02讲 矩阵乘法与矩阵分解

新MIT 线性代数|机器学习(中英机翻字幕)18.065 by Gilbert Strang_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com

18.065是线性代数和数学问题的混合。在这第一至两个星期中会回顾线性代数的亮点。

前面讨论了使用列乘行的矩阵相乘的方法。现在通过矩阵的五个关键分解来说明这一点。其中一些分解法(例如LU或QR)是线性代数中使用最广泛的MATLAB命令。

矩阵的LU分解与消元有关,是求解线性方程组的基本方法。LU代表下三角阵乘以上三角阵。

QR分解得到矩阵Q是正交矩阵,列向量是标准正交的,其产生过程与Gram-Schmidt正交化有关。

S代表对称,这是对称矩阵的特殊分解,Λ是对角特征值矩阵,这里的Q矩阵具有特征向量。记住两个事实-一个关于特征值的事实,另一个关于特征向量的事实。特征向量是正交的。对称矩阵有n个实数的特征值,矩阵可以对角线化。

S=QΛQT=

用矩阵QΛQT分解来讨论一下矩阵乘法。将矩阵分解视为两个矩阵相乘()QT。两个矩阵相乘的一种规则是,的一个列向量乘以Q转置的一个行向量得出一个矩阵,然后将这些矩阵相加。这是一个特殊的秩一矩阵,矩阵所有的列都是该列向量的倍数,所有行都是那个行向量的倍数。例:

这是一种不错的矩阵分解,称为谱定理。我们将对称矩阵S分为一些秩一矩阵的和。

验证一下:

注意第五个分解,其中矩阵U是正交矩阵,V也是。所以是正交矩阵乘以对角阵乘以正交矩阵,它叫做SVD-奇异值分解,适用于长方形矩阵。前面的有些分解取决于是否有足够的特征向量,并非每个矩阵都有足够的特征向量来完成这项工作,而SVD可以为每个矩阵工作。它有两个矩阵,而不是一组向量,它有两个不同的奇异向量集。


关于LU分解插几句,LU分解与消元有关,是求解线性方程组Ax=b的基本方法。高斯消元所做的所有行操作都用L乘以U来完美表示,这是18.06中的关键点,如果矩阵可逆的,则消元的过程一切顺利,并且主元不为零。

可参考18.06第二课

三少爷的贱男春:MIT—线性代数笔记02 矩阵消元​zhuanlan.zhihu.com

例:

将矩阵分解为秩一矩阵之和,则有

第一行和第一列保持原矩阵的行与列向量,然后将它扩展成为第一个秩一矩阵

,这样就剥离后得到第二个简单的矩阵

对于高阶矩阵,就是先通过第一行第一列构造第一个秩一矩阵矩阵,注意除以主元,剥离后剩下

,然后用同样的方法再处理剩下的部分……

本课程中我们会有很多关于QR、对称矩阵和SVD分解的讨论。

下面讨论线性代数的基本定理,本主题的基本思想。我发明了名称“四个基本子空间”。任意的m x n矩阵A(秩为r)定义了四个子空间。

可以参考课程:

三少爷的贱男春:MIT—线性代数笔记10 四个基本子空间​zhuanlan.zhihu.com

列空间 Column space C(A)

矩阵A的列空间是A的列向量的线性组合在Rm空间中构成的子空间,空间维度为r。

行空间Row space C(AT)

矩阵A的行空间是A的行向量的线性组合在Rn空间中构成的子空间,也就是矩阵AT的列空间,空间维度为r。

零空间Nullspace N(A)

矩阵A的零空间是Ax=0的所有解xRn空间中构成的子空间。向量xy都在矩阵的零空间中,则有A(x+y)=0A(cx)=0。在矩阵A的方程中,只有r个是真正线性无关的方程,它们能约束解向量里的r个元素,而未加约束的元素为n-r个,因此零空间维度为n-r。

左零空间Left nullspace N(AT)

我们称矩阵AT的零空间为矩阵A的左零空间,它是Rm空间中的子空间,左零空间维度为m-r。

例:

可知m=2,n=3,r=1。因此n-r=2,零空间中可找到两个满足Ax=0的线性无关的解,例如

。注意到它们和矩阵的行向量正交。

这就是线性代数基本定理的图像,除了空间维度,还有子空间之间的相互关联。

lu分解法matlab_MIT 18.065—机器学习中的矩阵方法02 矩阵乘法与矩阵分解相关推荐

  1. Python02 雅克比迭代法 Gauss-Seidel迭代法 列选主元法 LU分解法(附代码)

    1. 实验结果 (1)在定义的矩阵类中设置需要求解的方程为: (2)在 test.py 中选择雅克比迭代法求解: 输入:最大容许迭代次数和精度要求: 输出:根据谱半径判断方法是否收敛,收敛时得到满足精 ...

  2. 数值分析3-解线性方程组的高斯消去法、LU分解法及列主元消去法的matlab程序和调试方法

    对于形如Ax=b的线性方程组,在线性代数中是通过求逆的方式求解的,即x=A-1b,而在数值分析中,解线性方程组的方法是通过直接法或者迭代法来实现的,今天写的三个程序都属于直接法,分别为高斯消去法.LU ...

  3. Doolittle分解法(LU分解法)的Python实现

    在解一般的非奇异矩阵线性方程组的时候,或者在迭代改善算法中,需要使用LU分解法. 对于一个一般的非奇异矩阵A=(a11, a12,-,a1n,a21,-ann),可分解为一个下三角矩阵L和一个上三角矩 ...

  4. 计算方法:列主元消去法,LU分解法, 雅可比迭代法,高斯塞德尔迭代法 解线性方程(C++)

    Matrix.h包括矩阵类Matrix的定义,Matrix.cpp包括该类成员函数的实现,LinearEqu.h包括线性方程类LinearEqu的定义,继承自Matrix类,其中solve()方法为列 ...

  5. 计算机数值方法——LU分解法(C++\Python代码实现)

    算法流程 首先,LU分解法就是在高斯消元法的基础上,把矩阵AAA分解为一个上三角矩阵UUU与一个单位下三角矩阵LLL的乘积. 懒得敲LaTeX公式了,书上由具体的推导过程,这里我们重点介绍代码吧 主要 ...

  6. 解线性方程组的直接方法:LU分解法及其C语言算法实现

    在上一篇博客里面,笔者介绍了解线性方程组的列主元Guass消元法,这篇将介绍LU分解法及其算法实现. 什么是LU分解? 对于一个线性方程组Ax=b,其中A是非奇异系数矩阵,b是线性方程组右端项,在列主 ...

  7. 紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法

    紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法 标签:计算方法实验 /* 紧凑存储的杜利特尔分解法Doolittle:如果初始矩阵不要求保留的话,可以紧凑存储.因为每 ...

  8. LU分解法 | matlab

    % LU分解法 % M为输入的增广矩阵 % precision为输入的精度要求,如不输入或输入有误,则默认为10位if nargin == 2trydigits(precision);catchdis ...

  9. Matlab | Lab4——用LU 分解法、 Jacobi 迭代、 Gauss-Seidel 迭代 解线性病态方程组(系数矩阵为Hilbert矩阵)

    1.要求 考虑线性方程组Hx=b,其中H为n阶Hilbert矩阵,即 通过先给定解(例如取x的各个分量为1),再计算出右端向量b的办法给出一个精确解已知的问题. (1)分别编写Doolittle LU ...

最新文章

  1. HMM中文分词分析 知乎
  2. 单据体新增界面,单价与金额字段自动进行合计
  3. 【java.lang.UnsupportedClassVersionError】版本不一致出错
  4. ajax手机号码验证,Jquery Validation 插件验证手机号
  5. 论文笔记_S2D.06-2018-BMVC-用于实时语义分割的轻量级精细网络RefineNet
  6. Web的Cookies,Session,Application
  7. fckeditor代码总结
  8. JavaWeb项目-图书管理系统
  9. otc机器人tp_发那科机器人TP 示教器按键使用简介
  10. matlab 图例 显示为公式样式
  11. 记一次前端优化首屏加载
  12. 性能强大的家庭服务器,家庭服务器解决方案——硬件篇
  13. jquery mysql实现加入购物车_jquery-实现加入购物车效果
  14. 程序员夏天穿格子衫,那么冬天穿什么?答案扎心了哈哈哈哈
  15. 百度 ping php,百度ping方法示例代码 自动ping百度
  16. shell_一键部署脚本合集 .
  17. SPM软件的参考资料链接
  18. 中介房屋买卖合同及违约责任
  19. 图文解说 linux 安装 nginx
  20. Java基础不使用方法重载缺点

热门文章

  1. iOS 开发笔记-加载/初始化
  2. Maven Oracle JDBC
  3. AIX errpt 命令输出说明
  4. 解决CentOS 6 字体变成方框的方法
  5. 个人管理 - 我是这样偷着做架构的
  6. php判断搜索引擎来路,php实现判断访问来路是否为搜索引擎机器人的方法
  7. 如何配置 strongSwan 客户端 -- 节选自 OpenSuSE 中文用户手册
  8. SURF算法学习心得
  9. html——影响文档流属性详解
  10. 2D-六边形瓦片地图的随机生成