特征值分解
定义
特征值,特征向量
设A为数域F上的n阶方阵,如果存在数域F上的数λ\lambdaλ和非零向量a,使得Aa=λaAa=\lambda aAa=λa,则称λ\lambdaλ为A的一个特征值(特征根),a称为A的属于特征值λ\lambdaλ的一个特征向量。
特征值分解
(方阵An∗nA_{n*n}An∗n可以做特征值分解的充要条件是其有n个线性无关的特征向量,即矩阵可对角化的条件。)
特征值分解是将一个矩阵分解成下面的形式:
A=QΣQ−1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A=Q\Sigma Q^{-1} A=QΣQ−1
其中Q是这个矩阵A的特征向量组成的矩阵,为可逆矩阵;Σ= diag(λ1, λ2, ..., λn)\Sigma= diag(λ1, λ2, ..., λn)Σ= diag(λ1, λ2, ..., λn)是一个对角阵,对角线上的元素为特征值。
实对称矩阵的良好性质
实对称矩阵(特征值均为实数)总能找到一个正交矩阵U,使得U−1AUU^{-1}AUU−1AU是对角矩阵
理解
- 特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么。
- 从线性空间的角度看,特征值越大,则矩阵在对应的特征向量上的方差越大,信息量越多。
- 从最优化的角度。矩阵的特征值的大小与函数值的变化快慢有关,在最大特征值所对应的特征方向上函数值变化最大,也就是该方向上导数最大。
- 特征值特征向量:作用后只伸缩变换,而不旋转或投影。一个矩阵相当于一个线性变换,矩阵乘以一个向量后得到的向量,相当于将这个向量进行了伸缩、旋转、投影的线性变换。
- 应用:PCA降维,最优化等。(通过舍去一部分不重要的特征来实现)
实验
from scipy.linalg import eig
import numpy as np
import matplotlib.pyplot as plt
A=[[1,2],
[2,1]]
evals,evecs=eig(A) #即获取特征值和特征向量
#%%
print(evecs) #evecs每一列是一个特征向量
evecs=evecs[:,0],evecs[:,1]
#%%
fig,ax=plt.subplots()
#通常软件绘图,默认都是将坐标轴置于画布(figure)的最下侧(x轴),最左侧(y轴),也即将坐标原点置于左下角
for spine in ['left','bottom']:
ax.spines[spine].set_position('zero')
ax.grid(alpha=0.4)
xmin,xmax=-3,3
ymin,ymax=-3,3
ax.set(xlim=(xmin,xmax),ylim=(ymin,ymax))
for v in evecs:
ax.annotate(s="",xy=v,xytext=(0,0),
arrowprops=dict(facecolor='blue',shrink=0,alpha=0.6,width=0.5))#xy(箭头尖端)和xytext位置(文本位置)都以数据坐标为单位。
x=np.linspace(xmin,xmax,3)
for v in evecs:
a=v[1]/v[0]
ax.plot(x,a*x,'r-',lw=0.4)
plt.show()
奇异值分解
定义
(非方阵矩阵无法进行特征值分解,而奇异值分解是一种适用于任意矩阵的分解方法。)
特征值分解是将一个矩阵分解成下面的形式:
A=UΣVT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A=U\Sigma V^{T} A=UΣVT
其中A为m∗nm*nm∗n的方阵;U为m∗mm*mm∗m,U中的向量是正交的,其中的向量被称为左奇异向量;Σ= diag(λ1, λ2, ..., λn)\Sigma= diag(λ1, λ2, ..., λn)Σ= diag(λ1, λ2, ..., λn)是一个m∗nm*nm∗n的对角阵,对角线上的元素为奇异值;V为n∗nn*nn∗n,V中的向量是正交的,其中的向量被称为右奇异向量;
实验
U,sigma,V=np.linalg.svd(img)
pressedimg=np.dot(U[:,0:100],np.dot(sigma[0:k,0:k],V[0:k,:]))
特征值分解和奇异值分解的联系
首先思考Am∗nA_{m*n}Am∗n为非方阵,无法进行特征值分解,但是AATAA^TAAT和ATAA^TAATA便为对称矩阵方阵,可以进行特征值分解,且由于对称性,对应的特征向量正交。
即U 矩阵(左奇异矩阵)的列向量分别是AATAA^TAAT的特征向量;行满秩时这样构造。
V矩阵(右奇异矩阵)的列向量分别是ATAA^TAATA的特征向量。列满秩的时候这样计算构造证明。