Fregata: TalkingData开源的轻量级大规模机器学习库
Fregata是TalkingData开源的一个基于Spark的轻量级、超快速的大规模机器学习库,并在Scala中提供高级API。
显著特征:
- 更加准确:Fregata的精确度要高于MLLib;
- 高速度:对于广义线性模型,Fregata通常汇合在一个数据历元。对于10亿*10亿的数据集,Fregata可以在1分钟内使用内存缓存或10分钟完成一个广义线性模型训练,速度要比MLLib快10-100倍;
- 参数自由:Fregata使用GSA SGD优化,无需学习速率调整,原因是研发团队找到了一种在训练过程中计算学习速率的方法。当面对超高维问题时,Fregata会动态计算剩余内存来确定输出的稀疏性,自动平衡精度和效率;
- 轻量:Fregata只使用了Spark的标准API即可快速、无缝地集成到Spark上的大多数业务数据处理流程中。
架构
这里主要介绍1.0版本架构。核心部分主要基于GSA独立算法实现,包括分类,回归和聚类:
- 分类:支持二进制和多重分类
- 回归:在下面的版本中发布
- 聚类:在下面的版本中发布
Spark:主要通过封装core.jar实现基于Spark的大规模机器学习算法,并提供相应的算法。
如何安装及快速入门,大家可以访问其在Github上的开源地址。