专栏名称: 算法与数学之美
从生活中挖掘数学之美,在实践中体验算法之奇,魅力旅程,从此开始!
目录
相关文章推荐
九章算法  ·  这可能是码农新一次财富分配的机会…… ·  4 天前  
九章算法  ·  亚麻perm明年1月份开!L5以下没资格…… ·  4 天前  
图灵人工智能  ·  大语言模型技术演进与启示! ·  4 天前  
图灵人工智能  ·  大语言模型技术演进与启示! ·  4 天前  
九章算法  ·  湾区码二代,已经是next level了 ·  1 周前  
九章算法  ·  狗家L5,思路打开了 ·  1 周前  
51好读  ›  专栏  ›  算法与数学之美

线性相关和秩的物理意义

算法与数学之美  · 公众号  · 算法  · 2017-01-25 22:20

正文

线性相关和秩的物理意义

来源:CSDN

编辑:Gemini


什么是线性相关? 这两个矢量(计算机里面用数组表示)v1和v2,如果v2可以从v1的某种乘除运算(幅度拉伸,方向转换),得到v2+K*v1=0,那么我们认为v2和 v1线性相关。例如,两个直线方程,x+2y=0和2x+4y=0,他们的系数向量是(1,2)和(2,4),显然,他们是同一条直线。也就是说 (1,2)和(2,4)是线性相关的。同理,对于3维的情况,x=0,y=0,x=y这3个平面相交于Z轴,我们称这3个平面关于Z轴线性相关,3个平面 方程的系数向量之间可以从其中的任意两个得到另外一个(1,0,0)+(0,1,0)=(1,1,0)。


说的抽象一点,线性相关就是,对于N个m维向量v1-vN,存在不全为0的一个系数向量K使得 v1*k1+v2*k2+v3*k3+...+vN*kN=0。换句话说,其中的某些向量,可以通过其他向量,对于其系数的四则运算和组合得到。如果3个 向量v1,v2,v3是线性无关的(显然,v1,v2,v3都不是全0向量),那么v1+v2,v2+v3,v1+v3这三个向量之间是什么关系? 其中的任何一个不能通过其他的两个进行4则运算得到,所以仍然是一组线性无关的向量。


Ax=b的解总是不多于Ax=0的解。这个很好理解: 例如,Ax=0如果是对应3维方程组的话,就是3个平面在3维空间的交点。如果不是交与一条线,也不重合,那么就交与原点(0,0,0)。好了,对于 Ax=b的情况怎么理解呢? 也就是这3个平面都做了一定的平移。那么如果平移的当,交点和原来一样,只是平移到了(a,b,c),但是也有可能这3个面平移的不正好相交,变成无解 了。这个分析的过程对应于矩阵的增广矩阵分析。如果矩阵的秩不等于增广矩阵的秩,那么相当于高斯消元法的过程出现了0=x(x非0)这样的谬,也就是方程 组无解(没有交点)。如果两个秩相等,就相当于解的数量和原来一样。


那么,怎么理解秩,通解和特解呢? 还是拿3维平面举例子(3维方程组),如果系数矩阵的行列式为0,说明可以通过消元法去掉至少一个方程,就像上面说的x=0,y=0,x-y=0三个平面 的情况一样,x=y可以通过前面两个方程相减得到。系数矩阵的非相关向量个数=2,我们称秩(rank)=2。好了,这个方程组的解有无数个(整个Z 轴),写成通解形式就是


(x,y,z)=k(0,0,1),k是任意实数。如果方程组是Ax=b呢,那么交点相当于平移到了(a,b,c),通解形式就是 k(0,0,1)+(a,b,c),这里(a,b,c)是特解,表示平移的基点。怎么求这个特解? 随便代入一个x的值x0,求出y和z的对应值,但是结果(x0,y0,z0)不等于(a,b,c),不要紧,k(0,0,1)填补了(x0,y0,z0) 和(a,b,c)之间的差。



继续推广,前面说的Ax=b都是齐次线性方程组,如果A是非齐次的(m*n)呢,例如,有4个变量? 那么如果r(A)=2,说明只有两个线性无关的矩阵向量,通解基的个数=max(m,n)-r(A)。这里,通解基个数=4-2=2。所以得到两个方程的 时候,代入(x1,x2)=(1,0),(0,1)两个向量,求出通解k1(x0,y0,1,0)+k2(x1,y1,0,1)。当然,代如 (x3,x4)=某个向量组合,效果一样,因为线性相关性是对称的。最后,求特解,代入一个任意的(x1,x2)组合求出特解(x,y,z,L)。再次推 广,Ax=B,B也是一个矩阵,有解吗? 只要保证r(系数矩阵)=r(增广矩阵)就可以了,也就是保证高斯消元的过程,方程两边不出现0=非0的悖论。


好了,为了说明线性相关,秩,通解之间的关系,我举个例子。这个例子是线性代数的常见证明题:
    题目:已知A是m*n的矩阵,秩r(A)=m,存在矩阵使得AB=0有解,通解矢量个数为n-m。求证,对于任何矢量a使得Aa=0,那么必然有一个矢量b使得a=Bb。


怎么证明呢? 要求证的东西其实就是,a可以表示为B的列向量的某种线性组合->也就是求证a总是可以由B的列向量线性表示。那么既然a是Ax=0的一个解,那么 就要求B的列向量必然是Ax=0的通解向量组成的矩阵,那么必然有AB=0的解的个数=n-r(A)=n-m,符合题设。倒过来写就是证明的过程。

求线性方程组通解的缺点: 求秩的过程依然用到了高斯消元法,没有对应的计算机方法,全靠人为观察。而且很多实际应用的情况下,方程组是没有精确解的,根本求不出秩,为了求得近似解,要引入奇异值分解的方法,而这个方法又引出了:特征矩阵,特征值,特征向量。


往期经典文章回顾


1. 泰勒定理的奇闻轶事

2. 丘成桐:漫谈微分几何

3. 概率的意义:随机世界与大数法则

4. 算法|人人都该了解的十大算法

5. 数学里也能耍流氓

6. 深入浅出遗传算法

7. 机器学习编年史

8. 对傅里叶级数的理解

9. 推荐算法概览

10.5个没人能解决的“简单”数学问题