3Blue1Brown_线代本质第十章:特征向量与特征值

  • 我开始了3蓝1棕线性代数本质的学习,我没什么基础所以在此做了笔记,这里是第十章打卡,学习永远不怕晚哈!如有问题请各位大佬及时指正!
  • 在b站它的链接在此
  • 官方一共将此系列分为12节,所以我也会分开写。
  • 我会把相关的这一系列笔记链接在每一篇的最下面,写完就会更新,有需要的朋友可以自行跳转!
  • 这就是普通的记录,比较基础,没什么有新意的地方。厉害的大佬或相关专业的大佬可以自行跳过此笔记!

✏️特征向量与特征值(Eigenvectors and Eigenvalues):

✍️举例描述:

  • 首先,考虑二维空间中的某个线性变换,它将基向量i帽变换到坐标(3,0),j帽变换到坐标(1,2)。 我们关注它对一个特定向量的作用,并且考虑这个向量张成的空间,也就是通过原点和向量尖端的直线。大部分向量在变换中都离开了其张成的空间,意思是如果向量正好落在这条直线上,感觉更像是巧合。不过,某些特殊向量的确留在它们张成的空间里,与i围着矩阵对他的作用仅仅是拉伸或者压缩而已,如同一个标量。
  • 在上文提到的变换中,基向量i帽就是这样一个特殊向量;i帽张成的空间是x轴,从矩阵的第一列看出,i帽变成了原来的三倍,但任然留在x轴上。
  • 此外因为线性变换的性质,x轴上的任何其他向量都只是被拉伸为原来的三倍,因此也就留在它们张成的空间里。
  • 有一个略显隐蔽的向量(-1,1),它在变换中也留在自己张成的空间里;它最终被拉伸为原来的两倍。同上,线性性质暗示着一点,处在他所张成的对角线上的其他任何一个向量也仅仅被拉伸为原来的两倍。
  • 对这个变换而言,以上就是所拥有这一特殊性质(留在它们张成的空间里)的向量。x轴上的向量被拉伸为原来的三倍,而对角线上的向量被拉伸为原来的两倍。任何其他向量在变换中都有或多或少的旋转,从而离开它张成的直线。
    特征向量_01
  • 这些特殊的向量就被称为变换的“特征向量”;每个特征向量都有一个所属的值,被称为“特征值”,即衡量特征向量在变换中拉伸或压缩比例的因子。
    特征向量_02

✍️特征值可以为负吗?:

  • 可以,并且与特征值为正的情况下并无差别。
  • 举个例子,你有一个特征值-1/2的特征向量,意味着这给个向量被反向,并且被压缩成原来的一半。但是重点在于,它停留在它张成的直线上,并未发生旋转。
  • 考虑一个三维空间中的旋转,如果你能找到这个旋转的特征向量,也就是留在他张成空间里的向量,那么你找到的就是旋转轴(axis of rotation)。而且把一个三维旋转看成绕某个轴旋转一定角度,要比考虑相应的3x3矩阵直观的多。顺带一提,在这种情况下,相应的特征值必须为1,因为旋转并不缩放任何一个向量,所以向量的长度保持不变。
  • 对于任意矩阵描述的线性变换,你可以通过将矩阵的列看作变换后的基向量来理解它。但是理解线性变换作用的关键往往是较少依赖于你的特定坐标系;更好的方法是求出它的特征向量和特征值。

