如何直观理解矩阵和线性代数?

想从直觉上理解矩阵的定义,运算规则和属性,比如特征向量什么的。 网上有流传甚广的《理解矩阵》老三篇理解矩阵(一) 。非常欣赏这样的教程的思路、文笔,也…
关注者
6,122
被浏览
634,153

60 个回答

长文预警。7月2日已全部更新完毕,并修正几处typo。

要直观理解线性代数里面那些奇奇怪怪的东西,比如什么特征向量,最小二乘等,最好从几何的角度来理解。这篇回答会从几何的角度来从头开始讲线性代数,所以顺序可能和教科书不太一样,目的是增进理解,但是可能对于解题没有太大帮助。为了更方便大家在脑海里获得图像,我们尽量先从二维[公式] 的情况来得出「直观」的结论,然后再推广到高维。

目录:

1. 基向量
1.1. 普通二维向量
1.2. 二维基向量
2. 线性变换
2.1. 基本定义
2.2. 求解表达式
2.3. 几何意义
3. 矩阵
3.1. 基本定义
3.2. 运算
3.3. 几何意义
3.4. 矩阵的转置
3.5. 矩阵的逆
3.6. 矩阵的行列式(det)
3.7. 矩阵的秩(rank)
4. 线性空间(向量空间)
4.1. 线性空间的定义
4.2. 线性空间的基
5. 矩阵分解
5.1. 特征向量和特征值
5.2. 矩阵分解
5.3. 矩阵的SVD(奇异值分解)
6. 子空间与投影矩阵
6.1. 子空间
6.2. 矩阵的四个子空间
6.3. 子空间的投影
7. 最小二乘与线性回归

基向量

普通二维向量

基本定义

在平面上既有大小又有方向的量。可以用一个二元坐标来表示,比如 [公式] ,表示终点相对于起点的偏移量为x和y,也可以理解为把向量起点放到坐标原点上,终点所在的坐标。

几何意义

可以用一个箭头来"绘制"二维向量,箭头的长度就是向量的模,箭头的方向就是向量的方向。这个向量你随意放在坐标系的任何地方,只有长度和方向不变,那就是同一个向量,且易证只要长度方向不变,其坐标表达式就不变。比如图中的蓝色箭头都是同一个向量 [公式]

向量的几何表示

计算

若有任意向量 [公式] ,任意实数 [公式]

向量的长度(模): [公式]

向量的加法: [公式] ,且满足平行四边形法则,说白了就是把 [公式] 的起点平移到 [公式] 的终点上,然后以 [公式] 的起点为起点,以 [公式] 的终点为终点的向量就是它们的和。如图,蓝色的是 [公式][公式] ,红色的就是 [公式]

向量加法,也即收尾相连(和平行四边形法则一样)

向量的数乘: [公式] ,比如 [公式] ,就是3个 [公式] 相加,按照加法的本质(首尾相连)可以轻易求出向量的数乘, [公式] 如图所示

向量数乘,即多个向量相加

向量的点积: [公式] 。要理解它的本质其实很简单,两个方向不同的玩意怎么相乘呢?那就先让它们方向相同,也就是让其中一个向量作另一个向量的投影,所以它的本质就是其中一个向量投影到另一个向量身上的长度乘以另一个向量的长度。若已知它们的夹角为[公式] ,那么就有 [公式] ,而其结果等同于行向量乘以列向量: [公式] ,至于为什么会存在这种“巧合”,需要在几何上通过线性变换的几何本质进行证明,具体证明过程这里就先忽略了。

二维基向量

在平面系统中有一对基向量 [公式] ,用它们的线性组合(加法和数乘)来表示任意的向量,也就是任意向量 [公式] 。如图用基向量来表示 [公式]

这是非常重要的思想,请牢牢记在脑海中。

实际上基向量可以任意去取,你可以在坐标系中任意找两个向量作为基向量,只要这一对基向量线性无关(不共线),那么它们就可以用来表示这个坐标系下所有存在的向量。

简单证明一下:任意一对线性无关的基向量 [公式] ,只考虑加法和数乘。则对于任意的向量 [公式] ,一定存在两个实数 [公式] ,使得

[公式]

那么就有方程组:

[公式]

因为 [公式] 线性无关,即 [公式] ,也就是 [公式] ,那么方程就存在唯一解:

[公式]

那么对于任意的向量 [公式] ,和一对基向量 [公式] 我们都能找到两个常数 [公式] 来表示这个向量

[公式]

顺便一提,如果这对基向量线性相关(共线),那么它们就只能表示它们所在的那条直线上的所有向量;而如果它们都是零向量,则它们只能表示零向量。

这对基向量能表示的所有的向量的集合,叫做这对基向量张成的空间。在平面中,如果这对基向量线性无关,则它们张成的空间就是整个平面;如果它们线性相关,则张成的空间就是它们所在的直线;如果它们是零向量,则它们张成的空间就是原点。

线性变换

基本定义

所谓变换就是一个函数,这个函数接收一个向量作为输入,即需要变换的向量,输出一个新的向量,即变换后的向量: [公式][公式] 就是一个变换。在几何上的意义就是把一个向量“变形”成另一个向量,比如旋转、缩放、斜切等。那满足什么条件的变换才是「线性」变换呢?严格定义如下,变换需满足:

[公式]

[公式]

即可加性和等比例(一阶齐次),则变换 [公式] 就是线性变换。

在几何上需满足:所有起点位于原点的向量经过变换后起点仍然处于原点(故平移不是线性变换);所有在同一直线上且等距的点变换后仍处于同一直线且等距。

求解表达式

我们在二维空间( [公式] )来求解一下函数 [公式] 的表达式(可将结论推广到任意维)。令 [公式][公式] 的一组基。

如果有任意线性变换 [公式] ,将它作用于任意向量 [公式] ,即 [公式] ,可用基向量表示为 [公式]

由线性变换的性质:

[公式]

我们来关注一下结论:

[公式]

再进一步,我们定义两个新的基向量:

[公式]

接下来我们对(1)式进行变形:

[公式]

若令 [公式] ,那么我们可以构造一个矩阵 [公式]

对(2)式进一步计算:

[公式]

只关注一下结果:

[公式]

其中 [公式]

也就是说线性变换即输入向量左乘一个矩阵,该矩阵是原基向量 [公式] 进行线性变换后的基向量构成的:[公式]

几何意义

如果上面这段描述读起来有点懵逼,我们在几何上来看线性变换。如图,对于蓝色的向量 [公式] ,它是由2个 [公式] 和3个 [公式] 加起来的即 [公式] ,现在我们想要得到一个线性变换,使得任意输入向量顺时针旋转60°,也就是对于任意输入向量,输出向量是它顺时针旋转60°后的结果。我加了一个动画来看看这个线性变换作用于平面上所有向量(想象蓝色的向量就是任意一个向量)的效果:

线性变换后,蓝色的向量经过旋转变成了新的向量 [公式] ,红色的向量(基向量)经过线性变换变成了新向量 [公式] ,而 [公式] ,其旋转后的表达式仍然不变,也就是说我们有

[公式]

所以说要找到线性变换的变换矩阵,就是看线性变换后的两个基向量跑到哪去了。所以我们可以把矩阵看做是一个线性变换的表示,该矩阵的列就是原基向量线性变换后的表达式。

矩阵

基本定义

[公式] 个数 [公式] 排成的m行n列的数表称为m行n列的矩阵,简称 [公式] 矩阵。记作:

[公式]

[公式] 个数称为矩阵A的元素,简称为元,数 [公式] 位于矩阵A的第i行第j列,称为矩阵A的[公式] 元,以数[公式][公式] 元的矩阵可记为 [公式][公式] ,m×n矩阵A也记作 [公式]

