0%

SVD在推荐系统中的应用探索

奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分解。


[TOC]

理论描述

摘自 维基百科-奇异值分解

假设M是一个 $m \times n$ 阶矩阵,其中的元素全部属于域 $k$ , 也就是实数域复数域。如此则存在一个分解使得

其中 $U$ 是 $m \times m$ 阶 酉矩阵 ;$\Sigma$ 是 $m \times n$ 阶非负实数矩阵;而 $V^$, 即 $V$ 的 共轭矩阵,是 $n \times n$ 阶 酉矩阵。这样的分解就称作M的 奇异值分解。$\Sigma$对角线上的的元素 $\Sigma_{i,j}$ 即为M的*奇异值

常见的做法是将奇异值由大到小排列。由此$\Sigma$便能有M唯一确定了。(虽然U、V仍然不能确定)。

直观的解释

  • V的列(columns)组成一套对M的正交”输入”或”分析”的基向量。这些向量是 M*M的特征向量。
  • U的列(columns)组成一套对M的正交”输出”的基向量。这些向量是MM*的特征向量。
  • $\Sigma$对角线上的元素是奇异值,可视为是在输入与输出间进行的标量的”膨胀控制”。这些是MM*以及M*M的特征值的非负平方根,并和U和V的行向量项对应。