【ML学习笔记】10:机器学习中的数学基础7(张集,秩,维度,行阶梯形)
对线代的很多知识理解仍很浅薄,继续恶补。
向量的本质
在线代里,习惯说的向量都是指列向量。向量虽然是一列数,但是因为有次序,所以每个数在其所处的位置也会携带信息,可以理解为向量是有n个独立维度的数学对象。
在线性空间(即向量空间)中,向量就是从原点出发,沿着每个维度走其数值上的距离,最终所指代的那个点,所以向量可以表示线性空间中对象的位置。
空间的本质
空间是定义了某些概念,并满足某些性质的集合。空间的本质是容纳运动,这里的运动是从空间上一处到另一处的跳变,而不是平时说的连续的移动。
所以空间是容纳运动的对象集合,变换即是对运动的描述,线性变换也就是在描述线性空间(向量空间)中对象的运动。
矩阵的本质
根据使用的途径不同,或者关注的角度不同,矩阵也会有不同的意义。如矩阵可以表示图像,可以表示图(邻接矩阵),可以是一堆列向量组合在一起。更多的时候,在线性代数中,可以认为矩阵代表一个线性变换。
上式表示一个m行n列的矩阵所表示的线性变换可以把n维线性空间中的向量变换到m维线性空间中去,映射到其中的一个向量。
在确定的线性空间中只要选定了一组确定的基,那么线性空间中的每个点都可以用这组基的线性组合来表示,线性组合的权重也就是向量的每个维度上的数值。如果对象在这个线性空间中,从一个位置移动到了另一个位置,那么也就是从一个向量变换到了另一个向量,一定可以用矩阵来表示这一确定的线性变换。
显然对于不同的基,同样的运动(线性变换)将以不同的矩阵来表示,即线性变换->矩阵是一对多的关系:
即所有这些矩阵都可以表示这个线性变换,但又不是这个线性变换本身。
从另一个角度,同样的矩阵在不同的基下对应着不同的线性变换,即矩阵->线性变换也是一对多的关系:
即所有这些线性变换都可以用这个矩阵表示,但又不是这个矩阵本身。
综上,在确定好基的线性空间中,向量描述对象的位置,矩阵描述对象的运动,若要对某个已知位置的对象施加运动,则将其位置列向量左乘在该组基下代表该线性变换的矩阵。
相似矩阵
对于只在线性空间内的线性变换,也就是说如果是从n维线性空间里变换,那么变换完之后还是在n维线性空间里,代表这样的线性变换的矩阵一定是个方阵。
而相似矩阵就是说两个在同一线性空间内的线性变换,根据基的选取不同而表现为不同的矩阵,矩阵A和矩阵B相似记为A~B。如果A~B,那么一定存在非奇异矩阵P,使得:
这样的变换称为相似变换,称这个可逆矩阵P是相似变换矩阵。
因为这两个矩阵A和B本质表示的是同一个线性变换,只是选取的基不同而已,回顾一下特征值的定义:
显然这两个矩阵一定有同样的特征值λ,因为对特征向量的变换仅仅是在做缩放λ倍这件事,而和选取的基是哪些没什么关系!从相似变换式子上也能证明,即:
线性空间的张集
张集是给定线性空间内的一些向量组成的集合,设{v1,v2,…,vk}是线性空间V中的一些向量,那么由这些向量线性组合得到向量们,构成的V的子空间可以表示成:
称这个子空间是由这些向量张成的,称这些向量组成的集合{v1,v2,…,vk}是V的一个张集。而那个子空间内的向量全部都可以由张集内的向量线性表出,不在那个子空间内的向量,即便是在V里也不能被张集内的向量线性表出。
矩阵的列空间和行空间
m行n列的矩阵可以视为m个行向量,也可以视为n个列向量:
列空间
把所有列向量作为张集张成的子空间,即:
行空间
把所有行向量转置后作为张集张成的子空间,即:
总是记为矩阵转置后的列空间。
秩rank和维度dimension
秩
矩阵的列秩是线性无关的列向量的最大数目,行秩是线性无关的行向量的最大数目。矩阵的行秩和列秩总是相等,故可以称为矩阵的秩。显然对于m行n列的矩阵,秩最大可能达到m和n中的较小者:
如果上面那个式子划等号,那么称矩阵A是满秩的。
维度
向量空间的维度,是其任一组基里面向量的个数,也就是能从向量空间中找出的极大无关组有多少个向量。
秩和维度的关系
矩阵的秩等于行秩也等于列秩,实际上也就是行/列向量张成的子空间的维度:
矩阵的行阶梯形
行阶梯形的概念
把矩阵看成一个个行向量,通过矩阵的初等行变换:
①倍法变换:某行乘以一个数
②消法变换:把倍法变换后的行向量加到另一行上去
③换法变换:交换两行
化成像阶梯一样的矩阵,具体来说:
①全0行都集中在下面,非0行都集中在上面
②从左往右看,任一行第一个非零元素(若有)是1,且这个1所在列的其它元素都是0
③下面行的左边连续0的个数严格多于上面的每一行(注意,如果等于则需做消法变换)
一个例子
不妨先看第一列各个数,找一个容易做因子的那行,把其它行的第一列消成0:
然后尽可能让每行消出更多的头0:
继续:
继续,有没用的倍数关系的可以缩小了:
没用倍数关系的可以试着用消法构造再缩小:
看看每行的头1所在列有没有非0的数,把这些数消去:
最后按照头1出现的先后重排一下行,就完成了:
像一个阶梯一样,A的行阶梯型矩阵R记为:
行阶梯形的性质
因为对矩阵A的进行行初等变换,即行向量做权非0的线性组合,这种变换是可逆的线性变换,之前能被这些行向量线性表出的向量变换后也可以,而之前不能的变换后也不能。即这些行向量张成的子空间和之前能张成的子空间是一样的,所以行初等变换保持了矩阵的行空间:
而列空间显然是不保持的:
初等行变换的矩阵表达
对A的初等行变换,实际上相当于左乘了一个可逆矩阵,之前说了方阵可以表示在同一线性空间内的线性变换,左乘这个方阵则方阵的阶就是A的行数:
可以从图中理解到,左乘的这个方阵里的每个数相当于初等变换的一个权(倍法变换的权),权ij对应着”最终变换到第i行时,要从原矩阵A的第j行乘多少拿出来”。
因此,不管对A做了什么样的初等行变换,包括变换到行阶梯形或者别的什么,其实都相当于对A左乘一个可逆矩阵P:
而P的逆矩阵可以把变换后的矩阵K变回之前的A,也是左乘,相当于做了之前那一套初等行变换的逆变换。从数学上去看其实是矩阵和逆矩阵的标准乘积是单位矩阵,而这个单位矩阵左乘A其实也就相当于对A做了”什么都没做”的初等行变换!