我对mahout轮回很陌生,我正在努力理解不同项目的“领域”以及它们之间的关系。我知道apache mahout轮回不赞成许多mapreduce算法,而且它将基于apache flink或spark或其他引擎,比如h2o(基于“apache mahout:beyond mapreduce”一书的介绍)。
我想尝试一些推荐算法,但我不太确定什么是新的和什么是'弃用'。我看到以下链接,
mahout推荐人概述
mahout coocurrence简介
指 spark-rowsimilarity
以及 spark-itemsimilarity
. (我不明白这些链接是在谈论一个脱离自我的算法还是一个设计。。。这可能是一种设计,因为它们没有在mahout dot apachedot org/users/basics/algorithms.html中列出。。。总之。
同时,apache flink(或者是spark mllib?)实现了用于推荐的als算法(flink和spark mllib的机器学习)。
一般问题:
是不是来自mahout.apache.org的这些算法被弃用了,它们正在被迁移到flink/spark mllib,这样flink/spark mllib的ml库和支持就会增长?
flink/spark mllib更像是一个引擎还是引擎+算法库,对算法有很好的支持?
其他有助于对话的链接:
flink愿景和路线图
mahout算法
具体问题:
我想尝试一个推荐算法作为“灰盒”(一部分是“黑盒”,因为我不想太深入的数学,一部分是“白盒”,因为我想调整模型和数学到我需要改进结果的程度)。
我对其他ml算法还不感兴趣。我考虑过从现成的开始,然后改变mllib的als实现。这是个好办法吗?还有其他建议吗?
2条答案
按热度按时间7ivaypg91#
我已经在flink上做了一段时间的ml,我正在做大量的侦察工作,我在监视这个生态系统中发生了什么。你所问的问题意味着项目之间的合理协调根本不存在。算法一次又一次地被重新实现,在我看来,这样做比与不同的框架集成更容易。轮回它实际上是一个最便携的解决方案,但它只是好几个应用程序。
是不是来自mahout.apache.org的这些算法被弃用了,它们正在被迁移到flink/spark mllib,这样flink/spark mllib的ml库和支持就会增长?
正如我所说,这将需要项目之间的协调,这不是一件事。
flink/spark mllib更像是一个引擎还是引擎+算法库,对算法有很好的支持?
在一个理想的生态系统中,它们应该是第一件事,但它们将继续为商业目的构建自己的ml库:具有现成ml库的计算引擎非常畅销。实际上,我一直在flink ml上工作,不是因为我认为这是在flink上实现ml的最好方法,而是因为,现在,flink需要在许多环境中销售它。
@pferrel建议predictionio是一个优秀的软件,但有许多替代品正在开发中:例如beam正在设计一个机器学习api来概括不同运行者的实现(flink、spark、h2o等等)。另一种选择是数据分析平台,如knime、rapidminer等,它们可以在spark或其他大数据工具上构建管道。
nxagd54h2#
spark itemsimilarity和spark RowSimilarity是命令行可访问的驱动程序。他们是基于职业轮回。这些的描述是为了运行从v0.10.0开始支持的代码。
链接https://mahout.apache.org/users/basics/algorithms.html 显示哪个“计算引擎”支持哪些算法。“mapreduce”列中的任何内容都将被弃用。
也就是说,与0.10.0之前的mahout相比,mahout轮回不是算法的集合。它现在有了一个类似r的dsl,其中包括广义Tensor数学,大多数mahout轮回算法都是从这个dsl中构建出来的。所以把mahout想象成一个“滚动你自己的数学和算法”工具。但是每个产品都可以根据您选择的计算引擎进行扩展。引擎本身也是本地可用的,因此您不必只使用抽象的dsl。
关于mahout轮回与mllib或任何algo lib的关系,会有重叠,并且两者都可以在代码中互换使用。
关于推荐者,新的similarityanalysis.cooccurrence实现了一个称为交叉引用的重大创新,它允许推荐者吸收几乎所有关于用户或用户上下文的已知信息,甚至可以解释项目内容的相似性。马休轮回部分是相关交叉发生的引擎。请参阅此处介绍算法的一些幻灯片:http://www.slideshare.net/pferrel/unified-recommender-39986309
使用predictionio框架(pio本身现在是一个拟议的apache孵化器项目)对此有一个完整的端到端实现,该框架已经成熟,可以使用以下说明进行安装:https://github.com/actionml/cluster-setup/blob/master/install.md