专栏首页数据科学与人工智能【大规模机器学习】大规模机器学习流程的构建与部署

【大规模机器学习】大规模机器学习流程的构建与部署

大规模机器学习流程的构建与部署

现在有许多的机器学习算法实现是可以扩展到大数据集上的(其中包括矩阵分解、SVM、逻辑回归、LASSO 等等)。实际上,机器学习专家们很乐于指出的一点是:如果你能把机器学习问题转化为一个简单的数值优化问题,你就几近成功了。

当然,现实的问题是,很多机器学习项目是没法简化成一个简单的优化问题的。因此数据科学家们不得不去管理和维护复杂的数据项目,加之他们所要分析的问题经常也需要特定的机器学习流程。上游流程中每个阶段的决策影响下游流程的结果,因此流程中模块的连接与交互成为了一个研究的热点。

在Strata+Hadoop World New York的报告上,伯克利教授Ben Recht描述了他们新的伯克利 AMPLab项目,该项目旨在提供一种构建和管理大规模机器学习的通用流程。鉴于AMPLab与Spark项目的紧密联系,该项目的一些想法已在Apache Spark中初现端倪。

基元辨识与构建

第一步就是创建基础部件(基石).机器学习流程往往用图来描述和表达,AMPLab研究人员一直专注于针对大数据集的图节点(机器学习流程基础元件,简称基元)的扩展和优化。其中一些基元可能针对于特定领域和数据类型(例如文本,图像,声音,时空数据),一些则是针对于更加通用场景的领域(例如统计学,机器学习).最近的一个例子是ml-matrix矩阵库,该库是一个运行于Apach Spark上的分布式矩阵计算库。

机器学习模块以基元的形式来构成机器学习系统,使得机器学习系统更易于理解。由于流程中的模块几乎都可解释,因此相对于那些依赖于黑盒子的机器学习方法,这样构建的机器学习系统更具透明性,易于解释。

让机器学习更具模块化:简化流程融合

尽管基元可以作为基础部件,但是用户还是需要工具来完成整个流程的构建。现如今,工作流工具已经变得越来越普遍,而且诸如此类的工具已经有很多可供数据工程师,数据科学家,甚至商业分析师等使用(例如Alteryx, RapidMiner, Alpine Data, Dataiku)。

正如上篇博文我提到的,我们将会看到越来越多的数据分析工具,这些工具一方面为程序员提供了优雅的接口设计,一方面为提供了简单的DSL(领域特定语言)使得非专业程序员可以进行编辑。某种程度上说,通过DSL对机器学习流程(或者说对表达该流程的图结构)进行封装会变得越来越普遍。最新版本的Apache Spark (版本 1.2)提供了构建机器学习流程的API接口(如果你仔细看的话,我们已经利用DSL来实现机器学习流程构建了)。

做一些误差分析

“我们正在试图将机器学习系统植入自动驾驶汽车,电力系统网络等等。如果我们想让机器学习真正影响到我们的日常生活,那么我们最好能够保证机器学习系统能如那些复杂系统(就如飞行器设计系统)般稳定。”-Ben Recht

我们是否能够去限定这种层次式流程的近似误差和收敛率呢?假定我们能够计算每个节点的误差,下一步就得有一种机制去提取整个流程的误差。实际上,我们需要在产品实际部署的时候提供工具来保证流程能正常工作,同时可以期望提供一些测量误差的方法。

为此,Laurent Lessard、Ben Recht 和 Andrew Packard一直利用从控制理论中的技术自动地对机器学习流程生成验证证书。该方法已经能够分析大数据集上大多数流行的机器学习技术。他们更长远的目标则是能够直接通过那些复杂的,分布式软件系统的伪代码,分别推导和分析出系统的性能特征和鲁棒性。(与AMPLab相关的Velox项目提供了产品中模型的管理框架)。

