干货 | 万字长文带你复习线性代数!(二)

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

作者:石晓文,中国人民大学信息学院在读研究生

个人公众号:小小挖掘机(ID:wAIsjwj)

目录

1、线性系统Linear System

2、Vectors、Matrices

2.1 向量Vectors

2.2 矩阵Matrix

2.3 矩阵与向量相乘

3、线性方程组有解么?

3.1 线性方程组

3.2 线性组合Linear Combination

3.3 张成的空间Span

4、线性方程组有多少个解

4.1 线性相关和线性无关

4.2 秩Rank

5、求解线性方程组

5.1 初等行变换

5.2 简化行阶梯形式Reduced Row Echelon Form

5.3 满秩

6、矩阵乘法

6.1 矩阵乘法的含义

6.2 矩阵乘法的性质

6.3 分块矩阵乘法

7、逆矩阵

7.1 什么是矩阵的逆

7.2 初等矩阵

7.3 什么矩阵是可逆的?

7.4 求解一个矩阵的逆

8、行列式

8.1 什么是行列式?

8.2 行列式的性质

8.3 行列式的计算

9、子空间

9.1 子空间

9.2 零空间

9.3 列空间和行空间

10、基Basis

10.1 什么是基Basis

10.2 基的特性

10.3 判断一个集合是否为基

10.4 三种空间的基和维度

11、坐标系

11.1 使用基表示向量

11.2 直角坐标系和其他坐标系的转换

11.3 坐标系与线性方程

12、特征值和特征向量

12.1 什么是特征值和特征向量

12.2 如何计算特征向量

12.3 检查一个标量是否为特征值

12.4 计算特征值

12.5 正定矩阵&半正定矩阵

13、对角化

13.1 可对角化

13.2 可对角化的性质

14、正交

14.1 范数和距离

14.2 点积和正交

14.3 正交补

14.4 正交投影

14.5 如何做正交投影

14.6 正交投影的应用-求解线性回归

14.7 正交基

14.8 正交矩阵

14.9 对称矩阵

15、奇异值分解

15.1 什么是奇异值分解?



9、子空间

9.1 子空间

如果一个向量集合V满足三个条件:(1)包含零向量(2)如果u和v属于V,那么u+v也属于V(3)如果u属于V,c是一个标量,那么cu也属于V。就称这个向量集合V为子空间(subspace):

3901436-34240b7bf7e4627d

举个例子,下面的向量集合是一个子空间:

3901436-1f6087143f9bb80a

只有零向量的集合也是一个子空间,三条性质都满足。

9.2 零空间

对于一个矩阵A来说,使得Ax=0的所有x所组成的集合被称为矩阵A的零空间(Null Space):

3901436-2f67b2513a6a0893

9.3 列空间和行空间

列空间(Column Space)是矩阵A的列所张成的空间,行空间(Row Space)是矩阵的行所张成的空间。

3901436-5cc21c82c9b0efde

在将矩阵化简为行阶梯型之后,矩阵的列空间是改变的,而行空间不变。

3901436-2937ae009121d9a6

好了,我们又可以添加一条判断线性方程组是否有解的条件了,即b是否在A的列空间中。

10、基Basis

10.1 什么是基Basis

假设V是Rn的一个子空间,能够张成空间V的一组线性无关的向量被称为基(Basis)。

3901436-ae4e329607bb9ab3

对于一个矩阵来说,其主列是其列空间的基:

3901436-91b546995c174af9

10.2 基的特性

基有如下的特性:

(1)基是一个能张成空间V的数量最小的向量集合

如果一组向量S能够张成子空间V,那么基中包含的向量数目小于或等于S中向量的数目。

3901436-b4a8ae69eca00b05

(2)基是空间中数量最多的线性无关的向量集合

如果子空间V的基中向量的数量是k,那么你不能找到比k个多的线性无关的向量集合。

3901436-edff661680558f75

(3)子空间中任意的两组基都包含相同数目的向量

这个如何证明呢?

1)假设子空间V中有两组基A和B,个数分别是k和p;

2)因为A是子空间中的基,所以B中的所有向量都可以表示成A中向量的线性组合,即有AC=B,C的列数为p,行数是k;

3)假设存在一个p维向量x使得Cx=0,所以ACx=Bx=0因为B是基,所以Bx=0的解只能是零向量,所以C也是线性无关的;

