完美的对称矩阵

A=ATA = A^T

\star 对称矩阵特征值一定是实数

\star 对称矩阵的多重特征值,对应的特征空间的维度一定等于重数 \Leftrightarrow 几何重数 == 代数重数 \Leftrightarrow 一定有n个线性无关的特征向量 \Leftrightarrow 一定可相似对角化

正交对角化

对称矩阵可以被正交对角化(P可以是一个标准正交系)

\star 向量点乘(内积)与矩阵乘法之间的关系:v1v2=(v1)Tv2\vec{v}_1·\vec{v}_2 = (v_1)^T v_2(向量 = M1nM_{1*n}

\star 对称矩阵,所有不同特征值:对应的特征向量相互垂直;相同特征值: k重特征值对应特征空间的维度为k

\Rightarrow 不同的 λ\lambda: 对应的特征向量相互正交,相同的λ\lambda(k重):特征空间维度为k,所有在特征空间中也可以找到一组标准正交基

\Rightarrow 对称矩阵一定可以找到n个正交的特征向量(不仅仅是线性无关)

如果A是对称矩阵:A=QDQ1=QDQTA = QDQ^{-1} = QDQ^T(正交对角化)

Q: 正交矩阵(一个坐标系:只关注方向即可 \rightarrow 将每个特征向量标准化, 形成标准正交矩阵,更方便)

【注】标准正交矩阵Q: QT=Q1Q^T = Q^{-1}

推论:如果一个矩阵可以被正交对角化,这个矩阵一定是对称矩阵 ,证明:A=QDQTT=ATA =(QDQ^T)^T = A^T

谱(某些领域中,将特征值或奇异值称为谱)定理:

A是对称矩阵 \Leftrightarrow A可以被正交对角化 A=QDQTA = QDQ^T

奇异值

\star 对于每个非方阵:都可以找到一个对称矩阵与其对应

若A是一个 mnm*n 的矩阵,ATAA^TA是一个 nnn*n 的对称矩阵

ATAA^TA 有n个实数特征值(λ1,λ2...λn\lambda_1, \lambda_2 ... \lambda_n),n个相互垂直的标准特征向量v1,v2...vn\vec{v}_1, \vec{v}_2 ... \vec{v}_n

Avi2=(Avi)(Avi)=(Avi)T(AVi)=viT(ATAvi)=λi(viTvi)=λi||A\vec{v}_i||^2 = (A\vec{v}_i)·(A\vec{v}_i) = (Av_i)^T(AV_i) = v_i^T(A^TAv_i) = \lambda_i(v_i^Tv_i) = \lambda_i :

ATAA^TA 的 特征值 \ge 0(保证奇异值可以开根号)

\star 奇异值(Singular Value)σi=λi\sigma_i = \sqrt{\lambda_i}, 就是AviA\vec{v}_i的长度

奇异值的几何意义

{Avi}\{A\vec{v}_i\}是A的列空间的一组正交基 ( 基不可是0向量,所以:λi0\lambda_i \ne 0,即vi\vec{v}_iATAA^TA非零特征值对应的特征向量)

证明:先证正交,再证基

A的列空间中任一向量 y=Ax=k1Avi+k2Av2...knAvn\vec{y} = A\vec{x} = k_1A\vec{v}_i + k_2A\vec{v}_2 ... k_nA\vec{v}_n \Rightarrow 去掉λi=0\lambda_i = 0 后: y=Ax=k1Avi+k2Av2...krAvr+0+...+0\vec{y} = A\vec{x} = k_1A\vec{v}_i + k_2A\vec{v}_2 ... k_rA\vec{v}_r + 0 + ... + 0 \Rightarrow {Av1,Av2...Avr}\{A\vec{v}_1, A\vec{v}_2 ... A\vec{v}_r\} 是A列空间的一组正交基

如果A有r个非零奇异值:A的列空间的维度为r,rank(A) = r

{Av1σ1,Av2σ2...Avnσn}\{\frac{A\vec{v}_1}{\sigma_1}, \frac{A\vec{v}_2}{\sigma_2} ... \frac{A\vec{v}_n}{\sigma_n}\} 是A列空间的一组标准正交基,通常把奇异值从大到小排序

【注】奇异值对应于A,特征值对应于ATAA^TA

矩阵的SVD分解

奇异值分解:Singular Value Decomposition

对任意形状的矩阵都适用

形式:A=UΣVTA = U \Sigma V^T

【注】如果A是m*n的矩阵:

U是m*m的矩阵,Σ\Sigma 是m*n的的矩阵,V是n*n的矩阵

V是:ATAA^TA的特征向量矩阵进行标准化

U是:{Av1σ1,Av2σ2...Avmσm}\{\frac{A\vec{v}_1}{\sigma_1}, \frac{A\vec{v}_2}{\sigma_2} ... \frac{A\vec{v}_m}{\sigma_m}\},r \le m, n,剩余的m-r个向量使用Gram-Schmidt进行拓展

U,V都是:标准正交矩阵

Σ\Sigma 是:奇异值矩阵 (“对角”放奇异值,其他部分添0)

Σ=(D 00  0)\Sigma = \left( \begin{array}{cc} D\ 0 \\ 0\ \ 0 \end{array} \right)

SVD分解算法:

step1: 求ATAA^TA的特征值和特征向量

step2: 求奇异值(sqrt(λi\lambda_i))得到 m*m 的Σ\Sigma (奇异值从大到小)

step3: 特征向量标准化后得到 n*n 的VV(与 Σ\Sigma 的奇异值一一对应)

step4: ui=Aviσi\vec{u}_i = \frac{A\vec{v}_i}{\sigma_i}在经过Gram-Schmidt扩展得到 m*m 的 UU

实践scipy中的SVD分解

main_svd

SVD分解的应用

AmnA_{m*n}是一个变换,对n维向量做变换

对称矩阵和矩阵的SVD分解

A是数据:(机器学习)

奇异值是权值,奇异值小的可以忽略(压缩,去噪,降维)

定义伪逆

推荐系统

NLP

搜索引擎

相关文章: