矩阵分解与应用
低秩近似(low-rank approximation)
低秩近似用一个简单得多、却几乎一样好的矩阵来替换又大又复杂的矩阵。配方直接来自 SVD:A = U*S*V^T 中 S 里的奇异值从大到小排列,于是你只保留最大的几个、丢掉那些很小的。结果是一个低秩矩阵,它抓住了主要结构,所需存储却少得多。
一个著名定理(Eckart-Young)把这件事说得很精确:截断到最大的 k 个奇异值,就给出了最好的秩 k 近似,也就是离原矩阵最近的那个。被丢掉的小奇异值本来贡献就很小,所以舍弃它们只损失一点点精度。
这正是图像压缩背后的引擎(一张照片的像素矩阵往往只有少数几个显著奇异值),也是推荐系统背后的引擎(稀疏的用户评分表用一个瘦长的乘积来近似,把空缺补上)。诚实的权衡是:你牺牲一些细节,换来存储与计算上的大幅节省,并且必须选好 k 来平衡两者。
A ~= U_k * S_k * V_k^T (keep only the k largest singular values)
一张 1000x1000 的图像保留到秩 50,看起来几乎一样,存储却少得多。
Eckart-Young 定理:保留最大的 k 个奇异值,可证明是最好的秩 k 近似。
又称
另见