Fregata 轻量级大规模机器学习算法库开源项目

我要开发同款
匿名用户2016年12月20日
36阅读
开发技术Scala
所属分类人工智能、机器学习/深度学习
授权协议Apache

作品详情

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

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论