【白话机器学习系列】白话特征向量

白话特征向量

一个方阵 A A A 与列向量 v v v 的乘积会生成一个新的列向量。这个新向量通常与原向量有着不同的方向,矩阵在这里代表一个线性变换 。然而,某些向量会保持其原始方向。我们称这种向量为矩阵 A A A 的特征向量(eigenvector)

在本文中,我们将探讨特征向量、特征值和矩阵的特征方程。并且以 2 维方阵为例,教大家如何计算矩阵的特征向量和特征值。

文章目录

    • 举个例子
    • 特征向量的定义
    • 特征方程
    • 求 2 × 2 2 \times 2 2×2 矩阵的特征值
    • 利用特征值求特征向量

举个例子

考虑矩阵 T T T:
T = ( 1 3 2 2 ) T = \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} T=(1232)

如果将矩阵 T T T 乘以向量 ( 2 , 0 ) (2,0) (2,0) 会得到一个新的向量 ( 2 , 4 ) (2,4) (2,4):
( 1 3 2 2 ) ( 2 0 ) = ( 2 4 ) \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} \begin{pmatrix} 2 \\ 0 \end{pmatrix}=\begin{pmatrix} 2 \\ 4 \end{pmatrix} (1232)(20)=(24)

如下图所示。左图中原始向量 ( 2 , 0 ) (2, 0) (2,0) 用蓝色表示。右图展示了由上述矩阵 T T T​ 变换后的同一组向量:

一般来讲,右边每个变换后的向量与左边的原始向量相比,其大小和方向都有所不同。

有两个特殊的向量在经过 T T T 矩阵变换后方向不变,这两个向量是 ( 1 , 1 ) (1, 1) (1,1) 和 ( − 3 , 2 ) (-3, 2) (−3,2)​:

这些向量被称为 T T T 的特征向量 。黄色向量 ( 1 , 1 ) (1,1) (1,1) 被变换为向量 ( 4 , 4 ) (4,4) (4,4)。变换后的向量与原始向量指向相同的方向,但长度是原来的 4 4 4 倍。我们说向量 ( 1 , 1 ) (1,1) (1,1) 是 T T T 的一个特征向量,其特征值 为 4 4 4。

红色向量 ( − 3 , 2 ) (-3, 2) (−3,2) 被变换为向量 ( 3 , − 2 ) (3,-2) (3,−2)。它指向与原始向量方向完全相反的方向,换种说法是说它具有相同的方向但长度为负。向量 ( 3 , − 2 ) (3, -2) (3,−2) 等于 ( − 3 , 2 ) (-3, 2) (−3,2) 乘以 − 1 -1 −1,因此我们说这个向量也是 T T T 的一个特征向量,其特征值 为 − 1 -1 −1。

特征向量的定义

我们用下列方程定义特征向量:
A v = λ v Av = \lambda v Av=λv

其中 A A A 是一个 n n n 阶方阵(上述示例中是一个 2 2 2 阶方阵), v v v 是一个 n n n 阶向量,而 λ \lambda λ 是一个标量常数。

如果 v v v 是 A A A 的一个特征向量,则 λ \lambda λ 是对应 A A A 的特征向量 v v v 的一个特征值。

通常,特征值的个数等于矩阵的阶数(因此在前面的示例中,有两个特征值,因为它是一个 2 2 2 阶矩阵)。每个特征值都与一个特征向量相关联,但请记住,如果 v v v 是一个特征向量,那么 v v v 的任何标量倍数也是一个特征向量。重要的只是向量的方向。

此外,有时也可能出现合并情况。例如,一个 2 2 2 阶矩阵可能只有一个特征值,对应于两个不共线的不同特征向量。

特征方程

根据上面定义的特征向量的方程 A v = λ v Av = \lambda v Av=λv,我们可以利用单位矩阵来寻找特征值。

单位矩阵是一个方阵,其中主对角线上的每个元素都是 1 1 1,所有其他元素都是 0 0 0。如果我们用同阶的单位矩阵乘以任何向量 v v v,它会使向量保持不变:
I v = v Iv=v Iv=v

因此,我们可以将原方程右侧的 v v v 替换为 I x Ix Ix,方程仍然成立:
A v = λ I v Av = \lambda Iv Av=λIv

然后将两项都移到方程的左侧并提取公因子 v v v ,整理后得到下面的方程。
( A − λ I ) v = 0 (A-\lambda I)v = 0 (A−λI)v=0

注意,上面方程中, 0 0 0 代表零向量,而不是标量值 0 0 0。例如,如果 v v v 是 2 2 2 阶向量,则 0 0 0 表示 ( 0 , 0 ) (0, 0) (0,0)。

这表明矩阵 ( A − λ I ) (A-\lambda I) (A−λI) 总能将向量 v v v 变换为 0 0 0,这意味着其行列式必须为 0 0 0。因此:
∣ A − λ I ∣ = 0 \vert A-\lambda I \vert = 0 ∣A−λI∣=0

这便是矩阵 A A A 的特征方程 。我们在这里不进行证明,但这个方程的解就是 A A A 的特征值,从这些特征值我们可以找到对应的特征向量。

求 2 × 2 2 \times 2 2×2 矩阵的特征值