4)因为C中的列向量是k维的,p个k维的向量线性无关,所以一定有p<=k;

5)同理k<=p,所以最终k=p,即A和B中向量的个数是相同的。

3901436-24a1da5b7006df26

(4)子空间V的基的向量的数量被称为V的维度(dimension)

10.3 判断一个集合是否为基

通过定义,我们可以判断一个集合是否为基,需满足两个条件,向量之间线性无关,同时能够张成空间V,前者容易判断,后者较难判断:

3901436-8ea80a46d0264e5e

另一种思路,假设对于一个子空间V,我们已经知道它的维度为2,如果S是一个包含k个vector并且属于V的一个子集,那么如果

1)S中的向量线性无关,那么S是一个基

2)S能够张成空间V,那么S是一个基

3901436-ed3333df104b26d3

10.4 三种空间的基和维度

我们之前介绍过对于一个矩阵的三个空间,行空间、列空间以及零空间,他们的基以及维度都是多少呢?

A的列空间

A的列空间的基是主列组成的集合,维度就是主列的个数

3901436-9abf5ea5237c5709

A的零空间

A的零空间的的维度是Ax=0中自由变量的个数,基看下面的图片:

3901436-3123e7b990e2c87e

A的行空间

A的行空间的维度是化简为简约行阶梯型之后非零行的个数,基就是简约行阶梯型中先导元素所在的行所组成集合。

3901436-d2ba6ed39396a0ce

这里我们可以得出一个结论,矩阵A和其转置的秩相等:

3901436-155a9416de22695c

总结一下就是下面这样子啦:

3901436-2b6ab66b5d34bf7d

11、坐标系

11.1 使用基表示向量

在n维空间中,我们可以使用基向量来表示坐标系,这样空间中的任意向量的坐标都确定了,但是对于同一向量,使用不同的坐标系,其坐标是不同的:

3901436-e686e933ff16d9e4

同理,在不同坐标系下,同一个坐标所代表的向量也不同:

3901436-c68e9722f4d91835

当基确定时,一个向量的坐标也是唯一的,由于基之间是线性无关的,因此证明如下:

3901436-e06065540ce3aeeb

在某一坐标系B下,一个向量可以表示成其对应的坐标表示:

3901436-25312811e0f15171

而我们最为常用的一种坐标系就是直角坐标系(Cartesian coordinate system),通常表示如下:

3901436-5c25944b3e87f22f

那么根据任意坐标系以及某一向量在该坐标系下的坐标,如何得到该向量呢?很简单,该向量可以表示成基的线性组合,系数即为其坐标:

3901436-fe6c22bb202854ee

那么,如何得到某一向量在任意坐标系下的坐标,两边同乘B-1即可:

3901436-a1a3d27ede61b3b1

11.2 直角坐标系和其他坐标系的转换

其实我们的向量就是在直角坐标系下的坐标表示,所以其实直角坐标系和其他坐标系的转换我们上一节已经讲过:

3901436-847f2e658bc9834c

11.3 坐标系与线性方程

我们之前所说的线性方程,都是相对于直角坐标系所说的,有时候有些问题直接在直角坐标系下进行求解并不容易,但是转换到另一坐标系下就会变得十分简单,这就得到了通过坐标系转换来求解问题的思路:

3901436-17113a11c731c101

我们举个例子来说吧,如果下图中的T表示得到任意一个向量关于直线L的对称向量:

3901436-7d81a682c6788462

直接求解这个问题非常难,我们想要找的是一个矩阵A,使得T(x)=Ax,直线如果不是横轴或者纵轴的话,要找到这个矩阵A是十分困难的。但是如果直线是横轴或者纵轴的话,这个问题就变得非常简单。假设直线是横轴,那么要找的矩阵我们可以很容易写出:

3901436-c39046d6b7f76786

所以我们可以通过坐标系变换,把直线L变成横轴,那么问题就简单了:

3901436-5ea2b2bb79d1560a

所以我们在直角坐标系下的这个变换矩阵A也就找到了,此时我们可以称两个坐标系下的变换矩阵是相似矩阵(Similar matrices):

3901436-2d8a084dad2831d7

假设直线L为y=0.5x,那么求解过程如下:

3901436-9f40cc9aa162bdba

