矩阵特征值分解与奇异值分解

特征值分解

 

数学教材定义: 设A是n阶方阵,如果存在 λ 和n维非零向量X,使 AX ,则 λ 称为方阵A的一个特征值,X为方阵A对应于或属于特征值 λ 的一个特征向量。

通过这个式子,我们再次理解,方阵A乘了x之后,对x产生的作用是增强或者减弱这个向量(λ 为一个数)。矩阵在特征向量所指的方向上具有对向量产生恒定的变换作用:增强(或减弱)特征向量的作用。进一步的,如果矩阵持续地叠代作用于向量,那么特征向量的就会凸现出来。

若(x1,x2,…,xn)可逆,则左右两边都求逆,则方阵A可直接通过特征值和特征向量进行唯一的表示,令

Q=(x1,x2,…,xn)

Σ = diag(λ1, λ2, …, λn)

则 A = Q*Σ*Q^(-1) ,该表达式称为方阵的特征值分解,这样方阵A就被特征值和特征向量唯一表示。

 

一个变换方阵的所有特征向量组成了这个变换矩阵的一组基。所谓基,可以理解为坐标系的轴。我们平常用到的大多是直角坐标系,在线性代数中可以把这个坐标系扭曲、拉伸、旋转,称为基变换。我们可以按需求去设定基,但是基的轴之间必须是线性无关的,也就是保证坐标系的不同轴不要指向同一个方向或可以被别的轴组合而成,否则的话原来的空间就“撑”不起来了。从线性空间的角度看,在一个定义了内积的线性空间里,对一个N阶对称方阵进行特征分解,就是产生了该空间的N个标准正交基,然后把矩阵投影到这N个基上。N个特征向量就是N个标准正交基,而特征值的模则代表矩阵在每个基上的投影长度。特征值越大,说明矩阵在对应的特征向量上的方差越大,功率越大,信息量越多。不过,特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。

在机器学习特征提取中,意思就是最大特征值对应的特征向量方向上包含最多的信息量,如果某几个特征值很小,说明这几个方向信息量很小,可以用来降维,也就是删除小特征值对应方向的数据,只保留大特征值方向对应的数据,这样做以后数据量减小,但有用信息量变化不大,PCA降维就是基于这种思路。

奇异值分解

特征值分解是一个提取矩阵特征很不错的方法,但是它只适用于方阵。而在现实的世界中,我们看到的大部分矩阵都不是方阵,比如说有M个学生,每个学生有N科成绩,这样形成的一个M * N的矩阵就可能不是方阵,我们怎样才能像描述特征值一样描述这样一般矩阵呢的重要特征呢?奇异值分解就是用来干这个事的,奇异值分解是一个能适用于任意的矩阵的一种分解的方法。我们有必要先说说特征值和奇异值之间的关系。

对于特征值分解公式, ATA 是方阵,我们求 ATA 的特征值,即  ATA*X =λ*X  ,此时求得的特征值就对应奇异值的平方,求得的特征向量v称为右奇异向量,另外还可以得到:

还可以得到:

C57394A8-DE33-4924-AF09-1FD3E90BCACD

所求的ui就是左奇异向量, σi 就是奇异值。已有人对SVD的几何机理做了清晰的分析,非常受用,给个链接:

http://blog.sciencenet.cn/blog-696950-699432.html 。