Py学习  »  机器学习算法

机器学习 线性代数基础 | 1.2  基底构建一切,基底决定坐标

狗熊会 • 4 年前 • 678 次点击  
//
1.2  基底构建一切,基底决定坐标
//


通过上一小节内容的学习,我们借助Python工具温习了向量的基本概念和基本运算方法,相对而言大家并不会感到太陌生。而这一小节将会带来一个不同的视角,读者会因此对向量的坐标有一个全新的认识,即:向量的坐标表示其实并不是唯一的,他的具体表示和空间中基底的选取密切相关。

此外,本节还会带领读者一起讨论向量的一些非常重要的概念:线性无关性和线性相关性,让大家清楚的了解空间中基底的构成条件以及不同基底下向量的坐标表示方法,并在此基础上学习如何求取一个向量的坐标,同时展示在不同的线性关系下,一组向量所张成空间的形态特点。


1.2.1  向量的坐标

我们根据上一小节所介绍的内容可知,一个向量可以用来描述空间中对应的一个特定点位置,例如:向量可以用来表示二维平面上的一个点,其在x轴和y轴上的坐标分别是4和5。

那么如果扩展到一个更高维的三维向量呢?例如,用来表示的就是三维空间中的点,其在x轴,y轴,z轴上的坐标分别是4, 5, 8。

同时,向量还可以用来表示有向线段,如:所表示的有向线段在x轴和y轴上的投影长度分别为4 , 5,其中值的正负性代表了与坐标轴的方向是一致还是相反。而向量相加表示多个向量首尾相连,构成两端的起止点相连的有向线段,向量的数量乘法表示向量进行相应倍数和方向的拉伸。

以上这些都是非常简单的内容,大家在中学都学过,因此不再赘述。我们接下来开始介绍本章的重点内容。


1.2.2  向量的坐标依赖于选取的基底

继续回到向量坐标的问题上来讨论,对于二维向量而言,我们一直以来都理所应当的认定一个事实:他表示一条在x轴上投影为4,y轴上投影为5的有向线段,他的坐标是

这其实是基于了一个我们没有刻意强调的前提:我们是利用了方向为x轴和y轴正方向,并且长度为1的两个向量:,作为上述讨论的基准。因此,对于向量u而言,其完整的写法应该是:。进一步展开就是:,这种形式的表意是最完整的。

这里被选中作为向量u基准的一组向量是,他们被称作是基底。基底的每一个成员向量被称作是其中的基向量。而坐标,就对应的是各个基向量前的系数。一般情况下,如果我们不作特殊说明,基向量都是选取沿着坐标轴正方向并且长度为1的向量,这样方便描述和计算。

因此,我们总结一下:关于向量u的完整准确的说法是:在基底下,其坐标是。也就是说,坐标必须依托于指定的基底才有意义。因此,要想准确的描述向量,首先就要确定一组基底,然后通过求出向量在各个基向量上的投影值,最终才能确定在这个基上的坐标值。


1.2.3  向量在不同基底上表示为不同坐标

一个指定的向量可以在多组不同的基底上进行坐标表示,在不同的基底表示下,坐标自然也是不同的。根据一组基底对应的坐标值去求另一组基底所对应的坐标值,这就是我们后面将会反复用到的坐标变换。

例如,我们可以选择不使用默认的基底: ,而选择下面两个看似更加普通的向量:作为新的基底。

根据上一节关于向量内积的介绍,我们最好是事先把基向量的模长转化为1。因为这样一来,从向量内积的内涵可以看出,如果基向量的模长是1,那么就可以用目标向量点乘基向量,从而直接获得该向量在这个基向量方向上的对应坐标值。实际上,对于任何一个向量,我们想要找到同方向上模长为1的向量都并不是一件难事,只要让向量的各成分分别除以向量的模长就好了。例如,上面的两个基向量可以被转化为 ,这样就使得各自的向量模长都为单位1。

现在,我们来用上面介绍的方法去求取向量在这组新基上的新坐标。那么根据向量内积的几何意义,我们只要分别计算得到和这两个基向量的内积即可。不难得到内积的计算结果:

向量的坐标就是指定基的对应系数,因此向量u的表达式可以写作:的形式。那么,在该基底下坐标就被表示为了。如图1.7所示,描述了利用上述两组不同的基底,对同一向量进行坐标表示的情况。

图1.7  不同基底对同一向量的描述


1.2.4  疑问:任意向量都能作为基底么

在前面,我们选取了不同于默认基向量 的两个新的基向量,将其作为二维平面中的一组基底,并基于这组新的基底去重新表示目标向量,得到了一组新的坐标表示。

那么问题来了,在这个二维平面里,任意选取两个向量是否都能作为基底去表示目标向量呢?我们看一个实际的例子,例如:我们尝试选取向量和向量来作为空间的基底,但是我们发现,无论如何都找不出两个系数,将目标向量u表示为这两个向量的线性组合形式,即满足等式成立的c和d是不存在的,因此向量和向量不能作为基底。

这么看来,在一个n维空间里,不是随随便便选取n个向量都能作为一组基底的,构成基底的向量必须要满足一定的条件。那么,选择基底的正确方法是什么?我们下面来仔细分析分析。


1.2.5  构成基底的条件

