深入理解矩阵的特征值和特征向量

【数学基础】矩阵的特征向量、特征值及其含义

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_32742009/article/details/82217051

在线代课上,老师会教我们怎么求矩阵的特征值与特征向量。但是并不会讲特征值与特征向量到底有着什么样的几何意义或者物理意义,或许讲了但也比较模糊。矩阵的特征值与特征向量在各种机器学习算法与应用场景中都有出现,每次出现都有着其独特的意义。在这里也只是简述一二。


一、方阵的特征值与特征向量

1、特征值与特征向量的定义:

定义1:设An阶方阵,若数\lambdan维非零列向量x,使得Ax = \lambda x成立,则称\lambda是方阵A的一个特征值,x为方阵A的对应于特征值\lambda的一个特征向量。

注:

  1. A是方阵。(对于非方阵,是没有特征值的,但会有条件数。)
  2. 特征向量x为非零列向量。

2、特征值与特征向量的几何意义(引自https://www.matongxue.com/madocs/228.html):

我们先记线性变换一个T(Transformation)为T:\mathbb{R}^2\rightarrow \mathbb{R}^2,容易知道矩阵A代表一个线性变换,可以做升维降维,放大缩小以及旋转的线性变换,而对于方阵A而言,是不存在升维降维的。即一个方阵A其对向量\vec{v}的线性变换为伸长收缩或者旋转

T(\vec{v}) = A\vec{v}

\vec{i},\vec{j}为基向量的空间下有个向量\vec{v}:

\vec{v}随便左乘一个矩阵A,即对\vec{v}进行一个线性变换。

调整下\vec{v}的方向,使其特殊一点。

可以观察到,调整后的\vec{v}A\vec{v}在同一直线上,只是A\vec{v}的长度相对\vec{v}的长度变长了。

此时,我们就称\vec{v}A的特征向量,而A\vec{v}的长度是\vec{v}的长度的\lambda倍,\lambda就是特征值。

即    T(\vec{v}) = A\vec{v} = \lambda \vec{v}

从特征向量和特征值的定义中还可以看出,特征向量所在直线上的向量都是特征向量。

3、特征值与特征向量的一些性质

1)、如果A是一个不可逆方阵,即det(A) = 0,则齐次线性方程组Ax=0有无穷多解,故有非零解,即Ax_0=0 = 0\cdot x_0,故不可逆方阵必有零特征值\lambda_0 = 0

2)、一些实际问题中,常常会涉及到一系列的运算,Ax,A^2x,\cdots,A^kx,\cdots,由特征值和特征向量的关系Ax = \lambda x可以简化这些运算,A^kx = \lambda^kx

3)、矩阵的迹trace,即为矩阵A的对角元素之和。例记A=\begin{bmatrix} a_{11}&a_{12} \\ a_{21}& a_{22} \end{bmatrix},则trace(A) = a_{11}+a_{22}

  • \lambda_1\lambda_2\cdots \lambda_n = det(A)= \left | A \right |
  • \lambda_1+\lambda_2+\cdots+\lambda_n = a_{11}+a_{22}+\cdots+a_{nn} = trace(A)
  • A^m的特征值为\lambda_i^mkA的特征值为k\lambda_iA^{-1}的特征值为{1/ \lambda_i}(\lambda_i \neq 0),侧面也说明了非满秩矩阵不可逆。
  • g(A) = a_kA^k+a_{k-1}A^{k-1}+\cdots+a_1A+a_0E,则g(\lambda) = a_k\lambda^k+a_{k-1}\lambda^{k-1}+\cdots+a_1\lambda+a_0g(A)对应的特征值。
  • 在复数域中,任意的方阵A都存在对应的特征值与特征向量。在实数域中则不一定。

4)、特征向量的性质

  • 矩阵A关于特征值\lambda_im个特征向量x_1,x_2,\cdots,x_m的任意非零线性组合\sum_{i=1}^mk_ix_i \neq 0还是A的关于\lambda_i的特征向量。
  • x_1,x_2,\cdots,x_r是矩阵A的不同特征值所对应的特征向量,则x_1,x_2,\cdots,x_r是线性无关的。
  • n阶方阵A至多有n个线性无关的特征向量。
  • 矩阵AA^T的特征值相同,但特征向量却未必一样。
  • \lambdan阶方阵A的一个k重特征值,A关于\lambda的线性无关的特征向量的最大个数为s,则1 \leq s \leq k

