MLF 大数据机器学习框架(弥勒佛) MLF

xuanbao2016-04-17 16:00:00 • 2949 次点击    
这是一个分享于 2016-04-17 16:00:00 的项目,其中的信息可能已经有所发展或是发生改变。

让天下没有难做的大数据模型!

功能

下面是弥勒佛框架解决的问题类型,括号中的斜体代表尚未实现以及预计实现的时间

* 监督式学习:最大熵分类模型(max entropy classifier),决策树模型(decision tree based models,2014 Q1

* 非监督式学习:聚类问题(k-means,2014 Q1

* 在线学习:在线梯度递降模型(online stochastic gradient descent)

* 神经网络(2014 Q2/3

项目实现了下面的组件

* 多种数据集(in-mem,skip)

* 多种评价器(precision,recall,f-score,accuracy,confusion)和交叉评价(cross-validation)

* 多种优化器:协程并发L-BFGS,梯度递降(batch, mini-batch, stochastic),带退火的学习率(learning rate),L1/L2正则化(regularization)

* 稀疏向量(sparse vector)以存储和表达上亿级别的特征

* 特征辞典(feature dictionary)在特征名和特征ID之间自动翻译

现有的机器学习框架/软件包存在几个问题:

* 无法处理大数据:多数Python,Matlab和R写的训练框架适合处理规模小的样本,没有为大数据优化。

* 不容易整合到实际生产系统:standalone的程序无法作为library嵌入到大程序中。

* 模型单一:一个软件包往往只解决一个类型的问题(比如监督式或者非监督式)。

* 不容易扩展:设计时没有考虑可扩展性,难以添加新的模型和组件。

* 代码质量不高:代码缺乏规范,难读懂、难维护。

弥勒佛项目的诞生就是为了解决上面的问题,在框架设计上满足了下面几个需求:

*处理大数据:可随业务增长scale up,无论你的数据样本是1K还是1B规模,都可使用弥勒佛项目。

*为实际生产:模型的训练和使用都可以作为library或者service整合到在生产系统中。

*丰富的模型:容易尝试不同的模型,在监督、非监督和在线学习等模型间方便地切换。

*高度可扩展:容易添加新模型,方便地对新模型进行实验并迅速整合到生产系统中。

*高度可读性:代码规范,注释和文档尽可能详尽,适合初学者进行大数据模型的学习。

大数据机器学习框架Read More

Latest commit to the master branch on 12-13-2015
Download as zip
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
2949 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传