当前位置: 首页 > news >正文

特征值与特征向量的计算——PCA的数学基础

特征值与特征向量

定义 A {\bm A} A n × n n \times n n×n矩阵,如果存在非零向量 x {\bm x} x使得

A x = λ x (1) {\bm A}{\bm x} = \lambda {\bm x}\tag{1} Ax=λx(1)

成立,则称数 λ \lambda λ是矩阵 A {\bm A} A特征值,称非零向量 x {\bm x} x为属于(或对应于) λ \lambda λ特征向量

线性变换对特征向量的作用仅是进行某种程度的收缩或拉伸,特征值是收缩或拉伸的倍数(缩放因子)。

需要注意的是,定义中特征向量 x ≠ 0 \boldsymbol{x} \neq \boldsymbol{0} x=0; 矩阵 A \boldsymbol{A} A是方阵,也就是说,特征值问题只针对方阵而言。

例 设

A = [ 4 − 2 1 1 ] 及 x = [ 2 1 ] \boldsymbol{A} = \begin{bmatrix} 4 & -2 \\ 1 & 1 \end{bmatrix} \quad \text{及} \quad \boldsymbol{x} = \begin{bmatrix} 2 \\ 1 \end{bmatrix} A=[4121]x=[21]

由于

A x = [ 4 − 2 1 1 ] [ 2 1 ] = [ 6 3 ] = 3 [ 2 1 ] = 3 x \boldsymbol{A}\boldsymbol{x} = \begin{bmatrix} 4 & -2 \\ 1 & 1 \end{bmatrix} \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 6 \\ 3 \end{bmatrix} = 3 \begin{bmatrix} 2 \\ 1 \end{bmatrix} = 3\boldsymbol{x} Ax=[4121][21]=[63]=3[21]=3x

可得, λ = 3 \lambda = 3 λ=3 A \boldsymbol{A} A的一个特征值,且 x = ( 2 , 1 ) ⊤ \boldsymbol{x} = (2, 1)^\top x=(2,1)为一个属于 λ \lambda λ的特征向量。

事实上,任何 x \boldsymbol{x} x的一个非零倍数都是一个特征向量,因为

A ( α x ) = α A x = α λ x = λ ( α x ) \boldsymbol{A}(\alpha \boldsymbol{x}) = \alpha \boldsymbol{A}\boldsymbol{x} = \alpha \lambda \boldsymbol{x} = \lambda (\alpha \boldsymbol{x}) A(αx)=αAx=αλx=λ(αx)

因此, ( 4 , 2 ) ⊤ (4, 2)^\top (4,2)也是 λ = 3 \lambda = 3 λ=3的特征向量。

方程 A x = λ x \boldsymbol{A}\boldsymbol{x} = \lambda \boldsymbol{x} Ax=λx可写为

( A − λ I ) x = 0 (2) (\boldsymbol{A} - \lambda \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0} \tag{2} (AλI)x=0(2)

因此, λ \lambda λ A \boldsymbol{A} A的特征值的充要条件是式 (2) 有非零解。式 (2) 的解集为 V λ ( A ) = { x ∣ ( A − λ I ) x = 0 } V_{\lambda}(\boldsymbol{A}) = \{\boldsymbol{x} | (\boldsymbol{A} - \lambda \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0}\} Vλ(A)={x(AλI)x=0},它是 R n \mathbb{R}^n Rn的一个子空间。因此,若 λ \lambda λ A \boldsymbol{A} A的一个特征值,则 V λ ( A ) ≠ { 0 } V_{\lambda}(\boldsymbol{A}) \neq \{\boldsymbol{0}\} Vλ(A)={0},且 V λ ( A ) V_{\lambda}(\boldsymbol{A}) Vλ(A)中的任何非零向量均为属于 λ \lambda λ的特征向量。子空间 V λ ( A ) = { x ∣ ( A − λ I ) x = 0 } V_{\lambda}(\boldsymbol{A}) = \{\boldsymbol{x} | (\boldsymbol{A} - \lambda \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0}\} Vλ(A)={x(AλI)x=0}称为对应于特征值 λ \lambda λ的特征子空间。

