今天和大家聊一个非常重要,在机器学习领域也广泛使用的一个概念——矩阵的特征值与特征向量。
我们先来看它的定义,定义本身很简单,假设我们有一个n阶的矩阵A以及一个实数 λ \lambda λ,使得我们可以找到一个非零向量x,满足:
A x = λ x Ax=\lambda x Ax=λx
如果能够找到的话,我们就称 λ \lambda λ是矩阵A的特征值,非零向量x是矩阵A的特征向量。
几何意义
光从上面的式子其实我们很难看出来什么,但是我们可以结合矩阵变换的几何意义,就会明朗很多。
我们都知道,对于一个n维的向量x来说,如果我们给他乘上一个n阶的方阵A,得到Ax。从几何角度来说,是对向量x进行了一个线性变换。变换之后得到的向量y和原向量x的方向和长度都发生了改变。
但是,对于一个特定的矩阵A来说,总存在一些特定方向的向量x,使得Ax和x的方向没有发生变化,只是长度发生了变化。我们令这个长度发生的变化当做是系数 λ \lambda λ,那么对于这样的向量就称为是矩阵A的特征向量, λ \lambda λ就是这个特征向量对应的特殊值。
求解过程
我们对原式来进行一个很简单的变形:
( A − λ I ) x = 0 (A-\lambda I)x = 0 (A−λI)x=0
这里的I表示单位矩阵,如果把它展开的话,可以得到一个n元的齐次线性方程组。这个我们已经很熟悉了,这个齐次线性方程组要存在非零解,那么需要系数行列式
∣ A − λ I ∣ |A-\lambda I| ∣A−λI∣
不为零,也就是系数矩阵的秩小于n。
我们将这个行列式展开:
∣ a 11 − λ a 12 ⋯ a 1 n a 21 a 22 − λ ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n m − λ ∣ \left| \begin{matrix} a_{11}-\lambda & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} - \lambda & \cdots & a_{2n} \\ \vdots & \vdots & & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nm} - \lambda \end{matrix} \right| ∣∣∣∣∣∣∣∣∣a11−λa21⋮an1a12a22−λ⋮an2⋯⋯⋯a1na2n⋮anm−λ∣∣∣∣∣∣∣