写点什么

中科院开源图形化机器学习系统 Easy ML

  • 2017-06-15
  • 本文字数:2089 字

    阅读完需:约 7 分钟

随着人工智能发展,机器学习成为越来越多大数据应用的选择,不仅节省人力,准确率也有很大的提升。但是机器学习的使用却并不简单,复杂的算法、繁琐的配置等等问题让技术人员头疼不已,以至于在很多大数据平台上,机器学习的作用并没有被很好的发挥出来。

据官方资料,中科院发布 BDA 平台的 Easy Machine Learning 系统 提供了一个通用的数据流系统,可以降低将机器学习算法应用于实际任务的难度。

什么是 Easy Machine Learning 系统?最通俗的翻译就是:简单机器学习系统。

在该系统中,一个学习任务被构造为一个有向非循环图(DAG/directed acyclic graph),每个节点表征一步操作(即机器学习算法),每一条边表征从一个节点到后一个即节点的数据流。

任务可被人工定义,或根据现有任务/模板进行克隆。在把任务提交到云端之后,每个节点将根据 DAG 自动执行。图形用户界面被实现,从而可使用户以拖拉的方式创建、配置、提交和监督一项任务。

系统包含三个主要组件:

分布式的机器学习库不仅能实现流行的机器学习算法,也能实现数据预处理/后处理、数据格式转变、特征生成、表现评估等算法。这些算法主要是基于 Spark 实现的。

基于 GUI 的机器学习开发环境系统能让用户以拖放的方式创造、安装、提交、监控、共享他们的机器学习流程。机器学习库中所有的算法都可在此开发环境系统中获得并安装,它们是构建机器学习任务的主要基础。

执行任务的云服务该服务基于开源的 Hadoop 和 Spark 大数据平台建立,在 Docker 上组织了服务器集群。从 GUI 上接受一个 DAG 任务之后,在所有的独立数据源准备好时,每个节点将会自动安排运行。对应节点的算法将会依据实现在 Linux、Spark 或者 Map-Reduce\cite 上自动安排运行。

为什么要使用 Easy ML?总结起来,Easy ML 的优势主要有三点:

  1. 降低定义和执行机器学习任务的障碍 ;
  2. 共享和重用算法的实现,作业 DAG 和实验结果 ;
  3. 将独立算法和分布式算法无缝集成在一个任务中。

从官方资料可以看到,BDA 平台包括两大组件:

一个是分布式大数据分析函数与算法库 BDA Lib,基于 Spark 内存分布式计算框架,具有强大的大数据处理能力。提供丰富的机器学习算法可供选择,涵盖分类聚类、文本分析、个性化推荐等方向;可运作于单机环境,实现数据分布式和模型分布式;提供极简的 API 接口 / 支持命令行运行。

另一个是可视化任务构建与管理平台 BDA Studio,拥有可拖拽式图形化操作界面,可以支持 MapReduce/Spark/ 单机混合执行,具有强大的数据处理能力;集成了丰富的系统分析程序,支持私有数据 / 自定义数据分析算法模块,支持程序模块 / 应用发布与共享,提供大数据分析样例模板。

两大 BDA 平台组件与三大 Easy ML 组件优势互补,可大幅度提升用户对大数据分析的效率和体验。

Easy ML 和 Azure MLMicrosoft 也有一款图形化界面的机器学习产品:Azure ML。

Microsoft 的 Azure ML Studio 提供了一个快速的学习曲线,它不需采取深层数据或编码的方式来启动运行。

Microsoft Azure 机器学习是一种用于执行价值预测 (回归),异常检测,聚类和分类的云服务。Azure 机器学习是微软 Cortana 分析套件产品的一部分,Azure ML Studio 图形化、模块化的方法将让你快速了解机器学习模型。

Azure ML Studio

Azure 提供了三个级别的工作空间和四种机器学习工作区,而不同级别的工作空间拥有的功能也均有不同,同时使用的价格也有差异。

不同于商业化的 Azure ML,Easy ML 系统已经完全开源,开发者可以获得全部源代码,并对源代码进行研究和修改。

