Py学习  »  机器学习算法

机器学习 线性代数基础 | 4.1相似变换:不同的视角,同一个变换

狗熊会 • 4 年前 • 435 次点击  
点击上方蓝字,记得关注我们!


4.1  相似变换:不同的视角,同一个变换

在之前的章节里,我们了解到对于空间中的同一个向量,如果选取的基底不同,则最终向量的坐标表示是不同的,这个概念非常重要。不过,这是从静态的角度去看待问题,那么相对应的还应该存在一个动态的视角,这个“动态”指的就是矩阵所表示的向量在空间中的位置变换。

那么同样的,对于空间中向量的同一个位置变换,如果选取的基底不同,则用来进行表示的矩阵也是决然不同的,这些矩阵我们将他们称之为是相似矩阵。那么,这些矩阵之间应该如何进行相互转换?如何在其中获取描述空间转换的最佳矩阵?这些都是本节要重点解决的问题。

4.1.1  重要回顾:坐标值取决于基底

在本小节的开头,我们再次提及一个之前反复强调的核心概念:对于一个指定的向量而言,他在空间中的位置是绝对的,而他的坐标值却是相对的。向量坐标的取值依托于空间中所选取的基底。更直白的说法就是,对于同一个向量,如果选取的基底不同,其所对应的坐标值就不同。

我们在图4.1.中回顾一下上述概念:

图4.1  用不同的基描述同一个向量

我们看到,图4.1中的向量a,他在空间中的位置是固定的,如果我们使用一组默认基底 , 即来对他进行表示,则向量a可以表示成为,那么意味着在基底 下,向量a的坐标为 。

但是如果我们更换一组基底呢?在这里,我们使用两个新的向量作为空间中的新基底,这两个基向量在为基底的情况下,其坐标分别为。那么通过计算我们知道,向量a在以为基底的情况下,则被表示为 的形式,其新的坐标即为。我们从图中也可以很清晰的看出里面的直观数量关系。

我们也可以用一个生活中的例子来通俗的总结一下:

对于一个客观存在的物体,东西永远还是那个东西不会改变(类比:某个指定向量在空间中的绝对位置)。但是,如果我们看待他的角度变了(类比:空间中所选取的不同基底),那么,从我们的特定视角看过去,他所呈现的效果就改变了(类比:不同基底下对应的不同坐标值)。

这就好比说,桌上放着一个圆柱体,如果我们站的远,则会觉得物体看上去很小,如果站的近,则会觉得物体看上去很大,斜向下45°的视角看,他看上去还是一个立体,如果从正上方往下看,则会感觉这就是一个圆形。

4.1.2  描述线性变换的矩阵也取决于基底

对于一个静态的向量,我们选取的基底不同,用于表示静态向量的坐标值就不同。那么对于动态的向量变换过程呢?

我们知道,一个向量可以从某个空间中的位置P移动到位置Q,这里可以用一个特定的矩阵来表示向量空间位置的改变过程。如果我们选取的基底不同,同一个运动在不同基底下,显然对应的矩阵表示也应该是不同的。

我们还是用前面用过的向量来举例,如图4.2所示。

图4.2  不同基底描述下的线性变换

在这个二维空间中,向量从位置a变换到位置。在默认基底的描述下,向量变换前后的位置坐标从改变成了,对应于这个线性变换,他的描述矩阵为

但是,如果我们采用新的一组基底,即在基底对上述过程进行描述,则向量坐标的转换就变为了(计算过程可以参考前面的讲解介绍)。那么我们不难发现,在默认基底下的变换矩阵 显然就无法表示新基底下的坐标变换了,因为通过计算可以观察出:

还是类比一个生活中的小例子

我们通过这个实例就发现了,对于同一个向量的空间位置改变,由于我们所选取的基底不同,因此表征其线性变换的矩阵就不同。

我们再举一个生活中的小例子。假如,一辆车从A点向B点行驶,如果此时我面向车尾站立,在我看来,车是离我远去的,越来越远,而如果你在这时是面向车头站立,在你看来,车是越来越近的。其实,车还是那辆车,也还是那么行驶,只是你和我所站的位置不同,视角不同,因此感受到的运动状态就是不同的。

4.1.3  相似矩阵和相似变换的概念

针对指定向量的同一个空间变换,用来在不同基底下进行描述的不同矩阵,彼此之间称之为相似矩阵。相似矩阵所表示的线性变换,彼此之间称之为相似变换。

这里我们来详细的推导一下上面的过程。

4.1.4  利用基底变换推导相似矩阵间的关系式

在基底下,坐标为x的向量通过矩阵A完成了线性变换的过程,线性变换后的向量坐标为,我们也可以通过矩阵P,将向量变换到新基底下的坐标表示,即用新的基底下的坐标来表示向量,记作

这时在新的基底下,用来表示我们上面同一个空间变换的则是另一个矩阵B,即在新基底下变换后的目标坐标为 ,最终我们还是需要在原始基底的坐标系下讨论和比较问题,因此我们需要再次把坐标从新基底变回到原始基底下,这显然是一个我们熟悉的逆变换过程,即通过左乘一个逆矩阵来完成,因此和最初直接用矩阵A进行变换可以说是殊途同归。