12、特征值和特征向量

12.1 什么是特征值和特征向量

好了,在写这一节之前,我们看来想一下上一节的东西,我们说一个直角坐标系下的向量v, 其在另一个坐标系下的坐标表示为Bv,这个B是该坐标系下的基所做成的矩阵,所以说矩阵可以表示一种线性变换(Linear Transformation),它将一个向量在直角坐标系下的坐标表示转换为另一坐标系下的坐标表示!

我们知道,任意非零向量都可以张成一条直线,有的向量在一个矩阵A作用后,偏离了其所张成的空间;但有的向量在矩阵A作用后,还是在原有张成的空间,矩阵A只是对该向量起到了一定的伸缩作用,那么我们就说该向量是矩阵A的特征向量(Eigenvector),而这个伸缩作用的大小我们就称为特征值(Eigenvalue)。所以我们知道,该向量所张成空间中的所有向量(零向量除外)都是该矩阵的特征向量。下面的例子中,经过变换后横轴没有发生变化,所以横轴的向量都是特征向量,特征值为1。

3901436-50354ce5aebf8155

好了,我们可以给出特征值和特征向量的定义了:

3901436-ec305131cd9cfdf7

12.2 如何计算特征向量

假设我们已经知道了特征值λ,我们可以根据Av=λv求解其对应的特征向量:

3901436-27f8ac39d1161326

而某一特征值λ的特征空间(Eigenspace)定义为(A-λIn)v=0的解集:

3901436-6f65f29bfea06093

Eigenspace也可以说是λ所对应的特征向量再加上零向量(特征向量不能是零向量)

3901436-e6105cf89676fff6

12.3 检查一个标量是否为特征值

检查一个标量是否为特征值,只需要判断其对应的特征空间是否只有零向量即可:

3901436-a42161b8f8d59654

12.4 计算特征值

如果一个标量是矩阵A的特征值,那么他会满足下面所有的条件:

3901436-6d042158bdd04e49

那么如何计算一个矩阵的特征值呢,这里要使用特征多项式(Characteristic Polynomial),特征值是特征多项式的根。即:

3901436-e9de9fdb00b976c9

举个例子:

3901436-c04dce5afae53573

这里我们可以得到一个性质,两个相似矩阵的特征值是相同的,证明如下:

3901436-2753f71307fd58c0

那么一个n阶方阵有多少特征值呢?最多n个。如果一个n阶方阵有n个特征值(包括重复值),那么这n个特征值的的和等于矩阵的迹(trace,即矩阵主对角线的元素之和),同时,这n个特征值的乘积等于矩阵的行列式。

3901436-54a138febc311848

对特征多项式进行因式分解,我们可以得到如下重要的结论,一个特征值对应的特征空间的维度,小于等于该特征值重复出现的次数。

3901436-76a57e60ccdf27ca

举例来说:

3901436-2bb7c8c27782aebf

12.5 正定矩阵&半正定矩阵

如果一个矩阵的所有特征值都大于0,那么这个矩阵被称为正定矩阵(positive definite matrix),如过特征值都大于等于0,则称为半正定矩阵。

那么正定或者半正定矩阵的含义是什么呢?这里我们以正定矩阵为例。我们知道一个矩阵的A代表一种线性变化,那么如果一个矩阵是正定的,就有xTAx>0,假设x在经过A的变换后变为y,那么xTy>0,即x和y的内积大于0,或者说夹角小于90度。所以正定矩阵的直觉代表一个向量经过它的变化后的向量与其本身的夹角小于90度。

13、对角化

13.1 可对角化

如果一个n阶方阵A可以变为A=PDP-1,其中D是n阶对角矩阵,P是n阶可逆方阵,那么A就是可对角化的(diagonalizable)。但并非所有的矩阵都可以进行对角化:

3901436-a8f2e79cd9d7515d

如果A是可对角化的,那么P中的列向量是A的特征向量,D中对角线元素是A的特征值,证明如下:

3901436-07143367b03b24fe

同时,我们可以得到如下结论:

3901436-c4258a1d4f4d832a

13.2 可对角化的性质

本节我们介绍几个重要的性质,

1)不同特征值对应的特征向量之间线性无关。

2)如果一个矩阵A可对角化,那么其特征值对应的特征空间的维度,等于该特征值重复出现的次数。

