特征值分解和奇异值分解

1,762 阅读3分钟

特征值和特征向量:

特征向量:就是变换以后仍然保持相同方向的向量

一般来说,理解矩阵变换可以有两种方式,一种是矩阵的列看出变换后的基向量来表示:

第二种是脱离固定坐标系,以特征值和特征向量的方式来理解它:

求解特征值和特征向量

  1. 特征向量的代数上含义是:将矩阵乘法转换为数乘操作;

  2. 特征向量的几何含义是:特征向量通过方阵A变换只进行伸缩,而保持特征向量的方向不变。

A\vec v = λ\vec v

其中 λ 可以由常数值转化为矩阵形式 \begin{vmatrix} λ&0&0 \\ 0 & λ &0 \\ 0 & 0 &λ  \end{vmatrix}\\ 所以式子变为: A\begin{vmatrix} λ&0&0 \\ 0 & λ &0 \\ 0 & 0 &λ  \end{vmatrix}\ \vec v = 0 代入具体例子 \begin{vmatrix} 3-λ&1&4 \\ 1 & 5-λ &9 \\ 2 & 6 &5-λ  \end{vmatrix}\ \vec v = 0

当v为零向量时,等式一定成立,但我们需要求非零解v。假设为为下图的黄线:

A-λ行列式为0时,空间被压缩成一条直线时

假设A=\begin{vmatrix} 3&0 \\ 1&2   \end{vmatrix} 所以求解步骤为:

求得λ代入到式子中可以得到特征向量。

特征基和对角矩阵

现在讨论基向量和特征向量完全相同时的情况:

这样的矩阵叫做对角矩阵,且对角线的值就是特征值: \begin{vmatrix} 3&0&0 \\ 0 & 2 &0 \\ 0 & 0 &5  \end{vmatrix}\

这种矩阵有一个优势,就是计算十分简便:

一般来说对角矩阵实际情况中很难出现,所以我们需要构造这样的矩阵,假设矩阵有好多个特征向量,可以构成特征空间。 然后使用基变换矩阵
这种新的特征矩阵,对角线就是特征值,且一定是对角矩阵。

特征值分解

特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么

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

奇异值

特征值及特征值分解都是针对方阵而言,现实世界中,我们看到的大部分矩阵不是方阵,比如每道数据有M个点,一共采集了N道数据,这样就形成了一个N*M的矩阵,那么怎样才能像方阵一样提取出它的特征,以及特征的重要性。

奇异值分解就是来干这个事情的。奇异值相当于方阵中的特征值,奇异值分解相当于方阵中的特征值分解。

奇异值分解SVD

U 矩阵(左奇异矩阵)的列向量分别是u1,u2(MM^T 的特征向量);

Σ是除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值

V矩阵(右奇异矩阵)的列向量分别是v1,v2(M^TM的特征向量)。

V表示了原始域的标准正交基,U表示经过M 变换后的co-domain的标准正交基,Σ表示了V 中的向量与u中相对应向量之间的关系,即协方差,位于对角线上的元素被称为奇异值。