大规模机器学习

我需要在一个大型数据集(100亿到1000亿条记录)上运行各种机器学习技术。这些问题主要围绕文本挖掘/信息提取,包括各种核技术,但不限于此(我们使用了一些贝叶斯方法、自助法、梯度提升、回归树——许多不同的问题和解决方法)。

什么是最佳实现?我在机器学习方面经验丰富,但对如何处理大型数据集没有太多经验。有没有可扩展和可定制的利用MapReduce基础设施的机器学习库?强烈偏好C++,但Java和Python也可以。亚马逊、Azure还是自己的数据中心(我们负担得起)?


回答:

除非您尝试学习的分类状态空间非常大,否则我认为在专注于文本挖掘的数据集中,100亿到1000亿条记录或训练样本中存在显著的冗余。粗略估计,我怀疑只需要1-2%的随机样本子集就能学习到在交叉验证测试中表现良好的可靠分类器。

快速的文献搜索找到了以下相关论文。Tsang的论文声称对于n个训练样本,时间复杂度为O(n),并且有相关的软件可用,即LibCVM工具包。Wolfe的论文描述了一种基于MapReduce的分布式EM方法。

最后,在NIPS 2009会议上有一个大规模机器学习研讨会,看起来有很多有趣且相关的演讲。

参考文献

Ivor W. Tsang, James T. Kwok, Pak-Ming Cheung (2005). “核心向量机:在非常大的数据集上快速训练SVM“, 机器学习研究杂志, 第6卷, 第363-392页。

J Wolfe, A Haghighi, D Klein (2008). “完全分布式的EM方法用于非常大的数据集“, 第25届国际机器学习会议论文集, 第1184-1191页。

Olivier Camp, Joaquim B. L. Filipe, Slimane Hammoudi and Mario Piattini (2005). “使用支持向量机算法挖掘非常大的数据集“, 企业信息系统V, 荷兰Springer出版社, 第177-184页。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注