您的位置:首页 > 其它

分类解读Spark下的39个机器学习库

2015-11-05 09:01 281 查看
转自小象学院的文章(http://xxwenda.com/article/584),后续准备逐个试验一下。当然有不少已经测试过的。

Apache Spark 本身

1.MLlib

AMPLab

Spark最初诞生于伯克利 AMPLab实验室,如今依然还是AMPLab所致力的项目,尽管这些不处于Apache Spark Foundation中,但是依然在你日常的github项目中享有相当的地位。

ML Base

Spark本身的MLLib位于三层ML Base中的最底层,MLI位于中间层,ML Optimizer则处于最为抽象的顶层。

2.MLI

3.ML Optimizer (又称 Ghostface)

Ghostware这个项目在2014年就开始进行了,不过从未对外公布。在这39个机器学习库中,这是唯一一个雾件,之所以能囊括在这列表中,全凭着AMPLab与ML Base的地位支撑。

ML Base之外

4.Splash

这是近期2015年6月的一个项目,在运行随机梯度下降(SGD)时这套随机学习算法声称在性能上比Spark MLib中快了25%-75%。这是AMPLab实验室的sp标记项目,因此值得我们去阅读。

5.Keystone ML

KML将端到端的机器学习管道引进到了Spark中,但在近期Spark版本中管道已经趋于成熟。同样也承诺具有一些计算机视觉能力,我曾经在博客中也提到过这也存在一些局限。

6.Velox

作为一个服务器专门负责管理大量机器学习模型的收集。

7.CoCoA

通过优化通信模式与shuffles来实现更快的机器学习,详情可见这篇论文的描述《高效通信分布式双坐标上升》。

框架

GPU-based

8.DeepLearning4j

我曾经的一则博客有进行说明 《DeepLearning4J 增加了Spark gpu的支持》。

9.Elephas

全新的概念,这也是我写这篇博客的初衷。它提供了一个接口给Keras。

Non-GPU-based

10.DistML

模式并行下而并非数据并行的参数服务器(正如 Spark MLib)。

11.Aerosolve

来自Airbnb,用于他们自动化定价。

12. Zen

逻辑斯谛回归、隐含狄利克雷分布(LDA)、因子分解机、神经网络、受限玻尔兹曼机。

13.Distributed Data Frame

与Spark DataFrame类似,但是引擎是不可知的(例如在未来它将运行在引擎上而不是Spark)。其中包括了交叉验证和外部机器学习库的接口。

其他机器学习系统的接口

14. spark-corenlp

封装了斯坦福CoreNLP。

15. Sparkit-learn

给Python Scikit-learn的接口。

16. Sparkling Water

给 的接口。

17. hivemall-spark

封装了Hivemall,,在Hive中的机器学习。

18. spark-pmml-exporter-validator

可导出预测模型标记语言(PMML),一种用于传递机器学习模型的行业标准的XML格式。

附加组件:增强MLlib中现有的算法。

19. MLlib-dropout

为Spark MLLib 增加dropout能力。基于以下这篇论文进行的实现,《Dropout:一个简单的方法来防止神经网络中的过拟合》。

20.generalized-kmeans-clustering

为K-Means算法增加任意距离函数。

21. spark-ml-streaming

可视化的流式机器学习算法内置于Spark MLlib。

算法

监督学习

22. spark-libFM

因子分解机。

23. ScalaNetwork

递归神经网络(RNNs)。

24. dissolve-struct

基于上文中提到的高性能Spark通信框架CoCoA下的支持向量机(SVM)。

25. Sparkling Ferns

基于以下这篇论文进行的实现,《通过使用随机森林与随机蕨算法的图像分类技术》。

26. streaming-matrix-factorization

矩阵分解推荐系统。

无监督学习

27. PatchWork

聚类的速度比Spark MLlib 中的K-Means算法提升了40%。

28. Bisecting K-Meams Clustering

可产生更多相同大小簇的K-Means算法,是基于《文档分类技术对比》一文的实现。

29. spark-knn-graphs

通过使用K近邻算法与位置敏感哈希函数(LSH)来建立图。

30. TopicModeling

在线隐含狄利克雷分布, 吉布斯采样隐含狄利克雷分布,在线层次狄利克雷过程(HDP)

算法构建块。

31. sparkboost

自适应提升算法与MP-Boost算法。

32. spark-tfocs

整合到Spark中的TFOCS(一阶圆锥曲线求解器模板),如果你机器学习中的代价函数恰好是凸函数,那么便可以运行TFOCS来解决问题。

33. lazy-linalg

运用Spark MLlib中的linalg包来完成线性代数操作。

特征提取

34.spark-infotheoretic-feature-selection

特征选择的信息理论基础。基于《条件最大似然方法:一种统一的框架用于信息理论下的特征选择》该文的实现。

35. spark-MDLP-discretization

对于数据标签,对其中的一部分连续的数字维度进行“离散化”,通过这样便可以让每箱的数据类相对分布均匀。这是CART与ID3算法生成决策树的基本想法。基于《对分类学习中连续值属性的多区间离散化》该文的实现。

36. spark-tsne

分布式t-SNE算法用于数据降维。

37. modelmatrix

Sparse feature vectors稀疏特征向量。

特定领域

38. Spatial and time-series data

K均值算法、回归算法与统计方法。

39. Twitter data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: