1.特征分解
对于方阵A(n×n)而言,假若A存在n个特征向量线性无关,也就是满足可对角化的条件
那么有
其中,W是这n个特征向量所张成的n×n维矩阵,而Σ为这n个特征值构成的对角矩阵
假如A为对称矩阵,则A可以表示为
此时,W为标准正交矩阵,因此有
的行向量对应着
的列向量,即A的特征向量
从这里也看以清晰的看到,对于向量x而言,对其作Ax变换,首先是将x进行空间变换,投影到A的各个特征向量上,然后使用特征值对其进行拉伸收缩,然后利用空间逆变换,回到原先的坐标空间,具有清晰的几何意义。
2.SVD定义
对于矩阵A,我们想找到这样一个变换,使得
其中, A是m×n矩阵, U是m×m的单位正交矩阵,称为左奇异矩阵,Σ是一个m×n的矩阵,只有对角线上存在不为0的值,这些值称为奇异值,V是一个n×n的单位正交矩阵,称为右奇异矩阵。
3.SVD推导过程
由于A不是方阵,无法直接做特征分解,曲线救国,我们利用进行求解
属于对称矩阵,一定可以求得U,V
三个矩阵大小虽然可能不一致,但是他们对角线上奇异值是一样的,且奇异值从大到小排列
可以看出,U和V中的特征向量是存在对应关系的
至此,SVD的原始计算过程已经结束
4.SVD应用
SVD的一个主要功能是用于数据压缩
令 Rank(A) = k
通过保留U,V中最重要的特征向量,保存了A中的主要信息。这里,A的空间需求为m×n,U为m×k,V为n×k,特征值为1×k,k越小,压缩得越厉害
对于奇异矩阵A而言,U 和V所代表的含义并不相同,只是两个同是正交的矩阵,虽存在着转换关系,但整个转换过程的几何意义并不好解释。
另外,SVD也用于LSI,推荐系统,有些PCA的实现算法也用到了SVD,使用其奇异矩阵的特征向量作为投影轴,提取A中的主要成分。