我正在研究双向文档-文本图中的社区检测,尤其是在文档术语矩阵的共聚方面。我已经实现了here提出的频谱方法,它可以完美地工作并且非常快。但是,由于我没有真正的标签,所以要评估二分法的质量,我想实现一个函数来计算矩阵的双模数(您可以找到更多详细信息here)。
基本上,如果A
是r x b
稀疏文档项矩阵,则R
是r x K
索引稀疏矩阵(如果文档i在群集中,则R_ik = 1
k
和0
之外),B
单词的b x K
稀疏索引矩阵,我必须计算:
模块化公式:
其中a_1
是A
的行总和,a_2
是列的总和,m
是A
的总和。
不幸的是,由于r
和b
很大,尝试使用numpy数组甚至稀疏矩阵进行计算时遇到内存错误(它来自a_1 a_2^T
的计算,这是完整的r x b
矩阵)。
因此,您知道一种在大型矩阵中计算模块化的更有效方法吗,例如,通过对其进行逼近?