完美的对称矩阵
A=AT
⋆ 对称矩阵特征值一定是实数
⋆ 对称矩阵的多重特征值,对应的特征空间的维度一定等于重数 ⇔ 几何重数 == 代数重数 ⇔ 一定有n个线性无关的特征向量 ⇔ 一定可相似对角化
正交对角化
对称矩阵可以被正交对角化(P可以是一个标准正交系)
⋆ 向量点乘(内积)与矩阵乘法之间的关系:v1⋅v2=(v1)Tv2(向量 = M1∗n)
⋆ 对称矩阵,所有不同特征值:对应的特征向量相互垂直;相同特征值: k重特征值对应特征空间的维度为k
⇒ 不同的 λ: 对应的特征向量相互正交,相同的λ(k重):特征空间维度为k,所有在特征空间中也可以找到一组标准正交基
⇒ 对称矩阵一定可以找到n个正交的特征向量(不仅仅是线性无关)
如果A是对称矩阵:A=QDQ−1=QDQT(正交对角化)
Q: 正交矩阵(一个坐标系:只关注方向即可 → 将每个特征向量标准化, 形成标准正交矩阵,更方便)
【注】标准正交矩阵Q: QT=Q−1
推论:如果一个矩阵可以被正交对角化,这个矩阵一定是对称矩阵 ,证明:A=(QDQT)T=AT
谱(某些领域中,将特征值或奇异值称为谱)定理:
A是对称矩阵 ⇔ A可以被正交对角化 A=QDQT
奇异值
⋆ 对于每个非方阵:都可以找到一个对称矩阵与其对应
若A是一个 m∗n 的矩阵,ATA是一个 n∗n 的对称矩阵
ATA 有n个实数特征值(λ1,λ2...λn),n个相互垂直的标准特征向量(v1,v2...vn)
∣∣Avi∣∣2=(Avi)⋅(Avi)=(Avi)T(AVi)=viT(ATAvi)=λi(viTvi)=λi :
ATA 的 特征值 ≥ 0(保证奇异值可以开根号)
⋆ 奇异值(Singular Value)σi=λi, 就是Avi的长度
奇异值的几何意义
{Avi}是A的列空间的一组正交基 ( 基不可是0向量,所以:λi=0,即vi是ATA非零特征值对应的特征向量)
证明:先证正交,再证基
A的列空间中任一向量 y=Ax=k1Avi+k2Av2...knAvn ⇒ 去掉λi=0 后: y=Ax=k1Avi+k2Av2...krAvr+0+...+0 ⇒ {Av1,Av2...Avr} 是A列空间的一组正交基
如果A有r个非零奇异值:A的列空间的维度为r,rank(A) = r
{σ1Av1,σ2Av2...σnAvn} 是A列空间的一组标准正交基,通常把奇异值从大到小排序
【注】奇异值对应于A,特征值对应于ATA
矩阵的SVD分解
奇异值分解:Singular Value Decomposition
对任意形状的矩阵都适用
形式:A=UΣVT
【注】如果A是m*n的矩阵:
U是m*m的矩阵,Σ 是m*n的的矩阵,V是n*n的矩阵
V是:ATA的特征向量矩阵进行标准化
U是:{σ1Av1,σ2Av2...σmAvm},r ≤ m, n,剩余的m-r个向量使用Gram-Schmidt进行拓展
U,V都是:标准正交矩阵
Σ 是:奇异值矩阵 (“对角”放奇异值,其他部分添0)
Σ=(D 00 0)
SVD分解算法:
step1: 求ATA的特征值和特征向量
step2: 求奇异值(sqrt(λi))得到 m*m 的Σ (奇异值从大到小)
step3: 特征向量标准化后得到 n*n 的V(与 Σ 的奇异值一一对应)
step4: ui=σiAvi在经过Gram-Schmidt扩展得到 m*m 的 U
实践scipy中的SVD分解
main_svd
SVD分解的应用
Am∗n是一个变换,对n维向量做变换

A是数据:(机器学习)
奇异值是权值,奇异值小的可以忽略(压缩,去噪,降维)
定义伪逆
推荐系统
NLP
搜索引擎
…