式 (2) 有非零解的充要条件是 A − λ I \boldsymbol{A} - \lambda \boldsymbol{I} AλI为奇异的,或等价地

det ⁡ ( A − λ I ) = 0 (3) \det(\boldsymbol{A} - \lambda \boldsymbol{I}) = 0 \tag{3} det(AλI)=0(3)

式 (3) 中的行列式展开后得到一个关于 λ \lambda λ n n n次多项式, λ 0 \lambda_0 λ0 A \boldsymbol{A} A的特征值的充要条件是 λ 0 \lambda_0 λ0为多项式 det ⁡ ( A − λ I ) \det(\boldsymbol{A} - \lambda \boldsymbol{I}) det(AλI)的根。因此,有如下定义:

定义 设 A = ( a i j ) n × n \boldsymbol{A} = (a_{ij})_{n \times n} A=(aij)n×n,则

p ( λ ) = det ⁡ ( A − λ I ) = ∣ a 11 − λ a 12 ⋯ a 1 n a 21 a 22 − λ ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n − λ ∣ (4) p(\lambda) = \det(\boldsymbol{A} - \lambda \boldsymbol{I}) = \begin{vmatrix} a_{11} - \lambda & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} - \lambda & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} - \lambda \end{vmatrix} \tag{4} p(λ)=det(AλI)= a11λa21an1a12a22λan2a1na2nannλ (4)
称为 n n n阶方阵 A \boldsymbol{A} A的特征多项式,式 (3) 称为矩阵 A \boldsymbol{A} A的特征方程。

由定义可知,特征多项式的根即为方阵 A \boldsymbol{A} A的特征值。如果对重根也计数,则特征多项式恰有 n n n个根。因此 A \boldsymbol{A} A将有 n n n个特征值,其中某些可能会重复,特征值可能为实数,也可能会是复数。对后一种情形,需要在复数范围内进行讨论,允许向量和矩阵的元素可以是复数。

由上述讨论可得,求矩阵 A \boldsymbol{A} A的特征值和特征向量的步骤如下:

(1) 计算 n n n阶矩阵 A \boldsymbol{A} A的特征多项式 det ⁡ ( A − λ I ) \det(\boldsymbol{A} - \lambda \boldsymbol{I}) det(AλI);

(2) 求特征方程 det ⁡ ( A − λ I ) = 0 \det(\boldsymbol{A} - \lambda \boldsymbol{I}) = 0 det(AλI)=0所有的根 λ 1 , λ 2 , ⋯ , λ n \lambda_1, \lambda_2, \cdots, \lambda_n λ1,λ2,,λn,即矩阵 A \boldsymbol{A} A的全部特征值;

(3) 对于每一个特征值 λ i \lambda_i λi,求解齐次线性方程组 ( A − λ i I ) x = 0 (\boldsymbol{A} - \lambda_i \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0} (AλiI)x=0的一个基础解系 x 1 , x 2 , ⋯ , x k \boldsymbol{x}_1, \boldsymbol{x}_2, \cdots, \boldsymbol{x}_k x1,x2,,xk,于是 A \boldsymbol{A} A的属于特征值 λ i \lambda_i λi的全部特征向量为

x = c 1 x 1 + c 2 x 2 + ⋯ + c k x k , 其中  c 1 , c 2 , ⋯ , c k 是不全为零的数 \boldsymbol{x} = c_1 \boldsymbol{x}_1 + c_2 \boldsymbol{x}_2 + \cdots + c_k \boldsymbol{x}_k, \quad \text {其中 } c_1, c_2, \cdots, c_k \text{ 是不全为零的数} x=c1x1+c2x2++ckxk,其中 c1,c2,,ck 是不全为零的数

例 求矩阵 A = [ 3 2 3 − 2 ] \boldsymbol{A} = \begin{bmatrix} 3 & 2 \\ 3 & -2 \end{bmatrix} A=[3322]的特征值和特征向量。

解: A \boldsymbol{A} A的特征多项式为

∣ A − λ I ∣ = ∣ 3 − λ 2 3 − 2 − λ ∣ = λ 2 − λ − 12 |\boldsymbol{A} - \lambda \boldsymbol{I}| = \begin{vmatrix} 3 - \lambda & 2 \\ 3 & -2 - \lambda \end{vmatrix} = \lambda^2 - \lambda - 12 AλI= 3λ322λ =λ2λ12

所以 A \boldsymbol{A} A的特征值为 λ 1 = 4 , λ 2 = − 3 \lambda_1 = 4, \lambda_2 = -3 λ1=4,λ2=3

λ 1 = 4 \lambda_1 = 4 λ1=4时,解方程组 ( A − 4 I ) x = 0 (\boldsymbol{A} - 4 \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0} (A4I)x=0,由

A − 4 I = [ − 1 2 3 − 6 ] → [ 1 − 2 0 0 ] \boldsymbol{A} - 4 \boldsymbol{I} = \begin{bmatrix} -1 & 2 \\ 3 & -6 \end{bmatrix} \rightarrow \begin{bmatrix} 1 & -2 \\ 0 & 0 \end{bmatrix} A4I=[1326][1020]

得基础解系为 x 1 = ( 2 , 1 ) ⊤ \boldsymbol{x}_1 = (2, 1)^\top x1=(2,1),因此 c 1 x 1 c_1 \boldsymbol{x}_1 c1x1 c 1 ≠ 0 c_1 \neq 0 c1=0)为 A \boldsymbol{A} A的属于特征值 4 的特征向量。

λ 2 = − 3 \lambda_2 = -3 λ2=3时,解方程组 ( A + 3 I ) x = 0 (\boldsymbol{A} + 3 \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0} (A+3I)x=0,由

A + 3 I = [ 6 2 3 1 ] → [ 3 1 0 0 ] \boldsymbol{A} + 3 \boldsymbol{I} = \begin{bmatrix} 6 & 2 \\ 3 & 1 \end{bmatrix} \rightarrow \begin{bmatrix} 3 & 1 \\ 0 & 0 \end{bmatrix} A+3I=[6321][3010]

得基础解系为 x 2 = ( − 1 , 3 ) ⊤ \boldsymbol{x}_2 = (-1, 3)^\top x2=(1,3),因此 c 2 x 2 c_2 \boldsymbol{x}_2 c2x2 c 2 ≠ 0 c_2 \neq 0 c2=0)为 A \boldsymbol{A} A的属于特征值 -3 的特征向量。

例 求矩阵

[ 2 − 3 1 1 − 2 1 1 − 3 2 ] \begin{bmatrix} 2 & -3 & 1 \\ 1 & -2 & 1 \\ 1 & -3 & 2 \end{bmatrix} 211323112

的特征值和特征向量。

解: A \boldsymbol{A} A的特征多项式为

∣ A − λ I ∣ = ∣ 2 − λ − 3 1 1 − 2 − λ 1 1 − 3 2 − λ ∣ = − λ ( λ − 1 ) 2 | \boldsymbol{A} - \lambda \boldsymbol{I} | = \begin{vmatrix} 2 - \lambda & -3 & 1 \\ 1 & -2 - \lambda & 1 \\ 1 & -3 & 2 - \lambda \end{vmatrix} = -\lambda (\lambda - 1)^2 AλI= 2λ1132λ3112λ =λ(λ1)2

所以 A \boldsymbol{A} A的特征值为 λ 1 = 0 , λ 2 = λ 3 = 1 \lambda_1 = 0, \lambda_2 = \lambda_3 = 1 λ1=0,λ2=λ3=1

λ 1 = 0 \lambda_1 = 0 λ1=0时,解方程组 A x = 0 \boldsymbol{A}\boldsymbol{x} = \boldsymbol{0} Ax=0,由