✍️计算思想:

  • 用符号表示的话,下图所示就是特征向量的概念。A是代表某个变换的矩阵,v是特征向量;λ(lambda)是一个数,也就是对应的特征值。
  • 这个等式也就是说:矩阵向量乘积,也就是A乘以v,等于特征向量v乘以某个数λ。
  • 因此求解矩阵A的特征向量和特征值,实际上就是求解使得这个等式成立的向量v和数λ。
    特征向量_计算_01
    特征向量_计算_02
  • 等号左侧代表的是矩阵向量乘积,但是等号右侧代表的是向量数乘。所以我们首先将等号右侧重写为某个矩阵向量乘积,其中,矩阵的作用效果是将任一向量乘以λ;这个矩阵的列代表着变换后的基向量,而每个基向量仅仅与λ相乘。所以这个矩阵的对角元素均为λ,而其余位置都是0。如下图所示。
    特征向量_计算_03
  • 通常的书写方式是提出因子λ,写作λ乘以I,这里的I就是单位矩阵,对角元均为1;现在两侧就都是矩阵向量乘积的形式。如下图所示。
    特征向量_计算_04

  • 如下图所示,此时,我们就能将等号右侧的东西移到左侧,然后提出因子v。现在我们得到的是一个新的矩阵:A减去λ乘以单位矩阵。我们就寻找一个向量v,使得这个新矩阵与v相乘结果为零向量。如果v本身就是零向量的话,这个等式恒成立,但这没什么意思,因为我们希望的是一个非零特征向量;所以我们寻找的是一个det(A-λI)= 0 的情况。
    特征向量_计算_05
  • 所以,空间压缩,对应的就是矩阵的行列式为零的情况。举个例子,假设你有一个矩阵,列为(2,1)和(2,3),考虑每个对角元都减去某个变量λ;然后逐渐调整λ的值,当λ的值改变时,矩阵本身发生改变,因此行列式也在改变。目标在于找到一个λ使得这个行列式为零。也就是说调整后的变换将空间压缩到一个更低的维度上。在这个列子中,λ等于1时恰到好处。
    特征向量_计算_06
  • 当然,如果选择其他矩阵,那特征值不一定是1,λ就需要取其他的值来使行列式为零。
  • 当λ等于1时,A减去λ乘以单位矩阵将空间压缩到一条直线上,这意味着存在一个非零向量v,使得A减去λ乘以单位矩阵的结果乘以v等于零向量。记住一点就是:我们关注它是因为它意味着A乘以v等于λ乘以v。也就是说向量v是A的一个特征向量,在变换中停留在它张成的空间里。
  • 在上述的例子中,v对应的特征值是1,所以它实际上保持不变。
    特征向量_计算_07

二维线性变换不一定有特征向量:

  • 举例来说,想象一个90度旋转,它并没有特征向量,因为每一个向量都发生了旋转并离开了其张成的空间。

只有一个特征值,但是特征向量不止在一条直线上:

  • 一个简单的例子:将所有向量变为两倍的矩阵,唯一的特征值是2,但是平面内每一个向量都是属于这个特征值的特征向量。

✏️特征基(Eigenbasis):

如果基向量恰好是特征向量,会发生什么?

特征基_01

  • 如上图所示,比如说,可能i帽变为原来的(-1)倍,j帽变为原来的2倍;将它们的新坐标作为矩阵的列,注意它们的倍数-1和2,也就是i帽和j帽所属的特征值,位于矩阵的对角线上,而其他的元素均为0。
  • 除了对角元素以外其他元素均为0的矩阵被称为对角矩阵(Diagonal Matrix)。解读它的方法是,所有的基向量都是特征向量。矩阵的对角元是它们所属的特征值。
    对角矩阵
  • 对角矩阵在很多方面都更容易处理,其中一个重要方面是,矩阵与自己多次相乘的结果更容易计算;因为对角矩阵仅仅让基向量与某个特征值相乘,所以多次应用矩阵乘法,比如一百次,也只是将每个基向量与对应特征值的一百次幂相乘。
    对角矩阵乘法
    对角矩阵乘法_02
  • 相比之下,尝试计算一个非对角矩阵的一百次幂,就很不容易。

  • 我们知道了特征向量的计算更为简便,所以可以通过变换坐标系,使得特征向量就是基向量,并用特征向量作为基。
    基变换矩阵_01
  • 取出你想用做新基的向量的坐标,在这里指的是两个特征向量,然后将坐标作为一个矩阵的列,这个矩阵就是基变换矩阵,在右侧写下基变换矩阵,在左侧写下基变换矩阵的逆,当你将原始的变换夹在两个矩阵中间时,所得的矩阵代表队是同一个变换,不过是从新基向量所构成的坐标系的角度来看的。
    基变换矩阵_02
  • 用特征向量来完成这件事的意义在于,这个新矩必然是对角的,并且对角元为对应的特征值。这是因为,他所处的坐标系的基向量在变换中只进行了缩放。
  • 一组基向量(同样是特征向量)构成的集合被称为一组“特征基”,这也非常合理。
  • 所以说,如果你要计算这个矩阵的一百次幂,一种更容易的做法是先变换到特征基,在那个坐标系中计算一百次幂之后,再转换回标准坐标系。

✍️并非所有矩阵都可以对角化

  • 切记,并不是所有变换都能进行这一过程,并非所有矩阵都可以对角化。
  • 比如剪切变换,它的特征向量不够多,并不能张成全空间。
  • 如果你能找到一组特征基(能张成全空间的特征向量),矩阵运算就会变得非常轻松。