我将通过多个系列的文章来讲述人工智能技术重要组成部分,线性代数作为人工智能数学理论基础,是非常重要的一部分,我将用一个系列的文章来讲解线性代数的本质,本文是本系列第七篇。 目录 特征向量与特征值 向量究竟是什么? 向量的线性组合,基与线性相关 矩阵与线性相关 矩阵乘法与线性变换复合 三维空间中的线性变换 行列式 逆矩阵,列空间,秩与零空间 克莱姆法则 非方阵 点积与对偶性 叉积 以线性变换眼光看叉积 基变换 特征向量与特征值 抽象向量空间 快速计算二阶矩阵特征值 张量,协变与逆变和秩 特征向量与特征值特征向量和特征值不好理解的主要原因是:它过于抽象,不太直观,为了让大家更好的理解,今天的内容将尽量为大家呈现一种直观解释,其实只要大家掌握了前面所讲的内容,特征向量和特征值并不复杂,再次提醒大家:要时刻记住把矩阵看作是一种线性变换,除此之外,还要对基向量,线性方程组,以及基变换有一定的了解。 接下来,让我们以一个线性变换出发,假如现在有一个线性变换,它将基向量 下面,让我们关注该变换对一个特定向量的作用,如下图黄色箭头代表的向量,粉色线代表由该向量张成的空间,也就是将黄色线缩放不同的比例后到达的所有点的集合,经过线性变换后,该向量偏离了其张成的空间,这种情况很常见,如果变换后还落在其张成的直线上,这倒是像一个巧合了。 但确实存在这样的向量,在变换后仍留在他张成的空间里,这意味着,矩阵对这些向量的作用仅仅是拉伸或者压缩,就像一个标量对向量的作用一样。 在前面的例子中,经过矩阵 除了X轴上的向量,还有一个不太容易被发现的向量 以上两条直线上的向量是满足变换后仍停留在其张成的空间里的全部向量了,这两条直线之外的任何向量,经过变换后,都会或多或少发生旋转,离开其张成的空间。 到这里,大家可能已经猜到了,这些向量称为变换(矩阵)的特征向量,每一个特征向量都会对应一个所属的值,这个值被称为“特征值”,特征值就是特征向量在变换中被它拉伸或者被它压缩的比例因子。 前面这个例子,特征值都是正的,那么特征值可以是负数吗?让我们换一个例子,假设现在有一个变换矩阵 那我们为什么要探讨特征向量和特征值呢?举个例子,在三维旋转中,如果能找到旋转矩阵的特征向量,那么该特征向量就是旋转的旋转轴。 而且把一个三维旋转看成是绕某个旋转轴旋转一定角度,要比处理一个3*3旋转矩阵直观的多。 顺便提一下,对于上面的三维旋转,特征值必须为1,因为旋转不会改变特征向量长度,也就是不会改变物体的大小。 更一般的,我们将特征向量和特征值转换为如下公式: A 第一眼看到上面的公式,大家可能会很困惑,因为等式左侧代表矩阵向量的乘积,而等式右侧代表向量的数乘,所以我们的第一步就是将右侧向量数乘的形式写成矩阵向量乘积的形式。 而我们要求的这个矩阵,它的作用效果是:把任意向量乘以数 如上图所示,该矩阵对角线元素都是 到这里,等式两边就都变成了矩阵与向量乘积的形式了: 把等号右边的移动到等号左边: 然后提出因子 (A- 我们现在的任务是寻找一个向量 如果我们掌握了前面所学的行列式的知识的话,我们知道当矩阵代表的变换将空间压缩到更低的维度时,才会让一个矩阵和一个非零向量的乘积为零向量。 而压缩空间所对应的就是变换矩阵的行列式为0: 接下来,让我们举个具体的例子,如下图所示,让我们将 在这个例子中,如下图所示,当 如上图,以上就是一开始提到的,要理解特征向量和特征值的概念,需要前面章节所学习的知识,如果大家对行列式没有足够的了解,以及为什么他们与具有非零解的线性方程组有关,那么这个等式det(A- 为了探讨特征向量和特征值的求解过程,我们还是以开头的那个矩阵为例,如下图,该变换矩阵为: 为了求解特征值
只有令该行列式为零时, 得到了特征值后,接下来就可以求解特征向量了,我们把 如上图所示,求解特征向量 但并不是所有矩阵都有特征向量,例如,二维空间中的旋转90度的变换矩阵 另一个例子是剪切变换,其变换矩阵为 这里还要注意一下,存在一个特征值,其对应的特征向量不在同一条直线上的情况,一个简单的例子是将所有向量放大两倍的线性变换 最后,让我们以“特征基”来结束今天的内容,该内容依赖于前面章节所讲的基变换的思想。 如果基向量恰好是特征向量时,会发生什么?例如,把 我们发现,特征值都位于矩阵的主对角线上,矩阵其余元素为0,这种矩阵我们称为对角矩阵,这种矩阵,所有基向量都是特征向量,矩阵主对角线上的元素是对应特征向量所属的特征值。 使用对角矩阵处理问题,在很多情况下会非常简便,例如:
由于应用对角矩阵的效果,都只是将每个基向量(特征向量)按照对应的特征值进行缩放,因此多次应用该矩阵,例如,应用100次该矩阵,相比于非对角矩阵,计算上会简单地多。 虽然很少有基向量就是特征向量的巧合,但如果我们有很多特征向量,如下图所示,足够我们找到一组特征向量来张成整个空间,那我们就能变换我们的坐标系,使得这些特征向量称为基向量, 我们在上一个章节已经讨论过基变换了,已经知道了如何在不同的语言之间进行转换,如下图,首先使用两个新的特征向量的坐标作为新的基向量,组成基变换矩阵: 用特征向量作为基向量来讨论的意义在于这个新的复合矩阵必然是对角矩阵,而且其主对角线上的元素为特征值,它所处的坐标系的基向量在变换中只进行了缩放,一组基向量(特征向量)构成的集合被称为“特征基”,所以大家要计算这个矩阵 |
|