开源也好,商业也罢,不论是微软的 Azure ML,还是国产的 Easy ML,共同目的都是为了让开发者能够更好地理解机器学习,更加轻松的进行开发,其实对于大部分的开发者来说:适合自己的,就是最好的。

如何使用 Easy ML?

安装

在使用之前,用户需要对自己计算机的环境变量进行配置。配置教程地址如下:

https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md

使用根据官方 GitHub 的 README 文档,在运行 Easy ML 之后,可以使用官方账号 bdaict@hotmail.com、密码进行 bdaict 登录使用,地址如下:

http://localhost:18080/EMLStudio.html(建议使用 Chrome 浏览器)

登陆成功后,可以看到正常运行界面如下:

用户可以根据左边菜单的选择算法和数据集创建一个机器学习任务(一个数据流 DAG)。用户可以点击选择在 Program 和 Data 菜单项下面的算法和数据集,同样也可以点击 Job 菜单项选择现存的任务,并复制和做一些必要的修改。用户同样可以在右边的菜单修改任务信息和每一个结点的参数值。任务中的结点可以对应于单机 Linux 程序或在 Spark、Hadoop Map-Reduce 上运行的分布式程序。

更详细的使用教程请访问:

https://github.com/ICT-BDA/EasyML

参考资料:

论文:

http://www.bigdatalab.ac.cn/~junxu/publications/CIKM2016_BDADemo.pdf

GitHub:

  1. 配置

https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md
2. 使用

https://github.com/ICT-BDA/EasyML


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-06-15 19:0018137
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 280.0 次阅读, 收获喜欢 1301 次。

关注

评论

发布
暂无评论
发现更多内容

一款开源的Diffy自动化对比测试框架:超详细实战讲解

狂师

开源 测试 测试驱动开发实战营 自动化测试

依赖倒置原则理解

Thrine

「架构师训练营」第 2周作业

旭东(Frank)

架构 极客大学架构师训练营

听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理

小林coding

面试 计算机网络 计算机基础

Libra教程之:运行自定义move modules

程序那些事

比特币 区块链 以太坊 libra blockchain

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

小傅哥

设计模式 小傅哥 重构 代码优化

架构师训练营-第二周-作业1

狂奔嘀兔纸

极客大学架构师训练营

BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案(建议收藏)

程序员生活志

Java spring 面试 分布式 mybatis

[Redis源码阅读]redis持久化

老胡爱分享

数据库 redis 缓存 持久化

架构师训练营第二周总结:软件开发简史和框架设计的方法

hifly

设计模式 极客大学架构师训练营

Redis系列之扫盲篇(一)

z小赵

Java 分布式 高并发系统设计

程序员开发色情游戏,赴日寻找AV女优真人拍摄,结果...

程序员生活志

程序员 游戏开发

如何高效开会?

石云升

高效工作 时间管理 高效 开会

架构师训练营作业 --Week2

吴炳华

极客大学架构师训练营

2020年6月17日 MySQL基准测试

瑞克与莫迪

Libra教程之:来了,你最爱的Move语言

程序那些事

比特币 区块链 以太坊 libra blockchain

【架构师训练营】第2周总结

花生无翼

极客大学架构师训练营

面向对象设计原则

陈皮

第二周作业

大雄

依赖倒置

架构师训练营-week2命题作业

J.Smile

极客大学架构师训练营

架构师训练营第二周总结

极客大学架构师训练营

为什么 Vue 更符合这个时代的大势所趋

葡萄城技术团队

Vue SpreadJS

基于 Docker 实现 MySQL 主从复制

ytao

MySQL Dockerfile

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十二)编写测试-超时

编程道与术

Java 编程 TDD 单元测试 JUnit

Spring BeanPostProcessor 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

Libra教程之:Libra testnet使用指南

程序那些事

比特币 区块链 以太坊 libra blockchain

0616作业2

Geek_10

【架构师第二周】总结

浪浪

学习一下:我的学习之道

非著名程序员

学习 程序员 程序人生 提升认知

第二周总结

changtai

「架构师训练营」第2周作业 - 设计原则

guoguo 👻

极客大学架构师训练营

中科院开源图形化机器学习系统Easy ML_语言 & 开发_陈思_InfoQ精选文章