奇异值分解

左右奇异向量

每个奇异值 sigma_i 都伴随两个方向:输入空间中的右奇异向量 v_i,以及输出空间中的左奇异向量 u_i。右向量是那些被 A 干净地映射到被拉伸的输出方向上的特殊输入方向;左向量则是它们的落点。定义关系是 A v_i = sigma_i u_i——把 A 作用于 v_i,便得到被 sigma_i 缩放的 u_i,其间没有任何旋转掺杂。

两族向量都是标准正交的。右奇异向量 v_1, ..., v_n 构成 R^n(输入空间)的一组标准正交基;左奇异向量 u_1, ..., u_m 构成 R^m(输出空间)的一组标准正交基。v_i 是 A^T A 的特征向量,u_i 是 A A^T 的特征向量,二者通过 u_i = (1/sigma_i) A v_i(当 sigma_i 非零时)联系在一起。

这正是 SVD 威力的秘密所在:一旦使用这些特殊的基,A 就变得简单。在输入端用 v-基、输出端用 u-基时,A 所做的无非是把第 i 个坐标缩放 sigma_i 倍——所有杂乱的非对角相互作用都消失了。这个变换读起来就是:旋转(对齐到诸 v)、拉伸(乘以诸 sigma)、再旋转(对齐到诸 u)。

提醒:当某个奇异值重复时,它的奇异向量只在那个共享子空间内旋转的意义下被确定,正如重复的特征值给出特征子空间而非单个特征向量。而当 sigma_i = 0 时,对应的 v_i 落在 A 的零空间中——A 把它送到零——同时多出来的诸 u 张成 A 永远无法触及的那部分输出空间。

A v_i = sigma_i u_i and A^T u_i = sigma_i v_i (the two directions feed each other)

A 把每个右向量送到被 sigma 拉伸的左伙伴上;A^T 又沿相反方向把它送回去。

这两个名字源于它们在分解式 A = U Sigma V^T 中的位置:诸 u 是 U 的列(在左侧),诸 v 是 V 的列(在右侧,故为 V^T)。除非 A 是方阵,否则它们生活在不同的空间里。

又称
u_i and v_iinput and output directions