一句话定义:对一个方阵 A,如果存在非零向量 v 和某个数 λ,使得 A·v = λ·v,那么 v 就是 A 的特征向量(eigenvector),λ 是对应的特征值(eigenvalue)。用通俗的话说:矩阵一般会把向量“拧”到别的方向上去,而特征向量是少数几条“推它,它不拐弯,只变长变短”的方向,特征值就是这条方向被拉伸或压缩的倍数。
打个比方:把一张印着网格的橡胶膜从对角拉开。绝大多数网格线都会被拉歪、转向,只有沿着某个特定方向的那几条线,被拉完之后仍然躺在原来那条直线上,只是变长了。这几条线就是特征向量,变长了几倍就是特征值。如果 λ 是负数,说明被拉长之后还调了个头,但所在的直线没变,仍算同一条轴;如果 λ = 0,说明这个方向被压没了,这也正是矩阵不可逆的信号。
有一个特别能建立直觉的例子:二维平面上旋转 90 度的矩阵,没有任何实特征向量,因为所有方向都被转走了。这说明它本质是“纯旋转”;它的特征值落在复数域里。所以特征值不一定都是实数,也不一定都存在实特征向量。另外,一个 n 阶方阵的特征值之和等于它的迹(对角线元素之和),乘积等于行列式,这两条在排查数值问题时很好用。
与相邻概念的区别:
| 概念 | 适用对象 | 用几组向量 | 典型用途 |
|---|---|---|---|
| 特征值分解(eigendecomposition) | 方阵(最好可对角化) | 一组向量,进出用同一组 | 分析稳定性、求平稳分布、PCA |
| 奇异值分解(SVD,singular value decomposition) | 任意形状矩阵 | 两组向量,左右各一组 | 降维、推荐、压缩、求伪逆 |
| 主成分分析(PCA,principal component analysis) | 数据矩阵 | 本质是协方差矩阵的特征向量 | 降维、去相关、可视化 |
可以这样理解:SVD 是适用范围更广的分解方法,左右两边各用一组基;特征分解是方阵上的特例。实践中很多库内部根本不直接算特征分解,而是用 SVD 绕过去,因为数值上更稳。具体实现细节以所用库的官方文档为准。
对从业者的意义:PCA 降维取的就是协方差矩阵最大的几个特征值对应的特征向量;谱聚类、图神经网络里的拉普拉斯矩阵,靠特征值来刻画“图被切得多干净”;训练时的梯度爆炸与消失,跟循环权重矩阵的谱半径(最大特征值绝对值)直接相关;马尔可夫链的平稳分布、PageRank 的网页权重,本身就是某个矩阵的主特征向量。对普通职场人来说,这些词常出现在“为什么推荐系统能把相似的用户聚到一起”“为什么降维之后信息没丢多少”这类解释里。这些直觉都指向同一件事:找出系统里那几条方向不变的轴,剩下的复杂变化就能被压缩成几个数字。