让我们用上面介绍的特征方程来求矩阵 A = ( 1 3 2 2 ) A=\begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} A=(1232) 的特征向量。其特征方程如下:
∣ A − λ I ∣ = ∣ ( 1 3 2 2 ) − λ ( 1 0 1 1 ) ∣ = ∣ ( 1 3 2 2 ) − ( λ 0 1 λ ) ∣ = ∣ ( 1 − λ 3 2 2 − λ ) ∣ \begin{aligned} \vert A-\lambda I \vert &= \Bigg\vert \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} - \lambda \begin{pmatrix} 1 &0 \\ 1 &1 \end{pmatrix} \Bigg\vert \\ &=\Bigg\vert \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} - \begin{pmatrix} \lambda &0 \\ 1 &\lambda \end{pmatrix} \Bigg\vert \\ &= \Bigg\vert \begin{pmatrix} 1-\lambda &3 \\ 2 &2-\lambda \end{pmatrix}\Bigg\vert \end{aligned} ∣A−λI∣=∣∣∣∣∣(1232)−λ(1101)∣∣∣∣∣=∣∣∣∣∣(1232)−(λ10λ)∣∣∣∣∣=∣∣∣∣∣(1−λ232−λ)∣∣∣∣∣

根据 2 2 2 阶矩阵的行列式计算公式 ∣ a b c d ∣ = a d − b c \begin{vmatrix}a & b \\ c & d\end{vmatrix}=ad-bc ∣∣∣∣acbd∣∣∣∣=ad−bc,可得
∣ A − λ I ∣ = ( 1 − λ ) ( 2 − λ ) − 2 ⋅ 3 = λ 2 − 3 λ − 4 \begin{aligned} \vert A-\lambda I \vert =& (1-\lambda)(2-\lambda)-2 \cdot 3 \\ =&\lambda^2-3\lambda-4 \end{aligned} ∣A−λI∣==(1−λ)(2−λ)−2⋅3λ2−3λ−4

解二次方程 λ 2 − 3 λ − 4 = 0 \lambda^2-3\lambda-4 = 0 λ2−3λ−4=0 得,
λ = − 1 λ = 4 \lambda = -1 \qquad \lambda=4 λ=−1λ=4

这就是矩阵 A A A 的特征值。

利用特征值求特征向量

我们利用 ( A − λ I ) v = 0 (A-\lambda I)v = 0 (A−λI)v=0 求特征向量。

上面我们已经推导出 A − λ I = ( 1 − λ 3 2 2 − λ ) A-\lambda I = \begin{pmatrix} 1-\lambda &3 \\ 2 &2-\lambda \end{pmatrix} A−λI=(1−λ232−λ) 。代入上面公式可得:
( A − λ I ) v = ( 1 − λ 3 2 2 − λ ) ( x y ) = 0 (A-\lambda I)v = \begin{pmatrix} 1-\lambda &3 \\ 2 &2-\lambda \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix} = 0 (A−λI)v=(1−λ232−λ)(xy)=0

将上一步求得的特征值 λ = − 1 , λ = 4 \lambda = -1 , \lambda=4 λ=−1,λ=4 分别代入可得:

  • 当 λ = − 1 \lambda=-1 λ=−1 时, ( 2 3 2 2 ) ( x y ) = 0 \begin{pmatrix} 2 &3 \\ 2 &2 \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix} = 0 (2232)(xy)=0,得到如下二元一次方程组
    { 2 x + 3 y = 0 2 x + 3 y = 0 \begin{cases} 2x+3y=0 \\ 2x+3y=0 \end{cases} {2x+3y=02x+3y=0

    这个两个方程是线性相关的(共线的),因此有无数组解,我们只能得到一个关系 x = − 2 3 y x=-\frac{2}{3}y x=−32y​。

    这是一条过原点,斜率为 − 2 3 -\frac{2}{3} −32 的直线方程。我们的特征向量可以是该线上的任何向量。

    在一开始,我们通过图形的方式展示了向量 ( − 3 , 2 ) (-3, 2) (−3,2) 是一个特征向量,这个向量在此直线上。但我们也看到,任何具有相同斜率的向量也是特征向量。因此,例如, ( − 6 , 4 ) (-6, 4) (−6,4)​ 也是一个特征向量(并且它也满足相同的关系)。存在无数具有不同长度但相同斜率的向量。我们可以选择任何向量,但通常选择具有整数分量的最小向量(如果存在这样的向量)。

  • 当 λ = 4 \lambda=4 λ=4 时, ( − 3 3 2 − 2 ) ( x y ) = 0 \begin{pmatrix} -3 &3 \\ 2 &-2 \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix} = 0 (−323−2)(xy)=0​,得到如下二元一次方程组
    { − 3 x + 3 y = 0   2 x − 2 y = 0 \begin{cases} -3x+3y=0 \\ \enspace\:2x-2y=0 \end{cases} {−3x+3y=02x−2y=0

    这个两个方程也是线性相关的(共线的),因此有无数组解,我们得到关系 x = y x=y x=y​。

    这同样是一条通原点,斜率为 1 1 1 的直线。因此, ( 1 , 1 ) (1, 1) (1,1) 是一个特征向量, ( 2 , 2 ) (2, 2) (2,2) 等也是特征向量。

相关推荐
biter00883 分钟前
opencv(15) OpenCV背景减除器(Background Subtractors)学习
人工智能·opencv·学习
吃个糖糖10 分钟前
35 Opencv 亚像素角点检测
人工智能·opencv·计算机视觉
qq_5290252927 分钟前
Torch.gather
python·深度学习·机器学习
IT古董1 小时前
【漫话机器学习系列】017.大O算法(Big-O Notation)
人工智能·机器学习
凯哥是个大帅比1 小时前
人工智能ACA(五)--深度学习基础
人工智能·深度学习
m0_748232921 小时前
DALL-M:基于大语言模型的上下文感知临床数据增强方法 ,补充
人工智能·语言模型·自然语言处理
szxinmai主板定制专家1 小时前
【国产NI替代】基于FPGA的32通道(24bits)高精度终端采集核心板卡
大数据·人工智能·fpga开发
海棠AI实验室1 小时前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
机器懒得学习2 小时前
基于YOLOv5的智能水域监测系统:从目标检测到自动报告生成
人工智能·yolo·目标检测