随着机器学习算法日益渗透入各个领域,我们需要更好的工具来构建复杂的,健壮性强,稳定度高的机器学习系统。虽然诸如scikit-learn 和 GraphLab已经提供了对机器学习流程构建的支持,但是像Apache Spark这种常用的分布式框架则把这种思想发挥到了极致,以使其能偶适应于更大的数据集,更广泛的人们受益。目前,AMPLab前期的一些结果还是很令人振奋的,研究者们已经构建了大规模的机器学习系统,并且在视觉,语音以及文本处理方面取得了与各自领域最好成绩都不相上下的结果。

在Ben Recht的诸多头衔中, 也是”Hardcore Data Science day at Strata+Hadoop World”的协作方。加入我们吧,我们将和Ben将在2015年1月在San Jose举办另一场数据科学盛宴。

链接:http://blog.jobbole.com/84605/

原文链接:http://radar.oreilly.com/2015/01/building-and-deploying-large-scale-machine-learning-pipelines.html

本文分享自微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【陆勤阅读】什么是机器学习?

    大家好!我是John Platt,我在微软创建和使用机器学习(简称ML)算法已经17年了。最近这几年机器学习开始受到广泛关注,所以人们经常问我:“什么是机器学习...

    陆勤_数据人网
  • 【FinTech】机器学习是发展金融科技公司的最佳方式吗?

    今天,机器学习在金融生态系统的许多阶段扮演着不可或缺的角色。 从审批贷款到管理资产,评估风险。 然而,只有少数技术娴熟的专业人员能准确了解ML如何进入日常金融生...

    陆勤_数据人网
  • 【陆勤阅读】机器学习和统计模型的差异

    在各种各样的数据科学论坛上这样一个问题经常被问到——机器学习和统计模型的差别是什么? 这确实是一个难以回答的问题。考虑到机器学习和统计模型解决问题的相似性,两者...

    陆勤_数据人网
  • 业界 | 输给“深蓝”20年后,卡斯帕罗夫撰文呼吁对人工智能抱持乐观心态

    AI科技评论按:1997年5月11日,IBM 深蓝计算机打败了当时世界国际象棋冠军加里·卡斯帕罗夫,这成为了载入史册的历史性事件。事隔20年后,围棋领域的Alp...

    AI科技评论
  • 【更新】机器学习干货大放送,再来5G资料送你

    新智元干货 【新智元导读】在第一期机器学习资料的基础上,我们又更新了课程《机器学习技法》《机器学习基础》《机器学习基石》《线性代数》等。 课程更新:《机器...

    新智元
  • 业界 | 想要快速的搭建高性能机器学习系统,企业应该怎么干?

    AI科技评论按:本文为「范式大学系列课程」。Web服务器部署在云上已经算是常见的事情了,那么机器学习系统如何呢? ? 亚马逊AWS目前的运维水平成为行业标准,但...

    AI科技评论
  • 脱碳入硅:不是人类被机器取代,而是“人类社会”被“社会机器”取代

    【新智元导读】本文为鲍捷的最新力作,观点犀利。作者首先提出人类的大多数,终将陷入文化的真社会性的工蜂阶层,他们将留不下文化的后裔,他们将被机器取代。作者认为爱情...

    新智元
  • 机器学习项目的常见误区

    在最近的一次报告中,Ben Hamner向我们介绍了他和他的同事在Kaggle比赛中看到的一些机器学习项目的常见误区。

    机器人网
  • 什么是机器学习技术?

    问题导读 1.什么是机器学习? 2.机器学习可以来做什么? 3.机器学习技术可以被应用于哪三种不同方式? 这篇博客文章由微软研究院的杰出科学家J...

    用户1410343
  • 谷歌发布了机器学习深度课程,很难毕业的那种 | 这不是MLCC

    如今,以几个月前谷歌的机器学习速成课程 (MLCC) 为基础,两间公司继续联手,发布了一套机器学习专项课程,包含五门课,比以前更加专注于实战了。

    量子位

扫码关注云+社区

领取腾讯云代金券