[公式] ,则矩阵A又称为n阶方阵,记作 [公式] ,若方阵对角线上的元素都为1,则称为单位矩阵,记作 [公式] ,比如 [公式] ,任意矩阵乘以单位矩阵都是它本身: [公式]

运算

矩阵相等

如果 [公式] 的行数和列数相同,且对于任意的 [公式] 都有 [公式] ,则称矩阵A与矩阵B相等,记为 [公式] ,注意:不同阶数的零矩阵是不相等的。说白了矩阵相等的充要条件是:两个矩阵阶数要一样,且对应位置的元素要相等。

矩阵乘法

左边矩阵的行向量依次乘以右边矩阵的列向量。具体地:左矩阵第i行的行向量乘以右矩阵第j列的列向量所得结果作为结果矩阵第i行第j列的元素,所以左矩阵的列数须等于右矩阵的行数才可相乘:

若有两个矩阵

[公式]

则左矩阵的两个行向量 [公式] ,右矩阵的两个列向量 [公式] ,可求得矩阵乘积的结果为:

[公式]

矩阵乘法满足结合律不满足交换律。

几何意义

矩阵的几何意义

线性变换。把矩阵看做线性变换是理解矩阵(极其后面的各种性质)的非常重要的思想!

对于任意矩阵 [公式] 可看做是一个线性变换,该线性变换将原基向量 [公式] 在平面上变换成了新的一对基向量 [公式]

向量左乘矩阵的几何意义

对该向量进行矩阵所表示的线性变换。

矩阵乘法的几何意义

将多个线性变换复合成一个线性变换。

证明:

若有矩阵 [公式] ,和任意向量 [公式] ,将向量进行 [公式] 所表示的线性变换得到变换后的向量 [公式] ,再对 [公式] 进行矩阵 [公式] 所表示的线性变换,得到变换后的向量 [公式] ,所以有 [公式]

其中 [公式] ,也就是对原向量 [公式] 进行线性变换 [公式] 的结果等同于先进行线性变换 [公式] 再进行线性变换 [公式] ,证明了矩阵乘法就是将多个线性变换 [公式] 复合成一个线性变换 [公式]

矩阵的转置

把矩阵的行和列反过来写: [公式]

运算性质: [公式]

矩阵的逆

[公式] 为n阶方阵,如果存在n阶方阵 [公式] ,有 [公式] ,则 [公式][公式] 的逆阵,记作 [公式] 。只要有 [公式] ,必然有[公式]

性质:

1、 [公式]

2、 [公式]

