Fregata使用简介

最近TalkingData开源了Fregata,Fregata的主要作用是加速基于spark的机器学习的计算速度,据说10亿*10亿级别的数据如果缓存到内存中的话用1s钟就可以算完,如果不缓存的话,十秒钟搞定,如果这么来的话,那真是碉堡了,以下只是翻译,如果有不正确的欢迎指正

简介

·fregata是一个轻量级,超级快,大规模的基于基于spark的机器学习的框架,它提供了高水准的scalaAPI

·高精确度:对于各种问题,fregata比mllib来说能实现更高的精确度

·高速度:比MLLib快10-100倍,对于线性模型训练来说,如果10亿*10亿级别的数据如果缓存到内存中的话用1s钟就可以算完,如果不缓存的话,十秒钟搞定

·参数自由:Fregata使用GSA做优化,不需要进行学习速率的调整,因为在训练过程中会计算出一个适当的学习速度,当面临超高维度的问题时,Fregata会动态的计算剩余内存来确定怎么稀疏的输出来匹配最大的高精确度和高速度,这两个特征使得Fregata成为不同问题数据处理标准模块

·轻量:仅用了spark的标准API,使得它很容易就能无缝快速的集成到很多企业的数据处理流程上


架构:

目前的版本0.1

核心:基于GSA继承了单机版本的算法,包括分类回归和聚类算法,现在只支持二分类和多分类模型

spark:通过对spark的core.jar的包装,继承了spark的学习算法,

目前只支持scala2.10版本,spark版本的1.x.2.x都支持

我用maven构建的项目,引用如下

<dependency>
       <groupId>com.talkingdata.fregata</groupId>
        <artifactId>core</artifactId>
        <version>0.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.talkingdata.fregata</groupId>
        <artifactId>spark</artifactId>
        <version>0.0.1</version>
    </dependency>

下篇就开始实现阶段

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值