开源猿辅导分布式机器学习库ytklea

机器之心投稿

作者:猿辅导研究团队语音识别负责人夏龙、机器学习工程师吴凡

近期,猿辅导公司开源了两个机器学习项目—ytk-larn,ytk-mp4j,其中ytk-mp4j是一个高效的分布式通信库,基于该通信库我们实现了ytk-larn分布式机器学习库,该机器学习库目前在猿辅导很多应用场景中使用,比如,自适应学习、学生高考分预测、数据挖掘、课程推荐等。

ytk-larn分布式机器学习库

项目背景

LR(LogisticRgrssion),GBDT(GradintBoostingDcisionTr),FM(FactorizationMachins),FFM(Fild-awarFactorizationMachins)模型是广告点击率预测和推荐系统中广泛使用的模型,但是到目前为止几乎没有一个高效的机器学习开源项目集这几种常用模型于一身,而且很多机器学习开源项目只能在特定计算平台下使用,最重要的是不能高效的整合到线上生产环境中。ytk-larn就是解决以上问题而产生的。

图1ytk-larn特性概略

项目简介

ytk-larn是基于Java的高效分布式机器学习库,实现大量的主流传统机器学习模型(GBDT,LR,FM,FFM等)和loss函数,支持单机多线程、多机集群及分布式计算环境。

其中GBDT/GBRT的实现借鉴吸收了XGBoost和LightGBM的大部分有用特性,支持特征并行和数据并行,支持传统的精确算法和直方图近似算法,支持lvl-wis或者laf-wis的建树方式,而且还实现了分布式带权分位数近似。在单机数据并行的场景中训练速度跟XGBoost相当,在非台机器的分布式场景中比LightGBM速度更快,更稳定。

传统的GBDT/GBRT在含有大量Catgorical特征的场景中无法使用,我们实现了多种适用于大量Catgorical特征的GBST(GradintBoostingSoftTr)模型,在猿辅导的点击率预测和推荐场景中效果明显好于LR、FM、FFM等模型。

ytk-larn实现了改进Hoag(Hyprparamtroptimizationwithapproximatgradint,ICML)算法,能够自动高效的进行超参数搜索。当目标函数是凸函数时,hoag能快速得到最优超参数(kaggl比赛利器),效率明显高于传统的网格超参数搜索算法(gridsarch),而且在非凸目标函数场景中也适用。

其他特性:

简单易用,文档详细,只需要用户安装Java8运行时环境即可,而且所有模型都有可运行的dmo

支持主流的操作系统:Linux,Windows,MacOS,仅需安装Java8运行环境即可使用

支持单机多线程,多机集群及分布式环境(Hadoop,Spark),相比HadoopMahout,SparkMLlib效率高很多

提供简单易用的在线预测代码,可以方便整合到线上生成环境

支持多种目标函数和评估指标,支持L1,L2,L1+L2正则

树模型支持样本采样,特征采样,提供初始预估值的训练

支持特征预处理(归一化,缩放),特征哈希,特征过滤,基于样本标签采样

提供了读取数据时进行高效数据处理的python脚本

训练模型支持chckpoint,继续训练

LR支持Laplac近似,方便做ExploitationExploration

基于猿辅导的ytk-mp4j通信库,分布式训练效率非常高

详细细节请参考:







































哪家医院治白癜风有效
中科医院专家



转载请注明:http://www.xcqg58.com/zytd/7308.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了