3)如果一个矩阵A可对角化,那么Am = PDmP-1。

我们首先来看第一个性质:

3901436-f9d7cf15fc3f5652

我们可以假设他们之间线性相关来进行反证:

3901436-6f7398dfc69ae750

再来看第二个性质:

3901436-c203c47e5a139dfc

14、正交

14.1 范数和距离

我们常用范数(Norm)来表示矩阵的长度,其中最常用的是二范数:

3901436-ebe2bddb9cd2a7b6

两个向量的距离,我们使用的一般是欧式距离:

3901436-8003cd245e0b23fd

14.2 点积和正交

点积(Dot Product)的计算如下:

3901436-af6c02a89d107367

两个向量是正交的(Orthogonal),如果两个向量的点积是0,那么零向量和任何向量都是正交的。

点积具有如下的性质:

3901436-5cb9a38bb609b313

同时,如果两个向量是正交的,那么有如下性质:

3901436-b0ef801dc299a7f4

在三角形中,我们有著名的三角不等式,两条边长度之和大于第三条边的长度,所以我们有:

3901436-8b7a3f99c27512ee

14.3 正交补

对于一个非空的向量集合S,该集合的正交补(Orthogonal Complement)定义为:

3901436-e018ec301ca06d7f

关于正交补,我们有如下性质:

3901436-8cc88d5ad83483b8
3901436-53f877cfc1e6476e

所以说,对于n维空间中的向量,我们都可以进行拆解:

3901436-07488587a2c492ef

14.4 正交投影

正交投影(Orthogonal Projection)通过下面的图片很容易理解,如果向量u像子空间W做正交投影,其投影的结果就是w。

3901436-92f1c9c56605d844

正交投影有一个很重要的性质就是,u在子空间W上的正交投影向量,是与u距离最近的,观察下图可以看出,直角三角形斜边的长度总是大于直角边的:

14.5 如何做正交投影

如何得到一个向量在另一个子空间上的正交投影呢,从一个向量得到另一个向量,我们不妨中间乘了一个变换矩阵Pw,即w=Pwu。所以关键是变成如何寻找这个矩阵

Pw。

好了,我们这里直接给出结论,然后再进行证明:

3901436-c4d932105162c321

证明如下,证明中的第一步是因为u-w是垂直于子空间W中所有向量的,因此自然垂直于C中所有的列向量,因此CT(u-w)=0:

3901436-0a786e8c8657d6ac

14.6 正交投影的应用-求解线性回归

如果对于无解的线性方程组Ax=b,我们退而求其次,在A的列所张成的空间中找一个距离b最近的向量,其实就是b在A上的正交投影。

这个思想可以用在我们机器学习中的线性回归中。在进行线性回归时,我们往往希望残差平方和最小,即:

3901436-e0b83210584b975e

这里的C是我们的训练数据,训练数据的矩阵表示相当于线性方程组的A,要找的参数a相当于线性方程组的x,实际值y相当于线性方程组的b。根据我们上一节求解正交投影的方式,Ca的值应该等于y在C张成空间中的正交投影,因此,我们可以直接计算得到参数的值:

3901436-ef7975433dc2ad9c

14.7 正交基

如果一组向量中任意两个向量都是正交的,那么我们可以称这组向量为正交集(Orthogonal Set)。不含零向量的正交集中的向量是线性无关的,证明如下:

3901436-eb455af803e6d1c2

如果正交集中所有的向量长度都为1,那么这个集合被称为标准正交集(Orthonormal Set),标准正交集中的向量当然也是线性无关的。

因为正交集/标准正交集中的向量是线性无关的,那么如果一个子空间的基是正交/标准正交的,那么这个基被称为正交基(Orthogonal Basis)/标准正交基(Orthonormal Basis)。

如果一个基是正交的,那么我们可以很快的求解出子空间中一个向量的坐标:

3901436-6410ddb23d250b3c

如果u是任意向量,那么u在子空间中的正交投影也很容易计算得出:

3901436-038d0ebf105ea4e4

我们可以将我们之前得到的投影变换矩阵进行改写:

3901436-b1a57fd6b174cc6a

如何把一个普通的基转换为正交基呢,方法如下:

3901436-2131b4e85436d023

14.8 正交矩阵

