Fregata是一个基于ApacheSpark的轻量级、超快速、大规模的机器学习库,并在Scala中提供了高级API。
特性
更准确:对于各种问题,Fregata可以实现比MLLib更高的精度。
更快速:对于广义线性模型,Fregata在绝大部分数据上都能够扫描一遍数据即收敛。对于10亿X10亿的数据集,Fregata可以在1分钟内用内存缓存训练广义线性模型,或在没有内存缓存的情况下训练10分钟。通常,Fregata比MLLib快10-100倍。
算法无需调参(调参相对简单):Fregata使用 GSA SGD优化。GSA算法是梯度型随机优化算法,也是Fregata采用的核心优化方法。它是基于随机梯度下降法(SGD)的一种改进:保持了SGD易于实现,内存开销小,便于处理大规模训练样本的优势,同时免去了SGD不得不人为调整学习率参数的麻烦。
更轻量:Fregata只使用Spark的标准API,能快速,无缝地集成到Spark大多数业务的数据处理流程上。
架构
这份文档是关于Fregata0.1版本的
core:主要实现基于GSA的独立算法,包括分类、回归和聚类分析
Classification:支持二进制和多重分类
Regression:即将发布
Clustering:即将发布
spark:主要通过包裹 core.jar 实现基于 spark 的大规模机器学习算法,并提供相应的算法
Fregata支持spark1.x以及带scala2.10和scala2.11的2.x
算法
LogisticRegression
CombineFreaturesLogisticRegression
SoftMax
RDT
评论