即,描述上述变换过程的矩阵是: ,其中矩阵A和矩阵B就是我们所说的相似矩阵,他们分别表示了同一个向量在两个不同基底下的相似变换过程。

那么具体这个矩阵P该如何进行表示呢,或者说他是如何得到的?我们来分析一下这个变换过程,即:向量在空间中发生一次线性变换,由原来的空间位置M变换到目标空间位置N。本质上非常简单,如图4.3所示。

图4.3  相似矩阵间的转换关系

假设我们讨论的前提是:在默认基底的表示下,向量在矩阵A的作用下由坐标x变成了坐标y,而在新的基底的表示下,向量在矩阵B的作用下由坐标变成了坐标,同时坐标之间的关系满足等式:

在原始默认基底的表示下,向量被表示成了的形式,其坐标为,如果在新基底下坐标该如何表示呢?

我们假设两组基底的线性关系如下:,明确了这层关系,我们就可以很容易的做一个基底变换:

即:在新的基底的表示下,向量被表示成为: ,其坐标为,我们仔细观察一下这个向量的表达式,不难发现坐标可以分解成一个矩阵和一个向量相乘的形式:,而恰好这个被分解出来的向量就是原始基底下的坐标x。在此基础上就把式子化简成为了:。那么此时,转换矩阵P就得出来了:。而矩阵P中各个元素的取值与两组基底之间的线性关系系数是完全一一对应的。

我们不怕啰嗦,再次总结一下这个重要的过程:对于空间位置里的同一个向量,选取不同的基底进行表示,其坐标值就是不同的。对于空间中的同一个位置变换,在不同的基底下,用于描述的矩阵也是不相同的,而这些不同矩阵所描述的线性变换是相似的,他们也被称之为相似矩阵,这些矩阵之间的代数关系和其对应基底之间的数量转换关系经过计算发现是完全对应的。

4.1.5  寻找相似矩阵中的最佳矩阵

这样一来,我们可以利用这个重要的等式来建立起任意两个相似矩阵之间的代数转换关系。那么,明确了这其中的几何意义和处理方法之后,我们就会想,绕了这么一大圈,这里面的实际用处在哪呢?

相信大家都读过一句唐诗,叫横看成岭侧成峰,远近高低各不同。我理解的意思是:站在不同的角度看庐山,人们看到的景象是不同的,但是肯定会有一个最好的位置,从最好的视角去看庐山,从而能够收获最好的感官效果。那么,对于一个描述向量空间变换的矩阵而言,我们是否应该选择一个合适的基底,使得我们可以用一个最佳矩阵来描述某一个向量空间变换呢?

显然,沿着这个方向去思考是对的。但是问题又来了:到底什么矩阵可以称得上是最佳矩阵呢?

答案是对角矩阵。我们回顾一下之前介绍过的对角矩阵,对角矩阵有以下两大优势:

一方面是,一个n维列向量在n阶对角矩阵的作用下,其线性变换的方式仅仅反映在各个维度轴向上的长度拉伸,而不对应着平移或者旋转变换,即: ,从计算的过程中就可以发现,这种线性变换所对应的操作简单、清晰。

另一方面是,对角矩阵的优势之处还体现在连续的线性变换上,连续的线性变换用矩阵的乘法来表示:

,因此推而广之则有:

由此我们可以看出,对角矩阵拥有如此漂亮的结构和优越的性质,反映出的是一种非常简便的线性变换方式。试想,如果我们所面对的线性变换都是这样的,那处理起来该有多么的方便啊。

因此,我们在实际使用过程中,可以尝试把普通的非对角矩阵转换为与其相似的对角矩阵来进行计算处理,从而简化我们的线性变换过程,或者更进一步,可以利用这种手法提取主要的特征成分,当然这个就是后话了。

4.1.6  对角矩阵的构造方法

对于一个一般的方阵,我们应该尝试利用本节所讲的知识,去寻找到一个可逆矩阵P,使得转换后的结果为,满足是一个对角矩阵,这样就完成了我们的对角化方法,寻得了我们所期待的最佳矩阵。

不过,我们应该如何去构造这个关键的矩阵P,如何找到我们矩阵A所对应的相似对角矩阵呢?这是一个大的核心问题,读者们不要着急,我们下一节会专门花上一节的功夫来慢慢讲解其方法细节。

相似矩阵和相似变换的理解基础是空间中基底的相关概念,同时这也是后续对角化、特征分解的核心要素,读者们需要牢固掌握这些相关的概念,并仔细反复琢磨,以求理解问题的本质。


往期精彩回顾
前言
1.1 描述空间的工具:向量
1.2 基底构建一切,基底决定坐标
1.3 矩阵,让向量动起来
1.4 矩阵乘向量的新视角:变换基底
2.1 矩阵:描述空间中的映射
2.2 追因溯源:逆矩阵和逆映射
3.1 投影,寻找距离最近的向量
3.2 深入剖析最小二乘法的本质
3.3 施密特正交化:寻找最佳投影基地



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








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



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