我不了解算法级别的SVD。但我确实知道人们用它来减少尺寸。我有两个共现矩阵(维度是50,000字×50,000字),它存储有关任何单词一起使用的次数的信息。两个矩阵以相同的方式构造(行和列彼此匹配)。
如果我执行SVD将其尺寸减小到300,那么两个矩阵的新列是否仍然相互匹配并代表相同的语言结构?
答案 0 :(得分:0)
奇异值分解是广义特征分解。它采用m乘以n的任何矩阵并找到它的正交基。减小尺寸的原因是有一种称为截断SVD的特殊类型的SVD。在线性代数中,你会发现有一种称为矩阵的秩。
秩表示矩阵中线性独立矢量的最大数量。 SVD使用一种称为Gram-Schmidt的东西来获得这种正交基,这是(一种)线性独立的向量。
您正在谈论的共生矩阵使用NLP(自然语言处理)。这里它表示两个单词是否一起出现在特定的上下文中。你显然无法将尺寸缩小到某一点以外。 SVD的要点是从根本上以特定方式表示单词的出现。
它仍然会与他们的结构相匹配 - 是的。但是,例如,如果矩阵的等级是300而你是250.那么你将丢失信息。有一个关于low rank matrix approximation的定理。它被称为eckart-young-mirsky定理。
如果你超越这一点,你实际上会对语言结构中的近似误差产生影响。