假设有一个大矩阵A描述成千上万篇文章和几十上百万词的关联性。在这个矩阵中,每一行表示一篇文章,每一列对应一个词,如果有N个词和M篇文章,那么就是一个M X N的矩阵。
奇异值分解就是将上面这样一个大矩阵,分解成三个小矩阵相乘,如下图所示。
这三个矩阵有非常清晰的物理含义。第一个矩阵X是对文章分类的结果,第二个矩阵表示词的类和文章的类之间的相关性,第三个矩阵表示对词进行分类的一个结果。
奇异值分解的数学定义式为AMN=XMNXBMNXYNN,其中X是一个酉矩阵,Y是一个酉矩阵的共轭矩阵(酉矩阵与它的共轭矩阵转置相乘等于单位阵)。
奇异值分解的步骤:
将矩阵A变换成一个双对角矩阵,当M>N时,计算量为O(MN2)
将双对角矩阵变为奇异值分解的三个矩阵
奇异值分解的优点是能较快的得到结果,因为它不需要一次次迭代;缺点是存储量较大。这种方法得到的分类结果较为粗糙,因此它适合处理超大规模文本的粗分类。
在实际工作中,可以先进行奇异值分解,得到粗分类结果,再利用计算向量余弦的方法,在粗分类的结果基础上,进行几次迭代,得到比较精确的结果。
本文涉及到的人物及其著作: