欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:石晓文,中国人民大学信息学院在读研究生
个人公众号:小小挖掘机(ID:wAIsjwj)
目录
2.1 向量Vectors
2.2 矩阵Matrix
2.3 矩阵与向量相乘
3.1 线性方程组
3.2 线性组合Linear Combination
3.3 张成的空间Span
4.1 线性相关和线性无关
4.2 秩Rank
5.1 初等行变换
5.2 简化行阶梯形式Reduced Row Echelon Form
5.3 满秩
6.1 矩阵乘法的含义
6.2 矩阵乘法的性质
6.3 分块矩阵乘法
7.1 什么是矩阵的逆
7.2 初等矩阵
7.3 什么矩阵是可逆的?
7.4 求解一个矩阵的逆
8.1 什么是行列式?
8.2 行列式的性质
8.3 行列式的计算
9.1 子空间
9.2 零空间
9.3 列空间和行空间
10.1 什么是基Basis
10.2 基的特性
10.3 判断一个集合是否为基
10.4 三种空间的基和维度
11.1 使用基表示向量
11.2 直角坐标系和其他坐标系的转换
11.3 坐标系与线性方程
12.1 什么是特征值和特征向量
12.2 如何计算特征向量
12.3 检查一个标量是否为特征值
12.4 计算特征值
12.5 正定矩阵&半正定矩阵
13.1 可对角化
13.2 可对角化的性质
14.1 范数和距离
14.2 点积和正交
14.3 正交补
14.4 正交投影
14.5 如何做正交投影
14.6 正交投影的应用-求解线性回归
14.7 正交基
14.8 正交矩阵
14.9 对称矩阵
15.1 什么是奇异值分解?
1、线性系统Linear System
一个线性系统满足两个条件:Persevering Multiplication和Persevering Addition。
Persevering Multiplication
Persevering Addition
多元线性方程组是一个线性系统
2、Vectors、Matrices
向量是一堆数的集合,分为列向量和行向量,本文中,向量默认是列向量,行向量用其转置表示。
向量与标量相乘,每一维都与该标量相乘:
向量相加,使用平行四边形法则:
零向量:所有维度的值都为0:
标准向量:一个维度是1,其余维度是0:
向量集:可以包含有限个或无限个向量:
Rn: 所有的n维向量组成的向量集合
矩阵是一组向量:
如果矩阵有m行和n列,我们就说矩阵的大小为m*n,如果m=n,我们称为方阵(square matrix)。
矩阵的元素下标表示,先行后列:
矩阵与标量相乘:每一个元素分别与该标量相乘。
矩阵相加:两个矩阵的形状必须一致,同位置的元素分别相加。
零矩阵:所有元素均为0的矩阵。
单位矩阵Identity matrix:必须是方阵,对角线元素为1,其余为0,用In表示n*n的单位矩阵。
同形状的矩阵的一些运算法则:
矩阵的转置:沿左上到右下的对角线为轴进行翻转,将(i,j)位置的元素与(j,i)位置的元素互换得到的矩阵,转置的矩阵用AT表示。
矩阵转置的一些运算规则:
矩阵和向量相乘,结果如下:
从行的角度来看矩阵和向量相乘:从行的角度看,矩阵A和向量x相乘,其结果是矩阵的A的每一行与向量x做点积(dot product,后面再介绍) 的结果。
从列的角度来看矩阵和向量相乘:从列的角度看,矩阵A和向量x相乘,相当于对矩阵A的列向量做了一次线性组合。
因此,无论从行角度还是列角度,矩阵A的列数要与向量x的维数相同。
矩阵和向量相乘的一些性质:
如果A和B都是m*n的矩阵,对所有的w,如果都有Aw=Bw,那么是否意味着A=B。结果是显然的。既然是所有的w,那么我们用标准向量就可以得到A和B的每一列都是相同的,因此A=B。
3、线性方程组有解么?
对于一个线性方程组,我们可以写成矩阵和向量相乘的形式:
对于一个线性方程组,其解的情况可能是无解,有唯一解或者有无穷多个解。我们把所有的解的集合称为解集(solution set)
如果线性方程组有解,我们就称其为相容的(consistent),若无解,则称为不相容的(inconsistent)。
线性组合是一个操作,将各个向量缩放之后,相加在一起,就得到了参与操作的向量之间的线性组合。
所以线性方程组的问题可以转变成:b是否可以表示成A中列向量的线性组合?
举几个例子:
通过观察上面的例子,你可能会想,在二维平面中,是不是只要两个向量不平行,就一定有解?答案是肯定的,但有解时两个向量不一定平行,因为目标向量也可能跟它们平行。
对于一个向量集S,其向量的所有线性组合组成的向量集V,称为Span(S),也被称为S张成的空间。
举几个二维空间中的例子吧,如果S中只有零向量,那么其张成的空间也只有零向量。
如果S中包含一个非零向量,那么其张成的空间是一条直线:
如果一个向量集包含两个不平行的非零向量,那么其可以张成整个二维平面:
所以一个线性方程组的问题又可以转换成两一个等价的问题:向量b是否在A的列向量所张成的空间中?
4、线性方程组有多少个解
在上一节中,我们知道了如果b可以表示成A中列向量的线性组合或者b在A的列向量所张成的空间中,那么线性方程组有解,否则无解。但是,有解的情况下是唯一解还是多个解呢?我们还不知道。
给定一个向量集,如果其中一个向量可以表示成其余向量的线性组合,那么我们就说这组向量是线性相关(Linear Dependent)的。值得注意的是,零向量是任意向量的线性组合,因此只要包含零向量的向量集,都是线性相关的。
线性相关还有另一种定义,即可以找到一组非全零的标量,使得线性组合为零向量。
与之相对应,如果无法找到一组非全零的标量,使得线性组合得到零向量,那么这组向量就是线性无关的(Linear Independent):
判断向量集是线性无关还是线性相关,其实就是看一个齐次方程(Homogeneous Equations)有无非零解:
由此,对于Ax=b,我们可以得到两个结论:如果A的列是线性相关的,且Ax=b有解,那么,它有无穷多个解;如果Ax=b有无穷多个解,那么A的列是线性相关的:
矩阵的秩(Rank)定义为线性无关的列的最大数目:
矩阵的零化度(Nullity)是矩阵的列数减去矩阵的秩:
也就是说,如果一个m*n的矩阵,其秩为n的话,它的列是线性无关的:
所以总结一下线性方程组的解的相关问题:
5、求解线性方程组
如果两个线性方程组的解集是相同的,我们就称它们是等价的(equivalent)。
对线性方程组做以下三种操作可以得到等价的方程组:
1)交换两行
2)对其中一行变为k倍
3)将一行的k倍加到另一行上
上面的三种操作我们也称为初等行变换(elementary row operations)
这里我们介绍一下增广矩阵(Augmented Matrix),即将A和b进行横向拼接:
因此,通过初等行变换,如果我们能够将增广矩阵转换为一个相对简单的形式,那么我们可以很快的得出最终的解。
我们首先介绍行阶梯形式的矩阵,它满足两个条件,首先是非零行要在全零行的上面,其先导元素(leading entries,每行的第一个非零元素)按阶梯型排列:
在上述两个条件的基础上,如果先导元素所在的列都是标准向量的话,那么它就是简化行阶梯形式Reduced Row Echelon Form:
下面的矩阵不是简化行阶梯形式:
而下面的矩阵是简化行阶梯形式:
根据简化行阶梯形式,我们很容易得到线性方程组的解的形式。
如果简化行阶梯形式是[I;b']的,那么线性方程组有唯一解:
下面的例子是有无穷多个解的情况,可以看到,第1、3、5列是包含先导元素的标准向量,其对应的变量也称为基本变量,而第2、4个变量被称为自由变量:
下面的例子是无解的情况,先导元素出现在了最后一列:
通过将增广矩阵化简为简约行阶梯形式,进而求解线性方程组解的方法,我们称之为高斯消元法(Gaussian Elimination)
接下来,我们来看一下简约行阶梯型形式的一些性质:
(1)化简为简约行阶梯型形式之后,列之间的关系不变
也就是说,初等行变换不改变矩阵中列之间的关系。加入A的简约行阶梯形式是R,那么Ax=0和Rx=0有相同的解集。
但是对于行来说,行阶梯形式改变了行之间的关系,比如原先两行是两倍的关系,其中一行变为二倍之后,二者就相等了,关系自然改变了。
(2)简约行阶梯形式改变了矩阵列所张成的空间
举个简单的例子就能理解,假设一个矩阵是[[1,2],[2,4]],它所张成的空间是y=2x,化简后得到[[1,0],[0,0]],此时所张成的空间却是整个平面。但是没有改变行所张成的空间。
(3)先导元素所在的列线性无关,其他列是这些列的线性组合
先导元素所在的列,在原矩阵中被称为主列(pivot columns),这些列是线性无关的,其他列可以有主列的线性组合得到。
(4) 矩阵的秩等于主列的个数,等于简约行阶梯型里非0行的个数
根据这个性质,我们可以得到矩阵的秩的一个性质:
Rank(A) <= Min(Number of columns,Number of rows)
因为秩等于主列的个数,所以秩一定小于等于列的个数,因为秩等于简约行阶梯型中非零行的个数,所以秩一定小于等于矩阵行的个数。
有这个性质我们还可以得出两个简单的结论:对于m*n的矩阵A,如果m 所以我们再来回顾一下矩阵秩的判定,我们已经有多种得到矩阵秩的方式: (5)当m*n的矩阵A的秩为m是,方程组Ax=b恒有解 什么情况下Ax=b恒有解呢?b是一个m*1的向量,也就是说矩阵A的列向量可以张成整个Rm空间,即A的秩为行数m,也就是A变成简约行阶梯型之后没有全0行。 (6)m个线性无关的m维向量可以张成整个Rm空间,Rm空间中多于m个向量的向量集一定线性相关 如果m*n的矩阵的秩为n或者m,那么说该矩阵为满秩(Full Rank)。 6、矩阵乘法 给定两个矩阵A和B,其相乘结果中的元素(i,j)是矩阵A的第i行和矩阵B的第j列的内积,因此,矩阵A的列数一定要个矩阵B的行数相等。 矩阵乘法可以看作是两个线性方程的组合: (1) AB <> BA (4)对角矩阵相乘 分块矩阵相乘和普通矩阵相乘其实是相同的: 7、逆矩阵 如果两个方阵A和B的乘积是单位矩阵,AB=I,那么A和B就是互为逆矩阵。 一个矩阵是可逆的(invertible)的,必须满足两个条件,首先要是方阵,其次是可以找到另一个方阵B,使得AB=I。 并不是所有的方阵都是可逆的。同时,一个矩阵的逆矩阵是唯一的: 逆矩阵可以用来求解一个线性方程组,但这种方法要求A是一个方阵,同时在计算上并不是十分有效率的: 我们之前介绍了三种初等行变换,其实初等行变换都可以用矩阵相乘表示,这种左乘的矩阵被称作初等矩阵(Elementary Matrix)。即单位矩阵经过一次初等变换得到的矩阵。 既然左乘一个初等矩阵相当于对单位矩阵做一次初等行变换,那么只要再左乘一个相反操作的初等矩阵,就可以再次变回单位矩阵,所以初等矩阵的逆很容易得到: 回顾我们如何得到矩阵的简约行阶梯形式,用的就是初等行变换,因此我们可以用左乘初等矩阵的形式,来得到矩阵的简约行阶梯形式。 判断一个矩阵是否是可逆的,可以用下面条件中的任意之一,不过一定要是一个方阵才行: 在上一节中,我们看到了,如果一个方阵是可逆的,那么它的简约行阶梯型是单位矩阵,所以我们可以使用初等行变换来得到一个矩阵的逆。 8、行列式 首先方阵才有行列式,我们先来简单回顾一下2*2和3*3的矩阵的行列式: 那行列式代表什么含义呢?在二维平面中,矩阵行列式的绝对值代表一个平行四边形的面积,在三维空间中,矩阵行列式的绝对值代表一个平行六面体的体积: (1)单位矩阵的行列式为1 (3)对任意一行来说,行列式是“线性”的 所以,下面的式子是正确的: 同时: (4)如果行列式有两行相等或者是倍数关系,行列式值为0 (5)对角矩阵的行列式等于对角线上元素的乘积 (6)如果一个方阵的行列式不为0,那么它是可逆的,反之,如果一个方阵可逆,那么它的行列式不为0 (7)det(AB)=det(A)*det(B) (8)矩阵转置的行列式和原矩阵相同 所以说,刚才的结论同样适用于列。即如果有两列相同或是倍数关系,行列式值同为0,同时每一列也是线性的。 我们首先来介绍余子式和代数余子式,一个矩阵的任意一个元素aij都有对应的余子式,它就是将第i行和第j列划掉之后所得到的矩阵的行列式,用det(Aij)表示: 而cij=(-1)i+jdet(Aij)被称为代数余子式。 根据代数余子式,我们可以得到计算行列式的公式如下: 举个3维的例子: 因此,对于一个方阵的行列式,它是n!项的和(n!是n个元素的全排列的个数),对于每一项,它是从每一行选择一个元素进行相乘,而这些元素分别属于不同列。 有了代数余子式,我们可以得到矩阵A的伴随矩阵。伴随矩阵中的每个元素是原矩阵中该位置元素的代数余子式: 我们可以进一步通过伴随矩阵和行列式值来计算矩阵的逆:
对于增广矩阵来说,如果变为简约行阶梯型后先导元素出现在了最后一列,则无解。5.3 满秩
6.1 矩阵乘法的含义
6.2 矩阵乘法的性质
(2)(AB)T = BTAT
(3)其他性质6.3 分块矩阵乘法
7.1 什么是矩阵的逆
7.2 初等矩阵
7.3 什么矩阵是可逆的?
7.4 求解一个矩阵的逆
8.1 什么是行列式?
8.2 行列式的性质
(2)交换任意的两行,行列式变号
从ppt上不好翻译,但是看图是很直观的:
这个性质也是很直观的,交换两行变号嘛,但是交换的两行如果是一样的,那么行列式的值应该不变,-a=a那么a只能是0。
如果一个矩阵是可逆的,它可以经由初等变换得到单位矩阵,每一次初等变换得到的矩阵的行列式值,相当于对原矩阵的行列式值乘上一个标量。由于每次乘的标量不为0,所以可以得到原矩阵的行列式值不为0。8.3 行列式的计算