特征分解
1)一般矩阵
特征分解的一般性质:
已知线性无关的向量,一定存在矩阵的逆。
Tip:并非所有的方阵(n×n)都可以被对角化。
2)对称矩阵
性质1:如果一个对称矩阵的特征值都不相同,则其相应的特征向量不仅线性无关,而且所有的特征向量正交(乘积为0)。
性质2:对称矩阵的特征值都是实数。
性质3:
性质4:
性质5:
对称矩阵可以被U相似对角化(U是特征向量矩阵)
二次型
正定矩阵和负定矩阵均值涉及对称矩阵的,二次型涉及的矩阵是方阵即可。
性质1:对于一个正定矩阵,他的特征值均大于0
特征分解的应用
1)PCA(特征分解)
矩阵A(m×n)的协方差矩阵是一个对称矩阵,根据对称矩阵可以被U相似对角化,则A=UΛUT(U是特征向量矩阵,Λ是对角为方差的对角矩阵)。
降维:
我们取最大的N个特征值对应的特征向量组成的矩阵,可以称之为压缩矩阵;得到了压缩矩阵之后,将去均值的数据矩阵乘以压缩矩阵,就实现了将原始数据特征转化为新的空间特征,进而使数据特征得到了压缩处理。
2)SVD(特征分解的广义化)
SVD和特征分解的关系:
如何计算SVD分解后U,V呢?
我们将A的转置和A做矩阵乘法,那么会得到n×n的一个方阵ATA。既然ATA是方阵,那么我们就可以进行特征分解,得到的特征值和特征向量满足下式:(ATA)vi=λivi。这样我们就可以得到矩阵ATA的n个特征值和对应的n个特征向量v了。将ATA的所有特征向量张成一个n×n的矩阵V,就是我们SVD公式里面的V矩阵了。一般我们将V中的每个特征向量叫做A的右奇异向量。
反过来我们将A和A的转置做矩阵乘法,将AAT的所有特征向量张成一个m×m的矩阵V,就是我们SVD公式里面的U矩阵了。一般我们将U中的每个特征向量叫做A的左奇异向量。
同时我们可以得到特征值矩阵等于奇异值矩阵的平方。
如何使用SVD进行降维呢?
注意到PCA仅仅使用了我们SVD的右奇异矩阵,没有使用左奇异矩阵,那么左奇异矩阵有什么用呢?
假设我们的样本是m×n的矩阵X,如果我们通过SVD找到了矩阵XXT最大的d个特征向量张成的m×d维矩阵U,则我们如果进行如下处理:
Xd×n′=Ud×mTXm×n
可以得到一个d×n的矩阵X′,这个矩阵和我们原来的m×n维样本矩阵X相比,行数从m减到了k,可见对行数进行了压缩。也就是说,左奇异矩阵可以用于行数的压缩。相对的,右奇异矩阵可以用于列数即特征维度的压缩,也就是我们的PCA降维。