3、A,B均是同阶可逆矩阵,则( [公式]

4、 [公式]

矩阵的逆就是线性变换的逆变换,比如若 [公式] 表示顺时针旋转90°的话,那么 [公式] 就表示逆时针旋转90°,总之,先经过 [公式] 变换后再经过 [公式] 变换,向量就会变成原来的样子(因为 [公式] , [公式] 所表示的线性变换就是“不做任何变换”)。

矩阵的行列式(det)

基本定义

只有方阵才有行列式,记作 [公式][公式] 。若 [公式][公式]

几何意义

n维空间中的物体进行矩阵所表示的线性变换后其体积的缩放比例。考虑二维平面下的线性变换比较直观,如图,原基向量 [公式] ,若将 [公式] 形成的平行四边形面积(二维空间的体积就是面积)记作 [公式] ,那么很明显在变换前这个平行四边形就是一个边长为1的正方形,有 [公式]

若某线性变换将它们变成了 [公式] ,也就是该线性变换的变换矩阵为 [公式] ,此时平行四边形的面积根据底乘高为 [公式]

那么矩阵 [公式] 所表示的线性变换使得变换后的面积变为了原来的 [公式] 倍,所以 [公式] ,这就是行列式的几何意义。

若行列式为0,则表示该线性变换将会使n维空间下的物体压缩到m(m<=n-1)维空间下去,同时线性方程组 [公式] 无解,因为 [公式] 是N维方阵, [公式] 是N维列向量,而 [公式] 所表示的线性变换会让 [公式] 被压缩到更低纬度下去,即列向量 [公式] 的维度小于 [公式] 的维度,所以你找不到这样的 [公式] 能满足方程。

[公式][公式] 不一定相等,但是 [公式] ,这个性质用几何意义来想就很容易想明白为什么。

矩阵的秩(rank)

基本定义

矩阵进行初等行变换后不全为0的行数,矩阵的秩记作 [公式][公式]

几何意义

本质上就是n维向量在进行该矩阵所表示的线性变换后变成rank维的向量,若n=rank,则该矩阵满秩。满秩表示矩阵所表示的线性变换不会使输入向量降维。

性质

这些性质用线性变换的角度来看矩阵就很容易想明白。

1. 零矩阵的秩是0,因为零矩阵乘以任意向量都会变为零向量,就是个点,意味着零矩阵表示的线性变换使得任意向量压缩到了0维空间,所以秩为0。

2. 如果 [公式] ,则 [公式]

3. [公式]

4. 如果 [公式] 可逆,那么 [公式]

5. 满秩 [公式] 行列式不为0 [公式] 可逆

线性空间(向量空间)

线性空间是纯抽象的概念,也是线性代数中最重要的概念之一,它没有对应的几何意义(至少我暂时还想不出来),所以这里我尽量讲的白话一些。

线性空间的定义

满足以下条件的集合就是线性空间,而该集合里面的元素叫做“向量”。

如果 [公式] 表示所有实数的集合( [公式] 里面每一个元素都是实数且R包含了所有可能的实数),这时我们寻找一个集合 [公式] ,这个集合V中的任意两个元素 [公式] ,都能找到另一个元素 [公式] 能表示为这两个元素的和,记作 [公式] ;且对于任意实数 [公式] ,和任意元素 [公式] ,都能找到对应的元素 [公式] 作为 [公式][公式] 之积,记作 [公式] ;且这两个运算(和、积)须满足以下八条性质:

对于任意的 [公式]

  1. [公式]
  2. [公式]
  3. 在V中存在零元素 [公式] ,有 [公式]
  4. 在V中存在 [公式] 的负元素 [公式] ,使得 [公式]
  5. [公式]
  6. [公式]
  7. [公式]
  8. [公式]

[公式] 叫做线性空间或者向量空间,满足这八条性质的加法和数乘叫做线性运算。

本质:对任意的 [公式] 都有 [公式] ,则集合 [公式] 是线性空间。

我们目前认识的,一个“箭头”这样的“向量”的集合就是线性空间,但是不仅是箭头,任何元素,只要你能想到的,并且自己定义出它们之间的加法和数乘,满足以上本质的,都可以叫做“向量”。

矩阵的值域

[公式] 是一个固定矩阵,则集合 [公式] 是线性空间。

这就是把矩阵A看做一个固定线性变换, [公式] 表示n维向量空间,是一个集合,里面的元素全都是n维向量,且包含所有n维向量。则 [公式] 表示任意的n维向量,左乘矩阵表示任意n维向量 [公式],施加该线性变换后的结果也就是 [公式] ,所有的可能构成一个集合 [公式] ,这个集合 [公式] 很明显也是一个线性空间。

证明:(目标,任意的 [公式] , [公式]

[公式] ,则 [公式]

由于 [公式] ,根据线性空间的本质,令 [公式]

所以 [公式] ,证毕。

我们称这样的 [公式] 为矩阵 [公式] 的值域(把矩阵当做线性变换的思想)。

矩阵的核

[公式] 是一个固定矩阵,则集合 [公式] 是线性空间。

证明:(目标:任意 [公式] , 证明 [公式] ,即 [公式]

[公式]

所以 [公式] 得证。

我们称这样的V为矩阵A的核(方程组 [公式] 的解空间),所以矩阵的核的几何意义就是:一个向量的集合,集合中任意元素进行矩阵所表示的线性变换,都会被压缩成零向量,且集合中包含了所有满足该条件的向量,这个集合就是矩阵的核。

线性空间的基

线性表示

对于任意的 [公式] ,若存在一组实数 [公式] ,满足 [公式] , 则称 [公式] 可以由 [公式] 线性表示。

线性相关

对于任意的 [公式] ,若存在一组不全为0的实数 [公式] ,满足 [公式] , 则 [公式] 线性相关。

线性相关 [公式] 至少存在一个向量可以被其余向量线性表示。

任意n+1个n维向量一定线性相关!

线性无关

对于任意的 [公式] ,若满足 [公式] , 则必有 [公式] ,则 [公式] 线性无关。

例:证明向量 [公式] 线性无关。

证:设 [公式] ,我们有 [公式]

[公式]

得证。

线性空间基的定义

通过二维基向量的认识来理解任意维空间的线性空间基向量会非常好理解

在线性空间 [公式] 中,如果存在n个元素 [公式] ,满足:

  1. [公式] 线性无关;
  2. [公式] 中任一元素 [公式] 都可以由 [公式] 线性表示。

那么, [公式] 称为线性空间 [公式] 的一个基, [公式] (基的个数)称为线性空间 [公式] 的维数。

空间V称为由基 [公式] 张成的线性空间,记作 [公式]

性质

[公式]

例: 方程组 [公式] 的基础解系 [公式] 为其解空间的一组基

方程的解: [公式] 其中 [公式] 为任意实数

坐标

[公式] 是一个线性空间, [公式] 是线性空间的一组基,对于 [公式] ,如果有 [公式] ,那么 其表示系数所构成的n维实向量 [公式] 称为 [公式] 在基 [公式] 下的坐标。所以,线性空间的元素称为向量。

例: 二维实向量空间 [公式] 是一个线性空间,向量组 (这里偷懒用行向量来写一下)[公式] 分别都是 [公式] 的一组基。向量 [公式] 可以表示成 [公式] 或者 [公式] 。那么 [公式] 在基 [公式] 下的坐标是 [公式] ,在基 [公式] 下的坐标是 [公式]

坐标转换

对于二维实向量空间的一对基 [公式] 和另一对基 [公式] ,它们的坐标之间应该怎样转换呢?

[公式]

[公式]

从线性变换的角度来看就相当好理解了:我们可以把坐标的转换看做一个线性变换。

若有一线性变换矩阵 [公式] ,基A下的一向量施加该线性变换后变为了 [公式] ,这个向量就是基B下的坐标为 [公式] 的向量。这里看起来似乎就是:基A的向量要转换为基B下的坐标,只要乘以基B的基所构成的线性变换矩阵即可。但这就搞反了。

基A下的向量 [公式] 乘以线性变换矩阵得到的结果仍然是基A下的坐标,只是向量确实变成了基B下的向量 [公式] ,所以这个线性变换应该理解为:基A下的坐标对基B下的同一坐标误解的修正。看起来有点抽象,具体来讲的话就是,基B下的坐标(x,y),实际上指的是向量 [公式] ,在基A下同一个向量指的是 [公式] ,这个向量是基A下的(x,y)进行线性变换后的结果,即要求基B的坐标在基A下的表示,只需要让基A下的同一坐标左乘线性变换矩阵即可。

所以线性变换指的是基B到基A的转换而不是基A到基B的转换。

结论:

若在基 [公式] 下一向量的坐标为 [公式] ,则它在基 [公式] 下的坐标为: [公式]

既然B->A是坐标左乘线性变换矩阵,那么A->B就很容易推出是左乘线性变换矩阵的逆:

若在基 [公式] 下一向量的坐标为 [公式] ,则它在基 [公式] 下的坐标为: [公式]

线性变换在不同基下的表示

上面探讨了向量坐标在不同基下的表示,接下来看看不同坐标下的线性变换有什么不一样。

若在基A中有一线性变换L,这里L是一个矩阵,那么这个L在基B下的表达式是什么?

首先考虑基B中一向量 [公式] ,先将它转换为基A下的坐标,若坐标转换矩阵(即基B的一对基组合成的矩阵)为P,则基B->基A的转换,得到基A下的同一向量的坐标为: [公式]

然后进行基A的线性变换L,得到线性变换后的向量: [公式]

这是基A下的向量,最后将该线性变换后的基A下的向量再转换回基B: [公式]

所以基A下一线性变换L在基B下对应的线性变换为: [公式]

即基B下向量要做一个和基A下的线性变换L效果一样(比如都是旋转90°)的线性变换,则只需让基B下的坐标左乘 [公式] 即可。

矩阵分解

特征向量和特征值

基本定义

[公式] ,如果有数 i 和n维非零列向量x,使 [公式] ,则称 [公式][公式] 的特征值 , 非零列向量 [公式][公式] 的对应于特征值 [公式] 的特征向量

注:

  1. A 是方阵
  2. 特征向量 x是非零列向量
  3. 属于每一个特征值 [公式] 的特征向量不唯一,有无数个
  4. 一个特征向量只能属于一个特征值

特征值

[公式] 是关于 [公式] 的多项式 [公式] 的根,记作 [公式]

特征向量

属于 [公式] 的特征向量是线性方程组 [公式] 的解

特征向量和特征值的几何意义

从线性变换的角度来看,特征值和特征向量非常好理解。根据特征方程:

[公式]

把A看做一个线性变换,该线性变换的效果和向量数乘一样,说明该线性变换:会让某些向量保持原有的方向不变,仅在原来的方向上进行了拉伸。这些向量就是特征向量,拉伸的倍数就是特征值。所以一个矩阵的特征向量就是以这个矩阵为线性变换后,那些只在原来方向上进行了拉伸的向量就是该矩阵的特征向量,拉伸的倍数就是特征值。

由于在一个方向上的向量有无数多个,所以每一个特征值对应的特征向量有无数多个,而一个特征向量仅对应一个特征值。

特征方程的由来

特征方程 [公式] 用来求解特征值和特征向量,那么这个是怎么来的呢?

由特征向量的几何意义:

[公式]

因为 [公式] 的结果是一个矩阵,看做线性变换的话,该矩阵使得向量 [公式] 压缩成了一个数0!根据行列式的几何意义,只有当矩阵的行列式为0的时候,线性变换才会压缩向量的维度(这里被压缩成了0维),所以得到 [公式]

矩阵分解的基本定义

[公式] 是方程组 [公式] 解空间的基,定义矩阵 [公式] 那么,我们可以把方阵A分解成

[公式] 或者 [公式]

我们称这样的分解为特征分解(相似对角化)。

几何意义

同样按线性变换的角度来看。在之前提到了同一个线性变换在不同基下的表示。

把问题先简化到二维的情况,得出结论再推广到高维。

对于一个2x2矩阵A,如果我们知道它的两个线性无关的特征向量为 [公式] ,我们把这一对特征向量看做是新的一对基,称为特征基。其构成一个新的2x2矩阵 [公式]

那么如果把矩阵A看做一个线性变换,无论它是怎样的一个变换效果,其对于它的两个线性无关的特征向量仅仅是一个拉伸效果而已(根据特征向量的定义 [公式] ),所以如果我们把其中一对线性无关的特征向量作为新的基向量(特征基),那么在该新的基下,由于原线性变换的效果仅仅是对这对特征基进行了拉伸,那么用特征基表示的所有向量在进行线性变换时也就是拉伸了而已,所以这个线性变换用矩阵来表示一定是一个对角矩阵!

根据上一章的不同基下的线性变换的表示,矩阵A在其特征基下 的线性变换表示为:

[公式]

该矩阵必然是对角的才能保证其线性变换的效果仅仅是一个拉伸效果,且拉伸的倍数就是这对特征基对应的特征值,所以有

[公式]

这就是相似对角化的几何意义。当然如果一个矩阵找不到两个线性无关的特征向量,那么该矩阵无法进行相似对角化。

正交矩阵

满足 [公式] 的n阶方阵称为正交矩阵

标准正交基

n个n维向量 [公式] ,若满足如下性质

[公式]

则称 [公式] 为一组标准正交基

说白了,标准正交基就是n维向量空间中的一组(n个)互相垂直&长度为一的向量,这些向量(列向量)排起来构成一个nxn的方阵就是正交矩阵。

例: [公式] 为三维向量空间 [公式] 的一组标准正交基

性质:若 [公式] 为n阶正交矩阵 [公式]

正交矩阵的几何意义

正交矩阵所表示的线性变换就是一个旋转变换!旋转矩阵 [公式] 就是一个正交矩阵(计算机图形学里的旋转矩阵),它的两个列向量 [公式][公式] 就是一对标准正交基。根据线性变换的性质,由于 [公式][公式] 是一对已知的标准正交基,把它们同时旋转任意角度θ也能满足互相垂直&长度为一的条件,所以它们旋转后的新基组成的矩阵就是旋转矩阵 [公式] ,是一个正交矩阵。

正交矩阵的性质

1. 若A是正交矩阵, [公式] 是一组标准正交基,那么 [公式] 也是一组标准正交基。(用几何意义来理解,把A看做旋转变换就很好理解了,任意的标准正交基一起旋转后还是标准正交基)

2. 对直角坐标系做旋转变换,新旧坐标之间关系是一个正交变换,即存在一个正交矩阵A,使得原来坐标的点 [公式] 在新的坐标 系下的坐标为 [公式] (这个就是几何意义的体现)

3. 正交变换保持内积、长度、距离不变,即任意的n维向量 [公式] ,有

内积不变 [公式] ;长度不变 [公式] ;距离不变 [公式]

正交分解

如果一个矩阵可以进行特征分解(相似对角化),那么它就可以做正交分解。对于 [公式] ,如果P是一个正交矩阵,这波操作就叫做正交分解。

矩阵的SVD(奇异值分解)

虽然正交分解看起来非常漂亮,但是并不是所有矩阵都可以进行正交分解,对于任意的一般矩阵,我们也想把它分解成正交矩阵·对角矩阵·正交矩阵的形式,该如何来做呢?

对于正交分解的效果,也就是 [公式]( [公式] 是对角线元素为 [公式] 的对角矩阵) ,Q为正交矩阵,写成线性变换的形式,也就是 [公式] ,也就是说A把一组标准正交基通过线性变换变成了标准正交基拉伸后的样子,拉伸倍数就是各基对应的特征值。我们仿照这样的思想,对于任意矩阵,能不能找到两个正交矩阵U和V,使得 [公式] ,( [公式] 是对角线元素为 [公式] 的对角矩阵)呢,也就是一组标准正交基V,通过线性变换A后还是正交的。

那么我们就有 [公式] ,因为V是正交矩阵,所以可以写成 [公式] ,现在我们来看这三个矩阵 [公式] 怎么来求。

非退化方阵的SVD

非退化方阵就是满秩方阵,行列式不为0。

设A是n阶非退化方阵,即 [公式] 。我们知道 [公式] 是一个实对称矩阵(易证 [公式] ),其特征向量一定是正交的,可以正交分解,所以我们有 [公式]

因为V是正交矩阵,所以中间两项 [公式] 也就是单位矩阵,所以有 [公式] ,因为 [公式] 是对角阵,所以 [公式] ,则 [公式] 。看这个形式是不是很眼熟?如果我们令 [公式] ,那么 [公式] 就是对B进行了正交分解,对角矩阵的值 [公式] ,也就是 [公式] 为B的特征值。

这样我们对B进行正交分解,可以求出 [公式][公式] ,然后再用同样的操作,算 [公式] 则可以消去U,求出V,这里就不再操作了,这就是SVD分解。

  1. 不一定每个方阵都可以正交分解,只有实对称矩阵 [公式] 一定可以。但是每个方阵都可以有SVD
  2. 正交分解是同一个正交矩阵Q,SVD分解是两个正交矩阵U、V
  3. 正交分解对角线是特征值,SVD对角线不是特征值,但是都大于0( [公式] 的特征值的算术平方根)

这里要注意的是,要确保 [公式][公式] 和V的 [公式] 方向一致,即最终得出U后奇异值必为正,那么我们求出V和 [公式] 后,最好根据 [公式] 来求 [公式] 最终确定U([公式] 为矩阵U, V的列向量)。

还是举个例子。 [公式] ,求其奇异值分解。

首先求 [公式] ,求其特征值和特征向量为 [公式]

特征向量标准化(将向量长度变为1,使这组特征向量成为标准正交基)

[公式]

所以奇异值为 [公式] ,正交矩阵 [公式]

接下来根据 [公式] 求U

[公式]

[公式]

所以A的奇异值分解为 [公式]

一般矩阵的SVD

设A是秩为r (r > 0) 的mxn阶实矩阵,则存在m阶正交矩阵U和n阶正交矩阵V,使得 [公式] ,其中 [公式]

[公式]

[公式] 为矩阵U, V的列向量

子空间与投影矩阵

子空间

之前提到了线性空间(向量空间),如果空间中的任意元素可以表示为其他元素的线性组合(加法和数乘)即 [公式] , 其中 [公式] 为空间 [公式] 中任意元素, [公式] ,则空间 [公式] 是一个线性空间(向量空间), [公式] 中元素叫做向量。

向量空间的子集,如果也满足向量空间的条件,那么这个子集就叫做向量空间的子空间。

比如所有三维空间的向量构成的集合就是一个向量空间 [公式] 。过三维空间原点的一个无限大的平面上所有的向量构成的集合是一个向量空间,所以该平面为三维向量空间 [公式] 的子空间。

如果不过原点,则不满足条件:存在零元素。如果不无穷大,则必存在一个接近无穷大的实数,乘以空间中的一向量结果不在空间中,则不是向量空间。

同理,过原点的一条直线也是三维向量空间的子空间。

当然,最特殊的,原点这个点本身就是一个子空间。

另外,两个子空间的并集不一定也是向量空间,比如一条过原点的直线和一个过原点的平面,只有当直线刚好“躺”在平面上时,它们的并集才是一个向量空间,或者说,只有当其中一个子空间是另一个子空间的子空间(子集)时,它们的并集才是一个向量空间。很明显,它们的交集必是一个向量空间(必存在交集:零向量,或者说原点)。

矩阵的四个子空间

列空间(Columnspace)

可以证明:矩阵的列的所有线性组合是一个向量空间。大家可以自己尝试证明一下。矩阵A的列空间记作 [公式]

列空间的三种表示:

  1. 对于线性方程组 [公式] ,所有使得该方程有解的b构成的集合
  2. 矩阵的列向量的所有线性组合
  3. 几何意义:矩阵的列向量作为一组基向量,它们张成的空间

正常情况下,一个nxn的满秩方阵的列空间就是n维空间的所有向量( [公式] ),因为满秩所以它的n个列向量是线性无关的,可以张成整个n维空间。

特殊情况:

  1. 非满秩方阵
  2. [公式]

拿3维向量来做例子比较好理解些,至少能在脑子里想出图形。

非满秩方阵,比如 [公式]

明显第二列和第三列是线性相关的,这两列提供的信息跟一列没区别,可以把第三列看做是没有贡献的一列,所以秩为2。谈几何意义的话,前两个向量 [公式][公式] 所在的平面包含了第三个向量 [公式] ,所以它们三个都在同一平面上,张成的空间维度为2,也就是秩为2,所以矩阵的列空间是一个二维平面,且该平面必过原点(因为这些向量都是从原点出发的)。

从线性变换的角度,该矩阵将三维空间中的向量通过线性变换后全部“压”到了一个平面上,就是 [公式][公式] 所在的平面。所以无论从哪个角度来看,这个平面就是矩阵的列空间!它就是列向量张成的空间!

现在来看一个3行2列也就是3x2的矩阵: [公式]

其实就和上面非满秩的情况几乎一样!

该矩阵只有两个列向量,所以只能张成一个过原点的平面,这个平面(上所有的向量)就是矩阵的列空间。

线性变换的效果和上面也是一样的,将任意三维向量“压”到了这个平面上,或者说投影到了这个平面上(投影这个思想非常重要,是理解最小二乘几何意义的核心)。

那么一个2行3列的情况呢,考虑:

[公式]

该矩阵有三列,但都是二维的,从线性变换的角度来看,它将原三维空间的一组标准正交基 [公式] 给降维了,降成了 [公式] ,这三个就算有其中两个是线性相关的,只要和剩下一个线性无关,那么仍然能张成整个二维空间,算是多了一份“保底”。所以这个例子中的矩阵的列空间就是整个二维平面。

和3x2不一样的是,3x2表示的是三维空间中的一个过原点的平面,而2x3表示的就是二维空间本身。

零空间(Nullspace)

理解了列空间,那么零空间就可以直接秒杀了。从线性变换的角度来看,那些所有经过线性变换后被压缩到原点的向量构成的集合就是矩阵的零空间,所以零空间同时也是线性方程组 [公式] 的解。

矩阵A的零空间记作 [公式]

行空间(Rowspace)

和列空间类似,矩阵的所有的行向量的线性组合,就是矩阵的行空间。我不太喜欢行向量,我还是喜欢列向量,那行向量和列向量如何来转换呢,很明显就是转置了。所以矩阵A的行空间也就是矩阵A转置的列空间,即 [公式] , 这样一转,那么再根据上面的列向量的相关理解,行向量就不再赘述了。

左零空间(LeftNullspace)

和行空间与列空间之间的转换类似,四个子空间的最后一个子空间就是A转置的零空间,也就是 [公式] ,同样也不再赘述。

维数

刚才提到过,对于3x2的矩阵A,其列空间是在三维空间中的,但是张成的是一个平面,也就是说对于 [公式] ,m决定了列空间所在的空间维数,即 [公式] 的列空间在 [公式] 空间中。而n决定了列空间本身最大可能的维数(本身维数应为秩r)。

而对于 [公式] 的零空间,在几维空间中的向量才有可能被它压缩成0向量呢?若考虑线性变换,也就是所有符合 [公式][公式] ,我们知道, [公式] 必须是n维向量。即 [公式] 的零空间在 [公式] 空间中。

对应的,行空间和左零空间则分别在 [公式][公式] 空间中。

总结一下就是,对于矩阵 [公式]

[公式]

也就是说,列空间与左零空间在同一维度中,行空间与零空间在同一维度中。

行空间和列空间维数相同,即 [公式] 。注意这里的维数指的是矩阵的秩,比如在三维空间下的一个平面,就是一个三行三列但秩为2的矩阵张成。零空间的维数为n-r,左零空间的维数为m-r,这个暂时不证明了,因为要用到高斯-若尔当消元。

子空间的投影

为了更形象的从几何的角度解释最小二乘,我们先来研究一下关于“投影”的操作。

如图,两过原点的向量a和b,b向a作投影得到p(这里a的一部分被p覆盖了),e为误差,垂直于p,之所以说e为误差,是由向量减法可知 [公式]

可以看到p和a共线,也就是 [公式]为常数,则有 [公式]

e垂直于a [公式]

展开后得到 [公式] ,其中 [公式] 是行向量乘以列向量,结果就是一个数,所以 [公式]

即得到了 [公式]

[公式] ,也就是从线性变换的角度看,矩阵 [公式] 将平面中的向量投影到a上,那么很明显 [公式] 的列空间就是a所在的直线,也就是说 [公式]

[公式] 是对称的,因为 [公式]

如果对某个向量投影后再投影一次,结果仍然不变,其实无论投影多少次,还是那个结果,比如把b投影以后变成p,再对p作投影,结果还是p,相当于 [公式] ,所以 [公式]

现在我们把这个结论拓展到高维:

在三维空间坐标系中,有一过原点的无限大的平面a,所以这是一个在 [公式] 中的2维空间,或者说是 [公式] 的子空间。该平面由矩阵 [公式] 张成(即矩阵A的列空间, [公式] 为两个三维列向量)。过原点有一向量b,b在a上的投影为p,误差为e,即 [公式]

既然p是平面a上一向量,则可以用基来表示: [公式] ,其中 [公式] ,而e垂直于平面a,则垂直于平面的基 [公式] ,有:

[公式]

[公式]

[公式]

我们一口气就拿到了投影矩阵 [公式] ,实在是舒服。

该矩阵将空间中的任意向量投影到A的列空间上,或者说任意向量做P的线性变换得到的结果就是该向量在a上的投影。

同样来验证两个性质:

[公式]

第一个性质:

[公式]

得证。

第二个性质:

[公式]

得证。

最后再来看两个特殊情况:

  1. 如果b就在A的列空间中, [公式]
  2. 如果b垂直于A的列空间, [公式]

第一个问题,如果b就在A的列空间中,则 [公式] ,

[公式]

也就是说对于列空间中的向量,向列空间作投影得到的向量就是它本身。

第二个问题,如果b垂直于A的列空间,即 [公式]

[公式]

也就是说,b处于A的左零空间,左零空间(里的所有向量)垂直于列空间(里的所有向量)。同样的,零空间垂直于行空间。

所以在上面的等式 [公式] 中,p是列空间里面的向量,e是左零空间的向量。

最小二乘与线性回归

最小二乘

关于最小二乘的公式其实非常简单: [公式] ,其中 [公式] 是线性方程组 [公式] 的最小二乘解。但是为什么公式是这样的呢?有了上一章投影的概念,这里理解起来就很简单了。先来看个例子,如图

在平面直角坐标系中有3个点,分别是 [公式] ,找一条直线同时穿过这三个点,很明显这是不可能的。用代数的语言来讲,也就是方程组

[公式]

无解(设 [公式] ),用矩阵的形式来重写这个方程组,也就是:

[公式]

但是我们能找到它的近似解,也就是传说中的最小二乘解。

也就是找到一条直线,它的误差平方的总和最小:

我们设这条直线为 [公式]

[公式]

其中p在A的列空间中,或者说p就是这条直线上面的点。再令 [公式]

那么三个点的误差分别为 [公式] ,要使误差最小,即 [公式] 最小,也就是误差向量 [公式]长度最小

而我们又有 [公式] , 即如图的关系

则要使e的长度最小,那么只能e⊥p!又因为p在A的列空间中,所以p是b在A的列空间的投影!

好了,到这一步就非常明确了,根据上一章的知识,我们知道一旦满足p是b在A的列空间的投影,则有

[公式]

[公式] ,所以

[公式]

这就是最小二乘。

现在我们把这个例子的最小二乘解求出来。

根据方程 [公式] ,等式左边等于:

[公式]

右边等于:

[公式]

则方程组为

[公式]

解得 [公式] ,则所求的线性回归直线的表达式为

[公式]

继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
这个系列视频讲得比较全了,都是动画演示,非常直观。自己按需观看吧:
视频地址:【双语字幕】「线性代数的本质」合集
内容目录:
第零讲:序言
第一讲:向量究竟是什么
第二讲:线性组合、张成的空间与基
第三讲:矩阵与线性变换
第四讲:矩阵乘法与线性变换的复合
第四讲附注:三维空间中的线性变换
第五讲:行列式的意义
第六讲:逆矩阵、列空间与零空间
第六讲附注:非方阵
第七讲:点积与对偶性
第八讲上:叉积的标准介绍
第八讲下:以线性变换的眼光看叉积
第九讲:基变换
第十讲:特征向量与特征值
第十一讲:抽象向量空间

视频原作者:3Blue1Brown(可汗学院的一位教师),字幕中译:Solara570@Bilibili


原作者3Blue1Brown最近在Patreon上发起众筹,说如果获得足够多的资助,他就可以辞去工作,全职做这类视频,以每月两部的速度发布。计划要做的视频系列包括「微积分的本质」「概率的本质」「实分析的本质」「复分析的本质」「常微分方程的本质」等等,此外还会经常制作像「最速降线问题」「希尔伯特曲线」那样的单个视频。目前他正开始着手制作「微积分的本质」系列,凡是在Patreon上资助了他的人可以抢先看,不必等到整个系列制作完毕。

资助网址是:patreon.com/3blue1brown ,诸位若有条件不妨去支持一下。最低额度只要1美元/个视频,就能优先观看今后制作的所有「XX的本质」系列视频。(刚发现,Minecraft的作者Markus Persson赫然出现在资助者名单中……)

另外还有个好消息:应B站几位字幕译者的邀请,3Blue1Brown本人已同意在B站设立官方账号:3Blue1Brown @ Bilibili,今后他在Youtube发布的精彩视频都会在B站上持续发布中文字幕版,大家可以去B站关注和支持。
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续

文章有点长。

可以视作对线性代数的入门了解~给你一个对现代的初步认知!


许多同学一听到高等代数(线性代数)的名字就瑟瑟发抖,觉得似乎是极困难的科目。

在我大一那年,学完高等代数后,确实有不知所云之感。一本高代学完,除了记住各种概念,定义,什么若尔当标准型,什么矩阵的秩……其他什么也不了解,最后考研的时候拿起教科书重新啃了一遍,宛若新学。

很多朋友可能觉得,这门课就是来折磨广大大学生朋友的吧!

其实不然,随着读书越久,加上工作了几年,越发觉得当年的线性代数学得不够,学得不好。

那么,我就抛砖引玉,来聊聊,线性代数到底是个什么东西,那些稀奇古怪的概念是怎么来的,又要到哪去。聊到哪算哪哈。

下面我的讨论主要集中在工程领域,主要涵盖一些线性代数和数值分析的知识。

(因为并非严格论述,所以难免有所疏漏,欢迎斧正)


1.线性代数怎么来的?

有些线性代数教材上来就给大家讲线性空间,这不禁会让人头晕脑胀。其实,线性代数这门学科,是和生产生活联系极其紧密的,它的来源也并不复杂。

线性代数这门学科的出现,最开始应该是来源于线性方程组。下面这个就是一个典型的线性方程组:

方程大家都知道,初中就学过是吧,那么什么是线性方程?

就是未知数都是一次的方程。比如

[公式]

这样的方程。

线性方程是比较简单的一类方程,但它的实用性一点都不简单。在复杂的工业控制系统中、生物学家和人口学家的模型里,或是风洞实验室的分析过程中都有现行方程的影子。

当然,更复杂的非线性方程也很重要,但限于难度和篇幅原因,这里暂时先不讨论。

方程是数学家们用来描述世界的工具(之一),也可以说,是数学家用来描述世界规律的工具

什么是世界的规律?那就是

——道可道?可道!

而线性方程组就是线性方程的扩展。这也就引出了我们今天所说的主题——线性代数

数学家们一开始可能觉得写那么多字太麻烦,干脆创新一种“记号”——矩阵。

创新记号,简写什么的是数学家的最爱。君不见微积分符号引发了莱布尼兹和牛顿的旷日持久的争议?

于是,通过用一个大写字母,比如A:

来表示一个样子是方阵的数阵,数学家将线性方程组写成了这个样子:

[公式]

请注意:矩阵的最初目的,就是线性方程组的简写!

于是,现在的线性方程组就可以用三种等价的方式来表述:

  • 矩阵方程 [公式]
  • 线性方程组
  • 或者向量方程: [公式] (这种表述其实是后续线性代数的核心思想,但在这里先不多说了)

以上三种表述方式,都有相同的方法来解——通过行化简算法,化简增广矩阵。比如这样:

(这个知识后面会用到,先放一边)

既然创造了新的“记号”,矩阵,数学家们自然要研究一下。


2.矩阵的本质以及线性代数到底研究什么

2.1 我们先说说矩阵的本质

我们看到一个矩阵,真的是平平无奇。这东西有啥可研究的呢?

对于矩阵,其实可以有两种认识:

矩阵可以看作一个数的矩形表(大部分同学应该都是这么看的

也可以看作一组列向量!(这个认识是后面线性空间等一系列知识的基础)

而后者,是线性代数的基本思想之一。反过来也成立,向量的线性组合可以看作矩阵与向量的积。

我们现在重新给线性代数确定一下研究范围:

它是研究可以表示为某一固定向量集合 [公式] 的线性组合的所有向量的一门学科。


刚刚我们说了,我们可以把线性代数方程组表示为矩阵方程的形式: [公式]

这个方程表示什么意思呢?

可以这样理解:在空间中有一个向量 [公式] ,通过矩阵 [公式] 的作用后,变成了向量 [公式]

这种理解,就揭示了矩阵的本质~

而矩阵的本质,可以看作是一种运动或者变换。

那么,事实上,一个 [公式] 矩阵,就是描述n维线性空间到n维线性空间的线性变换(比如:拉伸, 压缩,投影……)

2.2 再聊一下矩阵的运算

既然矩阵是一种变换,那么自然而然地,我们会想到两个矩阵之间相互作用一下会有什么结果。这就自然地引出了矩阵的运算!

下面来看看矩阵的运算(不具体列举公式了):

  • 加法运算
  • 标量乘法运算
  • 乘法运算

记得我在第1节表粗的那句话吗?——矩阵的最初目的,就是线性方程组的简写!

如果想要理解这些运算的规则,最好的方式是从线性方程组的角度考虑

比如矩阵的加法运算:

如果你把它还原成线性方程组,那么加法运算不过是线性方程组中未知数的系数相加!

标量乘法和乘法也都可以从线性方程组去理解。

当你知道了这些运算规则之后,可以代入矩阵的几何意义进行理解~

比如矩阵的乘法运算: [公式]

进行一次变换( [公式] ),在进行一次变换( [公式] ),相当于进行了( [公式] )变换。(你也可以这样理解矩阵的乘法的几何意义:两次变换的叠加

(但注意: [公式]

然后,既然矩阵是一种变换,那么自然而然地也有逆向的变换,这个变换就是矩阵的逆。

……………………缓一口气,稍微理解一下的分割线……………………

2.3 一个重要的概念——矩阵的逆

我们在矩阵运算中,研究了两个或多个矩阵相互作用所达成的效果。

矩阵的逆类似于一个数的倒数,你看矩阵逆的定义:

如果满足:

[公式]

( [公式] 是一个对角线均为1,其他位置为0的矩阵,简称单位矩阵)

那么,矩阵就是可逆的,且逆矩阵记为 [公式]

如果用几何的观点来理解矩阵的逆就是一个反向变换

比如:

若 A表示顺时针旋转90°的话,那么 [公式] 就表示逆时针旋转90°

你看:

经过矩阵 [公式] 变换,在经过矩阵 [公式] 变换,又变为原来的矩阵。

那么,如果矩阵A是可逆的,可逆矩阵又称为非奇异矩阵。


接下来,很自然的想法就是——

矩阵可逆是否有办法判断呢?

2.4 行列式

有一个办法——那就是通过行列式!(这不是唯一的办法,还可以通过矩阵的秩……)

这里又引入了一个极其重要的概念,它一开始可能仅仅是判断矩阵可逆与否,但后来,数学家逐渐发现了更多作用和意义。

下面我们说说行列式。

行列式的定义看起来很难懂

看看,这是人能记住的么!

当然,如果从低阶往高阶推广,还是稍微有点助记作用。

我们知道,如果一个矩阵行列式不为零,那么这个矩阵可逆。

但是不要着急,行列式可不会这么简单~

我们看这个稀奇古怪的东西虽然一头雾水,但数学家经过仔细思考后发现:

[公式] 其实描述了矩阵 [公式] 的列确定的平行四边形的面积[公式][公式] 矩阵时)

或者由 [公式] 确定的平行六面体的体积( [公式][公式] 矩阵时)

所以,推而广之啊,行列式的本质就出来了!

行列式的几何性质(本质),是描述n维线性空间中线性变换“大小”的量

……………………………上面的论述请多理解一下哈…………………………

比如在2维空间中,我可以推导出这样一个定理:

[公式] 是一个由 [公式] 矩阵 [公式] 确定的线性变换,若 [公式] 是这个 [公式] 空间中的一个平行四边形,则

[公式]

请好好理解上面的事实,有助于逆理解行列式~


好了,回过头来看看矩阵可逆这回事。

想象一下,在一个二维平面上,如果一个A矩阵把一个平行四边形a变成另一个b,这个矩阵A的行列式可以理解为放大的倍数。

当行列式=0的时候,就把这个平行四边形a的面积就变没了!(一条线的面积是0)那肯定没有逆矩阵可以把这条线再变回原来的向量了。

因此,“矩阵A可逆” 完全等价于 [公式] 不难理解。

讲了这么多,似乎只说了线性代数中一点点微不足道的概念。那么,我们还听说过矩阵分解,谱半径,条件数……一大堆稀奇古怪的东西,那些是怎么来的?

不要着急,所有的事情都不会是无来由的。

下面我说的这个问题很关键,这也是线性代数中无数稀奇古怪的知识的来源。


3.真实世界中,线性方程组的数值解法

3.1 线性方程组的一般解法

在一开始说起线性方程组的时候,我们说了真实世界中求解线性方程组和我们在学校中做的一样,采用行化简得方法进行求解。(就是我在开头说后面会用到的那个知识点)

我们对这种方法简称为线性方程组的直接数值解法,包括Gauss消去法,列主元Gauss消去法,Gauss-Jordan消去法……

当然,既然有直接的解法,自然还有间接的解法,也就是迭代法,包括Jacobi迭代法,Gauss-Seidle迭代法等(这个暂不讨论)

那么,在运算过程中,什么是最重要的?

精度和运算量

我们一定要记住,真是世界的问题是充满了误差并且计算力有限的。

我直接告诉你结论:以上三种消去法计算线性方程组的运算量都是 [公式] ,(n为变量个数)

这里有一个很有趣的知识点,当年一直觉得很无聊,所以特意拿出来说说。

3.2 矩阵的分解

将矩阵分解为两个或更多个矩阵的乘积。

那么,为什么要引入矩阵的分解呢?其实还要从真实世界说起。

我们以一个最常见的矩阵分解——LU分解为例先说说

[公式] ,其中 [公式] 是一个下三角矩阵(对角线元素全为1), [公式] 是一个上三角矩阵

那么,线性方程组

[公式]

就可以变成:

[公式]

这样,就可以拆解为:

[公式]

[公式]

好吧,一个方程变成了两个。正像你看到的,矩阵分解就是这么无聊,似乎没啥用处。可是,事实并非如此——

我们来看看矩阵 [公式] 分解的计算量。如果你去解一个方程组, [公式] 分解的运算量是多少呢?哦,没错,也是 [公式]

似乎在运算上也不比其他方法强是吧

但是,要知道,我们现实生活中遇到的问题,往往不是一锤子买卖。

比如,你考虑

[公式]

这样一个由m个方程组组成的系列(这种问题很常见,我们常常把新的数据带入到已有的模型里),那矩阵的LU分解就显现出它的威力了!

LU分解的方法只需要作一次LU分解,然后做m次解三角方程(m为方程组系列中方程组的数目)

比之前说的那几种消去法的运算量少了 [公式] 次运算!

这就是LU分解的真实意义所在

那么我们再看一个真实世界的例子:

3.3 一个有趣的小问题——蝴蝶效应,以及所引出的条件数,矩阵范数……

在实际问题中,线性方程组是由计算机求解的。

但要知道,计算机一般把数字用浮点数来表示,数位通常为8-16位,这样就给线性方程组的求解引入了误差

插播一句:为什么理论家没办法治国?因为现实世界是充满了误差和摩擦力的,而理论家往往并不考虑这些。

我们都听说过“蝴蝶效应”。微小的初始误差有可能导致巨大的结果差异。

其实,在求解线性方程组中我们就会遇到这样的问题。

比如这样一个方程组:

[公式]

[公式]

这个方程的解是 [公式]


我们再看这个方程组:

[公式]

[公式]

这个方程组的解是多少呢?乍一看,应该和上一个差不多吧?

可惜,差得有点多!不要眨眼睛~它的解是:

[公式]

这就说明:

初始条件(A)的微小扰动,造成的结果有巨大的差异!

……………………………………缓一口气,稍微理解一下的分割线……………………………………

我们不妨把这类方程组叫做“蝴蝶效应”方程组(它的正确称呼应该是“病态的”方程组,但这个名字没有我起的名字那么浪漫不是)

那么,我们如何确定这个方程组是这种“蝴蝶效应”方程组呢?这里引入一个概念——条件数( [公式]

而条件数的定义又则涉及到了矩阵的范数

其实,范数的引入是很自然的,我们描述一个“数”的大小,用“数值”,描述一个向量的长度(欧式距离),用“欧氏距离”,那么如果我想描述矩阵的“大小”(姑且这样说)该用什么?

用到的就是范数。

范数可以看作抽象的“大小”。而不同的范数可以看作不同度量方式。

范数,谱半径,条件数,甚至特征值这些东东统统都是在研究现实问题中逐渐开发出来的新东西。


所以,到此稍微总结一下吧:

看了这么多,其实我相信你对线性代数已经有了一个初步的认识了。它就是一门从研究线性方程组起家的学问。当然,后续抽象的部分,比如向量空间,矩阵的秩等等在这里都没有涉及。但我相信,如果你明白了矩阵的一些基本事实,以及他们的来龙去脉,弄懂那些知识并不难~

最后,祝大家好好学习,天天向上~

最后,如果你想读一读高等代数和高等数学的书,可以参考我的这篇答案(原答案获得了超过8k赞哦,这篇是原答案基础上修改后的):

有哪些书可以帮助自己构建一个较完善的数学知识体系?www.zhihu.com图标

另外,基于线性代数启发,我提出了一种“构建属于自己的知识体系和观点”理论,欢迎批评指正

如何建立自己的知识体系和观点?www.zhihu.com图标

从深度学习理论入手,揭示两种独特的思维方式:

哪些思维方式令你受益匪浅?www.zhihu.com图标

继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续

来试着回答一下这个问题吧。

1 首先讲线性代数。

既然是代数,无非都是研究之间的关系
高中代数里面:
基本实数集里的标量,量与量的关系可以是线性的([公式]),也可以是非线性的(指数、幂、多项式等等)。
线性代数
基本线性空间里的向量(一个数组),基本关系是严格的线性关系。会在最后一章“二次型”里面简单讲述二次关系。

2 然后就是矩阵。

矩阵就是描述这种线性关系参数

2.1 我们来比较:
初等代数中,[公式][公式]表示的是[公式]的一种映射关系[公式]描述这个关系参数
线性代数中呢,[公式][公式])表示什么呢?
首先与初等代数一样,这个等式表示的是[公式]的一种映射关系),同理此处矩阵[公式]就是描述这种关系参数
换句话说[公式][公式]本质是一样的

2.2.1 那一定会有人问,为什么定义[公式]这么复杂(加权求和)呢(远没有实数相乘这么简单)?
那我想说的是,其实这是在“无损信息”下最简单的关系了!
且看:
我们得考虑到自变输入量[公式]是个[公式]维向量,那么就得把这[公式]个维度都逐一考虑一遍吧……
而且考虑到因变输出量[公式]是个[公式]维向量,那总得把前面那个[公式]维(自变输入量)向量逐一考虑[公式]次吧……
这就决定了[公式]的“信息量”一定至少得[公式]……

2.2.2 当然一定也有人问,那为什么要用加权求和(而不用加权求积,先求和再求积等)的方式定义矩阵乘法?
首先这是个线性算法(去翻线性的定义)。
其次,我认为最重要的是,在非线性问题线性化后,求一阶近似的时候,
一元函数:[公式][公式]其中[公式][公式]
多元函数:[公式][公式]其中[公式][公式]的Jacobian。
换句话说,加权求和可以表达一种边际增加的概念,这是非常有用的。

2.3 我们不妨来看矩阵的西文 matrix。 词根是matr- 表示“母亲”的意思。matrix有“模具、衍生器孵化器、母体”的意思。 那么这就很一目了然了,矩阵的作用便是像模子一样把一个向量塑造、衍生成新的向量,这便表达了“矩阵代表一种变换”的意思。

3 最后讲特征值和奇异值。

首先说明的是,特征值奇异值的定义是为了简化矩阵运算提供了一种方式,一种技巧;也是描述一个矩阵特征的特定参数,让我们从特定角度理解这个矩阵

3.1 特征值[公式]矩阵特有的值。说其为特征值,根据定义也好理解:
定义:如果[公式],则说[公式][公式]的一个特征值,[公式][公式]对应的[公式]的特征向量。
换句话说,在[公式]这个方向上,[公式]做的事情无非是把[公式]沿其[公式]的方向拉长/缩短了一点(而没有一丝丝的旋转到其它方向),[公式]就是描述这个沿着[公式]方向上伸缩的比例注意这里隐藏了一个重要的潜在条件[公式]映射的定义域和值域是相同的空间(不然无法说自变量[公式]在其方向上通过[公式]拉伸[公式]倍得到因变量[公式]),反应在大一线代里面也就是说[公式]必须是方阵

【西文原文中Eigenvalue Eigenvector 中的Eigen原意为“自我”,也就是说,Eigenvector是经原矩阵变换之后只向“自我方向”延伸的向量,Eigenvalue是这个“自我延伸”的倍率。所以与其翻译成“特征”,个人更愿意把它翻译成“本征”(这也是一种通俗译法)。】

那么这样,给定任意的一个向量[公式],我们如何求[公式]呢? 很简单,把[公式]沿着[公式]分解,然后分别按照各自的比例[公式]伸缩 最后再求和即可。

有人一定问,这不是折腾么!
那么当你运算[公式]的时候就发现好处了!沿着各个[公式]的伸缩正好是[公式]
所以,特征值在动态系统分析中是描述系统稳定性的非常重要的量,它决定了离散系统在空间内某个方向上的变化趋势(是无限扩张[公式]?还是收缩[公式]?还是保持不变[公式]?),这是判断离散线性系统的重要特征。

特征值分解也就很好定义。 一个可对角化方阵[公式]
分解为:[公式][公式]的列向量为特征向量([公式])。
理解为:[公式]为基的坐标分解变换+伸缩变换+以[公式]为基坐标还原变换


3.2 奇异值分解也是为了简化矩阵运算的一种方式。它和特征值变换的基本理念不同,看似繁琐一点,却能道出线性变换的一般本质
定义:任何[公式](而不仅仅是可对角化方阵)的矩阵都可以如下分解:
[公式]
其中[公式][公式]是正交矩阵(复数域里面是酉矩阵),[公式]是由对角阵和零矩阵合成的矩阵。
它的含义是 任何[公式]的变换可以理解为 一个正交变换+伸缩变换+另一个正交变换。(正交变换可以暂时理解为 “不改变大小以及正交性”的旋转/反射 等变换)
这是对一般线性变换的本质的阐释。

3.3 小结:
特征值变换的条件很苛刻,[公式]必须是 1方阵 2可对角化
而奇异值变换却对矩阵[公式]没有任何要求。它阐明的是一般线性变化的本质。



-----------------------------分割线----------------------------------

才疏学浅,疏漏众多,还望达人提供意见。

2013-09-26 Ver1 初始版本。

2014-02-26 Ver2 扩展SVD(奇异值分解)部分。

2016-12-01 Ver2.1 微调了一下排版,加了英文解释部分。

2016-12-12 Ver2.2 微调了特征值分解部分。

2018-08-06 Ver2.3 增加了从矩阵英文matrix角度理解矩阵。


更多笔者答案:

物理竞赛题:求直径场强为零的带电圆环的电荷分布?www.zhihu.com图标线性代数中,向量(vector)为什么用列(column)而不是行(row)来表示?www.zhihu.com图标在苏黎世联邦理工学院 (ETH Zurich) 就读是怎样一番体验?www.zhihu.com图标在剑桥大学和牛津大学等知名高校吃正餐(formal dinner)是一种什么样的体验?www.zhihu.com图标

继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续

究竟什么是直观?如果你是菜鸟,把矩阵的entries一个个用数字写出来,把线性方程组列给你,你去执行什么狗屁高斯消元法才叫直观。

如果你愿意花一点时间把数学学好,那么module和它们之间的morphism就是最直观的数学,因为在实践中遇到的任何代数知识和问题都比这更复杂。

我非常不认同把时间花在研究所谓的学习方法上,遇到任何对智力水平稍有挑战的事物就要用所谓的方法绕过去,这样只能把自己搞得越来越笨。更何况,据我所知,通常情况是你研究了多年的所谓的学习方法,困难还在那里,根本就没过去。过去我读本科时候遇到一个辅导员,到了快30岁,连Fourier transform都没有搞清楚。我敢保证他这辈子也搞不清楚了。我的经验表明,越是喜欢强调甚至研究什么学习方法的人,越是垃圾。

如果你遇到一些自己必须理解的数学,而你理解不了,我教给你一个方法:想不通别吃饭,别睡觉,一直坐在那里,直到想通为止。如果觉得自己坚持不下去了,就抽自己耳光。我本科时候经常抽自己。

继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续