我是Mahout Samsara的新手,我正在努力了解不同项目的"领域"以及它们之间的关系。我知道Apache Mahout Samsara反对许多MapReduce算法,并且这些算法将基于Apache Flink或Spark或其他引擎,如h2o(基于"Apache Mahout:超越MapReduce"一书的介绍)。
我想尝试一些推荐算法,但我不太确定什么是新的,什么是"不推荐的"。我看到以下链接,
- Mahout推荐人概述
- Mahout Coocurrence简介
参考CCD_ 1和CCD_。(我不明白这些链接是在谈论一种脱离自我的算法还是一种设计……这可能是一种设计,因为它们没有在mahout dot apachedot org/users/basics/algithms.html上列出……无论如何…)。
同时,Apache Flink(或者它是Spark MLLib?)实现了用于推荐的ALS算法(Flink和Spark MLLib的机器学习)。
一般问题:
-
是不是mahout.apache.org中的这些算法被弃用了,它们正在迁移到Flink/Spark MLLib,这样Flink/SSpark MLLib的ML库和支持就会增加?
-
Flink/Spark MLLib是否更倾向于成为一个对算法有良好支持的引擎或引擎+算法库?
其他有助于对话的链接:
- Flink Vision和路线图
- Mahout算法
具体问题:
-
我想尝试一种推荐算法作为"灰盒"(部分是"黑盒",因为我不想太深入地研究数学,部分是"白盒",我想把模型和数学调整到我需要改进的程度)。
-
我对其他ML算法还不感兴趣。我想从现成的东西开始,然后改变MLLib的ALS实现。这是个好办法吗?还有其他建议吗?
我在Flink上研究ML已经有一段时间了,我正在进行大量的侦察,并监测这个生态系统中发生的事情。你所要求的是在根本不存在的项目之间进行合理的协调。算法被一次又一次地重新实现,就我所见,这样做比与不同的框架集成更容易。Samsara它实际上是最便携的解决方案之一,但它只适用于少数应用程序。
是不是mahout.apache.org中的这些算法被弃用了,它们正在迁移到Flink/Spark MLLib,这样Flink/SSpark MLLib的ML库和支持就会增加?
正如我所说,这需要项目之间的协调,而这不是一件事。
Flink/Spark MLLib是否更倾向于成为一个对算法有良好支持的引擎或引擎+算法库?
它们应该是理想生态系统中的第一件事,但它们将继续为商业目的构建自己的ML库:开箱即用的ML库的计算引擎卖得很好。事实上,我在Flink ML上全职工作,并不是因为我认为这一定是在Flink上进行ML的最佳方式,而是因为现在,Flink需要在许多环境中销售它。
@pferrel建议PredictionIO是一个优秀的软件,但有许多替代方案正在开发中:例如Beam正在设计一个机器学习API,以推广不同跑步者的实现(Flink、Spark、H2O等)。另一种选择是数据分析平台,如Knime、RapidMiner和其他平台,它们可以在Spark或其他大数据工具上构建管道。
Spark itemsimilarity和Spark rowsimiality是命令行可访问的驱动程序。它们是基于Mahout轮回中的类。这些描述用于运行自v0.10.0以来支持的代码。
链接https://mahout.apache.org/users/basics/algorithms.html显示在哪个"计算引擎"上支持哪些算法。"Mapreduce"列中的任何内容都将被弃用。
也就是说,Mahout Samsara不像0.10.0之前的Mahout那样是一个算法集合。它现在有了一个类似R的DSL,其中包括广义张量数学,大多数Mahout Samsara算法都是从中构建的。所以,把Mahout想象成一个"滚你自己的数学和算法"工具。但每个产品都可以根据您选择的计算引擎进行扩展。引擎本身也是本地可用的,因此您不必只使用抽象的DSL。
关于Mahout Samsara与MLlib或任何算法库的关系,会有重叠,并且两者都可以在代码中互换使用。
关于推荐人,新的SimilarityAnalysis.cocurrence实现了一项重大创新,称为交叉出现,它允许推荐人吸收几乎所有关于用户或用户上下文的已知信息,甚至考虑项目内容的相似性。Mahout轮回部分是相关交叉发生的引擎。请参阅此处介绍算法的一些幻灯片:http://www.slideshare.net/pferrel/unified-recommender-39986309
使用PredictionIO框架(PIO本身现在是一个拟议的Apache孵化器项目)可以实现完整的端到端实现,该框架是成熟的,可以使用以下说明进行安装:https://github.com/actionml/cluster-setup/blob/master/install.md