二、特征值与特征向量的计算

  1. 求出方阵A的特征多项式f(\lambda) = \left | \lambda E-A \right |
  2. 解特征方程f(\lambda) = \left | \lambda E-A \right | = 0,求出A的全部特征值\lambda_1,\lambda_2,\cdots,\lambda_n。其中f(\lambda)r重根对应Ar个值相同的特征值。
  3. (\lambda_i E-A)x=0(A-\lambda_iE)x=0的非零解,得到A的关于\lambda_i的全部特征向量。

例1:求矩阵A=\begin{pmatrix} -1 & 1 & 0\\ -4 & 3 & 0\\ 1 & 0 & 2 \end{pmatrix}的特征值和全部特征向量。

第一步:写出矩阵A的特征方程,求出特征值。

 特征值为\lambda_1=2,\lambda_2=\lambda_3=1

三阶方阵的行列式计算:

第二步:对每个特征值\lambda代入齐次线性方程组(A-\lambda E)x=0,求非零解。

\lambda_1=2时,齐次线性方程组为(A-2 E)x=0

系数矩阵

(A-2E)=\begin{pmatrix} -3 &1 &0 \\ -4&1 &0 \\ 1&0 &0 \end{pmatrix} \rightarrow\begin{pmatrix} 1 &0 &0 \\ 0& 1 &0 \\ 0& 0 &0 \end{pmatrix}

自由未知量:x_3

x_1=x_2=0  令  x_3=1 得基础解系:p_1=\begin{pmatrix} 0\\ 0\\ 1 \end{pmatrix}

所以k_1p_1(k_1\neq 0)是对应于\lambda_1=2的全部特征向量。

\lambda_2=\lambda_3=1时,齐次线性方程组为(A- E)x=0

系数矩阵

(A-E)=\begin{pmatrix} -2 &1 &0 \\ -4&2 &0 \\ 1&0 &1 \end{pmatrix} \rightarrow\begin{pmatrix} 1 &0 &1 \\ 0& 1&2 \\ 0&0 &0 \end{pmatrix}