作为n维空间中的一组基底,必须满足这样的要求:在n维空间中,任意一个向量都可以表示为这一组基向量的线性组合,并且这种线性组合的表示方式(也就是系数)必须是唯一的。

我们下面具体来展开讲解:

1.向量数量足够

这句话听上去比较抽象,为了直观的进行讨论,我们先在三维空间中进行举例,如果想要作为三维空间中的一组基,首先,其中的每一个基向量的维数都必然为3,这一点是显而易见的。

而与此同时,基向量的个数也必须为3个。如果数量不足,例如只有2个三维向量 (假设他们是不共线的两个向量),那么无论对这2个向量怎么进行线性组合,他们都只能表示二者所构成平面上的任意向量,而位于该二维平面外的三维空间中任何一个向量,都无法由的线性组合进行表示。关于这一点,大家可以回顾一下1.1节中的图1.6所描述的情况。

2.满足线性无关

如何确保能够满足表示方法的唯一性呢?这里我们就引入向量线性无关的概念,一组向量需要满足线性无关的条件,即:其中任何一个向量都不能通过其余向量的线性组合的形式进行表示。

换句话说,当且仅当的等式关系成立时,线性组合才能生成0向量,如果中有非0值存在,那么这一组向量就是线性相关的了。

为什么说一组向量满足线性无关性的条件能够等效于满足线性组合表示方法的唯一性呢?

我们可以简单的做一个说明:基于一组线性无关的向量:,对于空间中的某个指定向量p,假设有两种不同的表示方法,即:

左右两边整理一下就有:由于是一组线性无关的向量,那么为了使得最终的等式结果为0,则必须得满足: 的条件,即对应的每一组都要满足的相等关系。这就与前提假设产生了矛盾,不正从反证法的角度说明了不可能存在两种不同的线性组合表示方法吗?因此,我们在这里就阐明了线性无关性和表示方法的唯一性在这里是相互等价的。

在这个三维空间中,我们就要求所选取的三个基向量线性无关,如果他们线性相关,那么就可以表示为的线性组合,换句话说,候选的三个向量就处在一个平面上了,这样,自然无法通过线性组合的方式来表示三维空间中位于平面之外的任何一个向量了,如图1.8所示。

图1.8  三维空间中线性相关的3个三维向量

这里我想补充说明一下,类似于图1.8中所展现的,3个三维向量之间由于彼此线性相关,无法张成整个三维空间,只能张成三维空间中的二维平面甚至是退化成为一条直线,这种现象会经常遇到、用到,希望大家能够重视。

那么,如果三维空间中基向量的个数超过3个了呢?这当然也是不行的。例如,假设有4个向量试图成为该空间中的一组基向量,我们任选出其中的3个向量,按照前提,假设他们之间满足线性无关性,那么对于第4个向量,由于他也处在三维空间当中,则他一定能够被前3个向量的线性组合所表示。那么,三维空间中的这4个向量显然是线性相关的,无法满足向量构成基底的唯一性条件。

因此,在一个三维空间当中,必须由3个线性无关的向量来构成整个空间中的一组基底。

3.结论

最后,我们在n维空间中再次来梳理一下一般性的情况:一组向量能够构成n维空间的一组基底,就必须满足:n维空间中的任何向量v,都能表示成的形式,并且这种表示方法是唯一的。

再换句话说,n维空间中的基底由n个向量所构成,他们需要满足线性无关的条件。


1.2.6  张成空间

最后,基于这两节所讨论的内容,我们来说一说张成  空间的概念,对于一组向量,由他的所有线性组合所构成的空间就称之为这一组向量的张成空间。

简简单单的语言,但是这里面蕴藏的内涵却非常丰富。张成空间对所讨论向量的线性无关性没有要求,这些向量被允许是线性相关的。

我们举几个实例来说明一下不同的几种情况,通过这几个例子读者可以回顾一下这两节的主要知识内容:

第一种情况:

向量是两个线性无关的二维向量,他们构成了二维空间中的一组基,因此他的张成空间就是整个二维空间

第二种情况:

很显然,这两个向量存在着如下的数量关系:。因此,向量是线性相关的共线向量,他们张成的空间是一条穿过原点的一维直线。

第三种情况:

我们可以观察得出,向量两个三维向量线性无关,但是由于向量的个数只有两个,因此他们的张成空间是三维空间中的一个穿过原点的平面。

第四种情况:

虽然向量的个数是3个,但是他们满足的数量关系。因此,他们是三个线性相关的共面向量,由这三个向量所张成的空间仍然只是三维空间中的一个穿过原点的二维平面。

第五种情况:

这三个三维向量线性无关,可以构成三维空间当中的一组基,因此他们的张成空间是整个三维空间

综合比较这五种不同的情况,读者应该能够发现其中很有意思的一些现象:向量的个数和维数都不是其张成空间维数以及形态的决定因素,具体的情况需要结合向量的线性无关性进行整体考量,这就会涉及到秩的相关概念,在这一节我们不再展开,将在后面的章节里慢慢展开来谈。


往期精彩回顾
前言
1.1 描述空间的工具:向量
1.2 基底构建一切,基底决定坐标(待更新)


本书所涉及的源代码已上传到百度网盘,供读者下载。请读者关注封底“博雅读书社”微信公众号,找到“资源下载”栏目,根据提示获取。


如果您对本书感兴趣,请进入当当网选购!



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49832
 
678 次点击