A = [ 2 − 3 1 1 − 2 1 1 − 3 2 ] → [ 1 0 − 1 0 1 − 1 0 0 0 ] \boldsymbol{A} = \begin{bmatrix} 2 & -3 & 1 \\ 1 & -2 & 1 \\ 1 & -3 & 2 \end{bmatrix} \rightarrow \begin{bmatrix} 1 & 0 & -1 \\ 0 & 1 & -1 \\ 0 & 0 & 0 \end{bmatrix} A= 211323112 100010110

得基础解系为 x 1 = ( 1 , 1 , 1 ) ⊤ \boldsymbol{x}_1 = (1, 1, 1)^\top x1=(1,1,1),因此 c 1 x 1 c_1 \boldsymbol{x}_1 c1x1 c 1 ≠ 0 c_1 \neq 0 c1=0)为 A \boldsymbol{A} A的属于特征值 0 的特征向量。

λ 2 = λ 3 = 1 \lambda_2 = \lambda_3 = 1 λ2=λ3=1时,解方程组 ( A − I ) x = 0 (\boldsymbol{A} - \boldsymbol{I})\boldsymbol{x} = \boldsymbol{0} (AI)x=0,由

A − I = [ 1 − 3 1 1 − 3 1 1 − 3 1 ] → [ 1 − 3 1 0 0 0 0 0 0 ] \boldsymbol{A} - \boldsymbol{I} = \begin{bmatrix} 1 & -3 & 1 \\ 1 & -3 & 1 \\ 1 & -3 & 1 \end{bmatrix} \rightarrow \begin{bmatrix} 1 & -3 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} AI= 111333111 100300100

得基础解系为 x 2 = ( 3 , 1 , 0 ) ⊤ \boldsymbol{x}_2 = (3, 1, 0)^\top x2=(3,1,0) x 3 = ( − 1 , 0 , 1 ) ⊤ \boldsymbol{x}_3 = (-1, 0, 1)^\top x3=(1,0,1),因此 c 2 x 2 + c 3 x 3 c_2 \boldsymbol{x}_2 + c_3 \boldsymbol{x}_3 c2x2+c3x3 c 2 , c 3 c_2, c_3 c2,c3不全为 0)为 A \boldsymbol{A} A的属于特征值 1 的特征向量。

相关文章:

  • Java SpringBoot 集成 SpringSecurity
  • BC27 计算球体的体积
  • VS2017编译openssl3.0.8
  • 【成品设计】STM32和UCOS-II的项目
  • 命令行登录 MySQL 报 Segmentation fault 故障解决
  • 博客系统功能测试
  • 如何轻松删除电脑上的文件(无法恢复文件)
  • 成功案例丨GEZE与Altair合作推动智能建筑系统开发
  • Nginx端口telnet不通排查指南
  • 解决 Linux Bash 脚本因换行符问题导致的 “bash^M: No such file or directory“ 错误
  • es快速上手(从MySQL角度)
  • Java 进阶 1.0.1
  • Java高频面试之并发编程-18
  • 五分钟本地部署大模型
  • “星睿O6”AI PC 开发套件评测: NPU 算力测评(1)
  • MySQL 锁机制深度剖析:全局锁、表锁与行锁
  • 如何从容应对面试?
  • 大模型小课堂开课啦!!!
  • yolo模型优化【上下文标注】
  • HJ3 明明的随机数【牛客网】
  • 出生于1991年,石秀清拟提名为铜陵市辖县(区)政府副县(区)长人选
  • 43.2℃!河南林州打破全省5月最高温纪录,明后天高温将持续
  • 左手免费午餐右手花开岭,邓飞14年公益之路的中国贡献
  • 美国恶劣天气已造成至少28人死亡
  • 复旦建校120周年大型义诊举行,百余名专家服务市民超三千人次
  • 广西壮族自治区党委常委会:坚决拥护党中央对蓝天立进行审查调查的决定