\left\{\begin{matrix} x_1=-x_3\\ x_2=-2x_3 \end{matrix}\right.,得基础解系p_2=\begin{pmatrix} -1\\ -2\\ 1 \end{pmatrix}

所以k_2p_2(k_2\neq 0)是对应于\lambda_2=\lambda_3=1的全部特征向量。

三、特征值与特征向量的含义

上面一二两大点旨在回忆特征值与特征向量的定义与计算,对于为什么这样定义并未做过多的讲解。接下来进入重点,讲一下特征值与特征向量到底发挥了怎样的作用,以及为什么会将这样的向量定义为矩阵的特征向量。


乘幂法求矩阵的特征值及特征向量

上面求解矩阵特征值与特征向量的方法是常规的方法,不过在n非常大时,直接求解特征值及其对应的特征向量开销会很大,因此可以用乘幂法解其数值。

假定n阶矩阵A对应的n个特征值按模从大到小的排序为: 

|\lambda_1|> |\lambda_2|> |\lambda_3| \ldots > |\lambda_n|

关于\lambda_1,\lambda_2,\cdots,\lambda_n的特征向量v_1,v_2,\cdots,v_n线性无关,此时特征向量v_1,v_2,\cdots,v_n可以作为空间的一组基。

任取初始向量\textbf{x}_0=\alpha_1\textbf{v}_1+\alpha_2\textbf{v}_2+\alpha_3\textbf{v}_3+\ldots+\alpha_n\textbf{v}_n,(\alpha_i \neq 0),建立迭代公式:\textbf{x}_{k+1}=\textbf{A}\textbf{x}_k

                                                                                ……………………

因为|\frac{\lambda_i}{\lambda_1}|<1,i=2,\ldots,n,故当k \to \infty\textbf{x}_{k} \to \alpha_1\lambda^{k}_1\textbf{v}_1。因此\textbf{x}_{k}可看成是关于特征值\lambda_1的近似特征向量,不过有个缺点就是当|\lambda_1|>1(或|\lambda_1|<1),\textbf{x}_{k}中不为0的分量将随k的增大而无限增大,计算机就有可能出现上溢(或下溢)。所以在实际计算时,需按规范法计算,每步先对向量\textbf{x}_{k}进行规范化: 

通过上面的分析,可将乘幂法求矩阵的特征值及特征向量的方法可归纳如下:

  1. 计算特征值\lambda_i,i=1,2,3,\ldots,n,任选一个向量\textbf{x}_0,递归\textbf{x}_k=\textbf{A}\textbf{z}_{k-1}

  2. k充分大时或误差 Frobenius Norm ||\textbf{x}_k -\textbf{x}_{k-1}||足够小时,停止;

  3. \textbf{z}_k就是当前A的主特征向量,对应的特征值为: 

    <p>λi=maxxk(xk中的最大分量);</p>
    
    <p>&nbsp;</p>
    </li>
    <li>
    <p>在A中去掉主特征λi对应向量的因素&nbsp;</p>
    
    <p>A=A−λizkzTk,</p>
    接下来再找下一个特征对,然后类似计算。
    
    <p>&nbsp;</p>
    </li>
    

针对特征值相等的情况,假定|λ1|=|λ2|=…=|λm|>|λm+1|>…>|λn|,由于向量α1v1+α2v2+α3v3+…+αmvm仍是属于λ1的特征向量,故利用上述方法依旧可求解λ1,λm+1,…,λi特征值及其对应的特征向量。


运动

1、从调色谈起

我有一管不知道颜色的颜料,而且这管颜料有点特殊,我不能直接挤出来看颜色,只能通过调色来观察:

为了分辨出它是什么颜色(记得它只能通过调色来辨别):

因为反复混合之后,这管颜料的特征就凸显了出来,所以我们判断,这管颜料应该是蓝色。

说这个干什么?矩阵也有类似的情况。

2、矩阵的混合

一般来说,矩阵我们可以看作某种运动,而二维向量可以看作平面上的一个点(或者说一个箭头)。对于点我们是可以观察的,但是运动我们是不能直接观察的。

就好像,跑步这个动作,我们不附加到具体的某个事物上是观察不到的,我们只能观察到:人跑步、猪跑步、老虎跑步、......,然后从中总结出跑步的特点。

就好像之前举的不能直接观察的颜料一样,要观察矩阵所代表的运动,需要把它附加到向量上才观察的出来:

似乎还看不出什么。但是如果我反复运用矩阵乘法的话:

至于为什么会产生这样的现象,可以通过乘幂法来证明。

就像之前颜料混合一样,反复运用矩阵乘法,矩阵所代表的运动的最明显的特征,即速度最大的方向,就由最大特征值对应的特征向量展现了出来。利用乘幂法的思想,每次将最大的特征值对应的向量因素从矩阵中除去,就可以依次得到各个特征值所对应的特征向量。

OK!知道了上述运动这个关系之后,我们可以思考这样一件事情。

1、解释1

我们可以将矩阵A看成是一个力的混合体,但需要注意的是,这个力的混合体中各个力是相互独立的!即特征向量之间线性无关,是无法做力的合成(这里只是假设其无法合成,有更好的解释以后会补充)的。其中力的个数为矩阵A的秩,力的大小为特征值的大小,力的方向即为特征向量的方向。

此时如果我们对任一向量\vec{x}(这里可以把\vec{x}看成是一个物体,如一个小方块)无限施加这个力的集合,正如上图所示的那样,最终小方块运动的方向即为力最大的那个方向。即向量\vec{x}会收敛为最大特征值\lambda的特征向量。去掉这个力,不断重复,即可以得到第二个、第三个特征向量。

这就是为什么我们将这样的向量定义为矩阵A的特征向量,因为一方面它能够体现出线性变换A中力的方向及大小,另一方面可以可以通过分析特征值得到该线性变换的主导因素。

再啰嗦几句,概括来说就是,特征值与特征向量可以告诉我们这个矩阵A它产生的线性变换做了什么以及主要做了什么

2、解释2

另一个更直观的解释就是颜料混合。我们将矩阵A看成一个篮子,重点不在篮子。在篮子里面有一堆颜料,包含了n种颜色,n为矩阵A的秩,但每种颜色的分量都不一样。先上结论——特征值代表了分量,特征向量表示了颜色。对任一向量\vec{x}(这里可以把\vec{x}看成是一滩液体,无所谓本来是什么颜色),每次施加矩阵A变换就是把篮子里的所有颜料都泼进去,泼无数次,最后清水的颜色就变成了颜色最多的颜色(这里不要计较什么颜料无限混合最后都是黑色灰色的,直观一点理解)。

假设我们现在有办法可以去掉篮子中指定颜色的所有颜料。则可以依次根据特征值排序得到特征向量。

通过这么一个比喻,我们也可以得出同样的结论。

矩阵A包含了一堆信息——颜料的种类与颜料的数量。如果我们可以通过矩阵分解将其分离出来,保留那些分量大的颜色,而去除那些可有可无的颜色就可以实现信息压缩等变换。


OK!到此大致讲解了三块内容:1、特征值与特征向量的定义及性质。2、特征值与特征向量的计算。3、特征值与特征向量的直观解释与含义。

线性代数中还有很多的概念,想要彻底搞清楚特征值与特征向量在实际应用中发挥的作用,需要连贯各种知识点。接下来会写一系列的文章来加深那些即将被遗忘的知识……

参考文章:

如何理解矩阵特征值和特征向量?

  • 17
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值