1 简介
SVD 全称:Singular Value Decomposition。SVD 是一种提取信息的强大工具,它提供了一种非常便捷的矩阵分解方式,能够发现数据中十分有意思的潜在模式。
主要应用领域包括:
- 隐性语义分析 (Latent Semantic Analysis, LSA) 或隐性语义索引 (Latent Semantic Indexing, LSI);
- 推荐系统 (Recommender system),可以说是最有价值的应用点;
- 矩阵形式数据(主要是图像数据)的压缩
2 线性变换
在做 SVD 推导之前,先了解一下线性变换,以 [公式] 的线性变换矩阵为例,先看简单的对角矩阵:
从集合上讲, M是将二维平面上的点 (x,y)经过线性变换到另一个点的变换矩阵,如下所示:
该变换的几何效果是,变换后的平面沿着 [公式] 水平方向进行了3倍拉伸,垂直方向没有发生变化。
3 SVD 推导
该部分的推导从几何层面上去理解二维的SVD,总体的思想是:借助 SVD 可以将一个相互垂直的网格 (orthogonal grid) 变换到另外一个互相垂直的网格。
可以通过二维空间中的向量来描述这件事情。
首先,选择两个互相正交的单位向量 v₁和 v₂ (也可称为一组正交基)。