我们之前提到过,矩阵其实代表一种线性变换,如果将这种变换作用在任意的向量u上,不改变向量u的长度的话,我们就说该线性变换具有Norm-preserving(这里不清楚怎么翻译,暂且翻译为范数不变性)。注意,这样的u是任意的向量,比如旋转和对称反转操作就不会改变任何向量的范数:

3901436-464c403aad203a77

显然,具有范数不变性的矩阵,其必有一个特征值为+1或者-1 。

一个n阶的方阵Q,如果它的列是可以张成n维空间的标准正交基,我们就称Q为正交矩阵(orthogonal matrix)。

例如,下面的矩阵就是一个正交矩阵:

3901436-31d725dd0640b714

范数不变性和正交矩阵是什么关系呢?答案是:如果一个矩阵具有范数不变性,那么它是正交矩阵,反之如果一个矩阵是正交矩阵,那么该矩阵具有范数不变性。接下来,我们分别证明这两点。

第一点:如果一个矩阵具有范数不变性,那么它是正交矩阵

证明一个矩阵是正交矩阵无非就是证明两点,每一列的长度都为1,任意两列都是正交的。

证明每一列长度都为1:

3901436-634ae6e9d21616d3

证明任意两列正交:

3901436-65cd02b59f41ac5c

第二点:如果一个矩阵是正交矩阵,那么该矩阵具有范数不变性

首先,我们很容易知道,对于一个正交矩阵Q,QT=Q-1,根据下面的推导可以得到正交矩阵一定具有范数不变性:

3901436-f25d66bf89c9faa4

刚才我们说到了,对于一个正交矩阵Q,QT=Q-1,这个条件其实可以用来判断一个矩阵是否为正交矩阵。根据这个条件,可以得到,如果一个矩阵是正交矩阵,那么其转置仍然是正交矩阵。这时我们只要检查一下(QT)T=(QT)-1是否成立就好了。很显然是成立的,因为转置的逆等于逆的转置。

所以对一个正交矩阵,有如下三点性质:

1)行和列都是正交的范数为1的向量

2)范数不变性

3)其转置等于其逆矩阵

14.9 对称矩阵

如果一个矩阵的转置等于其本身,那么这个矩阵被称为对称矩阵(symmetric matrices)。

对于对称矩阵来说,它的特征值都是实数:

3901436-d34284adac71aa27

同时,不同的特征根所对应的特征向量,是正交的:

3901436-689231d221176f02

对称矩阵一定是可以对角化的(相关的证明网上可以找到,这里就不证明了),我们之前介绍过,对于一个可对角化的矩阵,它的特征向量之间都是线性无关的,根据这个性质,如果一个n阶对称阵有n个不同特征值的话,其对应的特征向量是两两正交的,那么其组成的矩阵就可以是一个正交矩阵,如果存在重根,其对应的特征向量之间不一定是正交的,但总是可以通过正交化的方式转换成正交的。因此对于对称矩阵来说,之前讲过的对角化的方式可以变为:

3901436-ef92d41ca40a8800

15、奇异值分解

15.1 什么是奇异值分解?

我们之前介绍的对角化,只能针对方阵,那么对于非方阵来说,我们可不可以用类似对角化的方式对矩阵进行分解呢?这里就用到了奇异值分解(Singular value decomposition ,SVD)的技术。

奇异值分解如下,一个m*n的矩阵A可以分解为一个m阶的正交矩阵,一个m*n的对角矩阵(类似于对角矩阵吧)和一个n阶的正交矩阵:

3901436-05f985168d495911

那这三个矩阵分别要怎么求呢?我们参考刘建平老师的文章(https://www.cnblogs.com/pinard/p/6251584.html):

奇异值通常用于降维,也就是说,我们不需要所有的奇异值来描述矩阵,而是通过少数的几个比较大的奇异值就可以,此时效果如下:

3901436-dbf9621bd3c411d2

好了,本文的线性代数知识就带你复习到这里,真的建议大家去听一下李宏毅老师的线性代数课,讲的还是十分清晰的。如果您发现了本文的错误,欢迎您在下方留言!

参考文献

1、

http://speech.ee.ntu.edu.tw/~tlkagk/courses_LA16.html

2、

https://www.cnblogs.com/pinard/p/6251584.html

- END -

3901436-110510e4c0e586e0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值