特征值和特征向量及其在机器学习中的应用

特征值和特征向量

特征值和特征向量直观理解的参考视频:P14 10 - 特征向量与特征值

矩阵作用在向量上

矩阵作用在向量上,很大可能会改变向量原坐标系下的位置,也就是该向量在空间中进行了一次空间的变化。可视化在视频中有着非常好的体现。
A = [ 3 1 0 1 ] x 1 = [ 1 0 ] , A x 1 = [ 3 0 ] x 2 = [ 1 1 ] , A x 1 = [ 4 1 ] \begin{aligned} &A = \left[ \begin{matrix} 3 & 1\\ 0 & 1\end{matrix}\right]\\ &x_1 = \left[ \begin{matrix}1 \\ 0 \end{matrix}\right], Ax_1 = \left[ \begin{matrix}3 \\ 0 \end{matrix}\right]\\ &x_2 = \left[ \begin{matrix}1 \\ 1 \end{matrix}\right], Ax_1 = \left[ \begin{matrix}4 \\ 1 \end{matrix}\right]\\ \end{aligned} A=[3011]x1=[10],Ax1=[30]x2=[11],Ax1=[41]

那么对于原坐标系下的所有向量来说,他们都在空间中进行了一次空间变化,有伸缩的(x1,只是扩大了3倍)、有旋转的、有二者兼有的(x2)。

特征值和特征向量

那么,我们对只进行了伸缩的,也就是留在了自己的张量空间内的向量称为特征向量,其伸缩因子称为特征值。需要注意的是:在一个矩阵变化下,可能存在多个特征向量或者没有(进行了维度内全部向量旋转变化的矩阵)。

求解特征值和特征向量

由于特征向量仍然留在自己的张量空间内,只是进行了伸缩,那么对于特征值和特征向量来说,以下式子成立(注意,A必须为方阵,因为设A是n*m维的矩阵,v必须是m*1维,Av是n*1维,v是m*1维,二者相等,因此n=m,所以A是方阵)
A v ⃗ = λ v ⃗ A\vec v = \lambda \vec v Av =λv
要求解特征值和特征向量,需要先变换成如下的式子
( A − λ I ) v ⃗ = 0 ⃗ ( 转 成 λ I 是 为 了 两 边 都 变 成 矩 阵 乘 以 向 量 的 形 式 , 才 能 进 行 相 减 ) (A-\lambda I)\vec v = \vec 0(转成\lambda I是为了两边都变成矩阵乘以向量的形式,才能进行相减) (AλI)v =0 λI
如果向量是一个零向量是没有任何研究意义的,因此我们主要研究的是对于非零向量这条式子成立。当且仅当
∣ A − λ I ∣ = 0 |A-\lambda I| = 0 AλI=0
也就是这个矩阵有空间压缩作用的时候(可视化在开头推荐的视频中),对于非零向量才有
( A − λ I ) v ⃗ = 0 ⃗ (A-\lambda I)\vec v = \vec 0 (AλI)v =0
成立。下面给出一个简单证明

证明

假 设 A = [ a 11 a 12 a 21 a 22 ] , x = [ x 1 x 2 ] , b = [ b 1 b 2 ] 求 A x = b 有 { a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 有 { x 1 ( a 11 a 22 − a 12 a 21 ) = b 1 a 22 − b 2 a 12   x 2 ( a 11 a 22 − a 12 a 21 ) = b 2 a 11 − b 1 a 21   当 b 1 , b 2 都 为 0 , 且 x 1 , x 2 不 全 为 0 时 , 只 能 是 a 11 a 22 − a 12 a 21 = 0   而 a 11 a 22 − a 12 a 21 则 是 A 的 行 列 式 \begin{aligned} &假设 A = \left[ \begin{matrix} a_{11} & a_{12}\\ a_{21} & a_{22}\end{matrix}\right],x = \left[ \begin{matrix} x_1 \\ x_2\end{matrix}\right], b = \left[ \begin{matrix} b_1 \\ b_2\end{matrix}\right]\\ &求Ax = b 有\\ &\begin{cases} a_{11}x_1 + a_{12}x_2 = b_1\\ a_{21}x_1 + a_{22}x_2 = b_2 \end{cases}\\ & 有\\ &\begin{cases} x_1(a_{11}a_{22} - a_{12}a_{21}) = b_1a_{22} - b_2a_{12}\\ \space \\ x_2(a_{11}a_{22} - a_{12}a_{21}) = b_2a_{11} - b_1a_{21}\\ \end{cases}\\ \space \\ & 当b_1, b_2都为0, 且x_1, x_2不全为0时,只能是a_{11}a_{22} - a_{12}a_{21} = 0\\ \space \\ & 而a_{11}a_{22} - a_{12}a_{21} 则是A的行列式 \end{aligned}   A=[a11a21a12a22]x=[x1x2],b=[b1b2]Ax=b{a11x1+a12x2=b1a21x1+a22x2=b2x1(a11a22a12a21)=b1a22b2a12 x2(a11a22a12a21)=b2a11b1a21b1,b20x1,x20a11a22a12a21=0a11a22a12a21A

举例

求 A = [ 3 1 0 2 ] 的 特 征 值 和 特 征 向 量   解 : 设 特 征 值 是 λ , 构 造 一 个 矩 阵 ( A − λ I )   是 为 [ 3 − λ 1 0 2 − λ ]   即 d e t ( A − λ I ) = ( 3 − λ ) ( 2 − λ ) = 0   解 得 λ = 3 或 者 λ = 2   将 λ = 3 代 入 ( A − λ I ) v ⃗ = 0 ⃗   即 求 解 [ 3 − 3 1 0 0 2 − 3 0 ] = [ 0 1 0 0 − 1 0 ]   解 得 [ x 1 x 2 ] = [ x 1 0 ] = [ 1 0 ] x 1 , ∴ v ⃗ 1 = [ 1 0 ]   同 理 , 将 λ = 2 代 入 解 得 v ⃗ 2 = [ − 1 1 ] ( 这 里 还 可 以 选 择 x 1 = 1 ) \begin{aligned} &求A = \left[ \begin{matrix} 3 & 1\\ 0 & 2\end{matrix}\right]的特征值和特征向量 \space \\ &解:\\ & 设特征值是\lambda,构造一个矩阵(A - \lambda I)\\ \space \\ &是为\left[ \begin{matrix} 3-\lambda & 1\\ 0 & 2-\lambda\end{matrix}\right]\\ \space \\ &即det(A-\lambda I) = (3-\lambda)(2-\lambda) = 0\\ \space \\ &解得\lambda = 3 或者 \lambda = 2\\ \space \\ &将\lambda = 3 代入 (A-\lambda I)\vec v = \vec 0\\ \space \\ &即求解\left[ \begin{matrix} 3-3 & 1 & 0\\ 0 & 2-3 & 0\end{matrix}\right] = \left[ \begin{matrix} 0 & 1 & 0\\ 0 & -1 & 0\end{matrix}\right]\\ \space \\ & 解得\left[ \begin{matrix} x_1 \\ x_2 \end{matrix}\right] = \left[ \begin{matrix} x_1 \\ 0 \end{matrix}\right] = \left[ \begin{matrix} 1 \\ 0 \end{matrix}\right]x_1, \therefore \vec v_1 = \left[ \begin{matrix} 1 \\ 0 \end{matrix}\right]\\ \space \\ & 同理,将\lambda = 2代入解得\vec v_2 = \left[ \begin{matrix} -1 \\ 1 \end{matrix}\right](这里还可以选择x_1=1) \end{aligned}        A=[3012] λ(AλI)[3λ012λ]det(AλI)=(3λ)(2λ)=0λ=3λ=2λ=3(AλI)v =0 [33012300]=[001100][x1x2]=[x10]=[10]x1,v 1=[10]λ=2v 2=[11]x1=1

特征值和特征向量的作用和意义

  1. 对于一个绕着某个向量只进行旋转的空间变化来说,特征向量就是那个旋转轴,特征值必须为1。视频4’17’'处有可视化展现。
  2. 在机器学习中就是SVD奇异值分解的应用,具体可以看基变换、特征分解和SVD分解用于对数据进行降维,提取有用的特征。直观理解就是即使空间变换了,但这些特征向量还是维持在了自己原来的张量空间上,没有随着空间变换而变换,只是变了伸缩量。

你可能感兴趣的:(机器学习,数学基础,线性代数,矩阵,机器学习)