我一直在寻找一种最大熵分类实现,能够处理500个类别和1000个特征的输出。我的训练数据大约有30,000,000行。我尝试使用了MegaM、64位R的maxent包,以及爱丁堡大学的maxent工具,但不出所料,这些工具都无法处理如此规模的数据。然而,对于这种性质的NLP任务来说,数据集的规模似乎并不算太离谱。我应该采用哪些技术?或者有什么工具包可以推荐?我正在一台配备8GB内存的64位Windows机器上运行这个任务,并在需要时使用Cygwin。
回答:
Vowpal Wabbit目前被认为是速度最快的大规模学习器。LibLinear是一个替代方案,但我不知道它是否能处理3e10个元素的矩阵。
请注意,术语“MaxEnt”几乎只被NLP领域的人使用;机器学习领域的人称之为逻辑回归或logit,所以如果你搜索这个术语,可能会找到比搜索MaxEnt时更多的工具。