论文《多核上的机器学习Map-Reduce》展示了10种可以从MapReduce模型中受益的机器学习算法。关键点是“任何符合统计查询模型的算法都可以写成某种‘求和形式’”,并且可以表示为求和形式的算法可以应用MapReduce编程模型。
对于那些不能表示为求和形式的算法,并不意味着它们不能应用MapReduce模型。有人能指出任何一种不能通过MapReduce模型加速的特定机器学习算法吗?
回答:
当数据中存在计算依赖时,MapReduce不起作用。这一限制使得表示操作结构化模型的算法变得困难。
因此,当面对大规模问题时,我们常常放弃丰富的结构化模型,转而采用过于简单的适合MapReduce抽象的方法 2。
在机器学习社区中,许多算法在学习和推理过程中迭代地转换参数,例如,信念传播、期望最大化、梯度下降和吉布斯采样。这些算法迭代地优化一组参数,直到满足某些终止条件 2。
如果你在每次迭代中调用MapReduce,是的,我认为你仍然可以加速计算。这里的重点是我们需要一个更好的抽象框架,以便能够拥抱数据的图形结构,表达复杂的调度或自动评估终止条件。