SVD
目录
1.背景
2.奇异值分解的定义与性质
3.奇异值分解的计算
4.奇异值分解与矩阵近似
正文
奇异值分解(singular value decomposition,SVD)是一种矩阵因子分解的方法。
1.背景知识
(1)齐次线性方程组
常数项全为0的n元线性方程组称为n元齐次线性方程组,设其系数矩阵为A = ,未知项为X,则其矩阵AX=0.若设其系数矩阵经过初等变换所化的行阶梯型矩阵的非零行行数为r,则它的方程的解只有以下两种类型:
a.当r = n时,原方程组仅有零解
b.当r < n时,有无穷多个解
(2)代数余子式
在n阶行列中D中划去任意选定的k行、k列后,余下的元素按照原来顺序组成的n-k阶行列式M,称为行列式D的k阶子式A的余子式。如果k阶子式A在行列式D的行和列标号分别为i1,i2,…,ik和j1,j2,…,jk。则在A的余子式M前面添加符号后,所得的n-k阶行列式,称为行列式D的k阶子式A的代数余子式。
例:
根据代数余子式可将行列式进行按行展开,行列展开,进而计算行列式,如下图所示:
(3)特征值与特征向量
设A为n阶矩阵,若有数λ和非零列向量x满足式 Ax = λx,即(A-λE)x = 0(E为单位矩阵),则λ为A的一个特征值, x为A的属于λ的一个特征向量。
求解特征值和特征向量示例:
2.奇异值分解的定义与性质
(1)定义
矩阵的奇异值分解是指将一个非零的m×n实矩阵A表示为U(m阶正交矩阵)、V(n阶正交矩阵)、Σ(降序排列的m×n对角矩阵)的乘积,即A = UΣV^T
实矩阵的奇异值分解一定存在但,并不唯一。
(2)紧奇异值分解与截断奇异值分解
紧奇异值分解是与原始矩阵等秩的奇异值分解,对应着无损压缩。
截断奇异值分解是比原始矩阵低秩的奇异值分解,对应这有损压缩。
(3)几何解释
矩阵U和V表示坐标系的旋转或反射变换,Σ表示坐标轴的缩放变化,如下图所示:
3.奇异值分解的计算
矩阵A的奇异值分解可以通过求对称矩阵ATA的特征值和特征向量得到。ATA的特征向量构成矩阵V的列,A^TA的特征值的平方根为奇异值。
求解过程:
a.首先求A^TA的特征值和特征向量
b.求n阶正交矩阵V
c.求m×n阶矩阵Σ
d.求m阶正交矩阵
4.奇异值分解与矩阵近似
奇异值分解是一种矩阵近似的方法,这个近似是在弗罗贝尼乌斯范数的意义下近似。矩阵的弗罗贝尼乌斯范数是向量L_2范数的直接推广,对应着机器学习中的平方损失函数。
弗罗贝尼乌斯范数定义为:
在秩不超过k的m×n矩阵的集合中,存在矩阵A的弗罗贝尼乌斯范数意义下的最优近似矩阵X。秩为k的截断奇异值分解得到的矩阵A_k能够达到这个最优值。奇异值分解是弗罗贝尼乌斯范数意义下,也就是平方损失意义下的矩阵最优近似。
本文为《统计学习方法》第15章笔记