在矩阵运算中,我们可以将矩阵视作某种变化法则,一切的变换法则都可以用奇异值分解的形式表达,也就是
$$A = U \Sigma V^T$$
这个变换将任何矩阵变换拆解成了标准的 $V^T$、 $\Sigma$和 $U$变换。 $V^T$是一个取坐标的动作,然后 $\Sigma$进行沿着两个坐标轴方向的缩放,最后$U$将当前点的位置直接映射到新的坐标系中。
我们不妨用A的转置乘以A本身,得到
$$A^T A = V \Sigma^T \Sigma V^T$$
注意到中间的 $\Sigma^T \Sigma$也可以看作 $\Sigma^2$,这样子,原来的 $A^TA$不就变成了特征值分解了吗?
此时 $V$就是特征向量矩阵,然后 $\Sigma^2$就是特征值的平方。我们把这个这个特征值平方矩阵叫做奇异值矩阵,这个对角矩阵的每一个数字就是一个奇异值。根据特征值分解的定义我们可以知道,特征值分解代表一个矩阵在特征向量方向的缩放倍数,这些共同决定了这个矩阵的变换关系。同时,如果特征值矩阵不满秩,就说明存在某个向量在这个方向上会被压缩至消失,此时我们就可以说这个矩阵使得维度信息丢失,或者是在这个维度上奇异,这也就是奇异值这个名字的由来。
注意到,奇异值为特征值的平方,所以奇异值矩阵肯定是半正定的,也能反映出特征值的大小。如果某个特征值很小,就说明其对应的特征向量在这个方向上将会被矩阵不断按比例缩小。更进一步,如果这个特征值近乎为0,我们就认为矩阵在这个维度上确实存在信息丢失。比起之前我们采用特征值矩阵的秩来判断矩阵是否可逆,这个方法考虑到了现实环境中特征值并不严格为零的情况,我们能够通过奇异值看出一个矩阵中最关键的信息。
事实上,奇异值分解得到的矩阵一般情况下都是按照奇异值大小从左上向右下排列的,所以说最右下方的奇异值多半是最小的,其对应的 $V$矩阵最右侧列向量可以看作是矩阵的零空间,这在我们求解齐次线性方程组的时候很有用。
哦对了,这个从大到小排列的奇异值就叫做矩阵的谱,从数字角度来看,展示了所有特征向量在经过矩阵变换后的放大倍数,也同样展示了这个矩阵的信息密度分布。我们可以这么认为,在奇异值高的地方,经过矩阵的向量能够保留更多信息,甚至是放大,在奇异值小的地方,信息会被压缩至丢失。一种处理压缩信息的方法就是直接丢弃矩阵中奇异值较低的部分并保留高密度的部分,但是这其实并不多用,因为处理信息时需要占用很大的空间去存储过程信息。
