在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

Josh Wills 谈机器学习的生产环境

  • 2014-10-11
  • 本文字数:1339 字

    阅读完需:约 4 分钟

大数据加快商业化步伐,使互联网行业出现了新岗位与新环境。“数据科学家”是大数据时代互联网行业的新型专门人才,而机器学习的工业化基础设施是互联网行业新的生产环境。

在 2014 年 6 月的 Midwest.io 会议上,数据科学家 Josh Wills 做了一场名为“从实验室走向工厂:建设机器学习的生产环境”的主题演讲,旨在讨论这种机器学习的工业环境如何实现。

Josh Wills 将“数据科学家”分为两类,一类是善于编写程序的统计学家,另一类是选对了项目的软件工程师,他关注数据挖掘的程序实现,从理论与实践两个层次看待机器学习。Josh 将机器学习也分为两类,即理论性机器学习与工业机器学习。

在演讲中,Josh Wills 指出,理论性的机器学习就是应用数学,甚至就是最优化理论的应用。到目前,这仍然是机器学习的教科书设定,但工业机器学习与之并不完全相同。工业机器学习的特点体现在:

  1. 整体性高于准确性。理论性机器学习中准确性最为重要,这需要耗费长时间的计算。而在工业环境中速度为王,为了体现系统的整体性,准确性让位给速度,只能屈居下首。
  2. 多重复杂性。机器学习理论主要就是在最优化目标函数,而要找到真正简单干净的目标函数并不现实。大部分时候,目标函数都很繁多而且包含冲突,需要用 Pareto 的多目标方法,在不消极影响其他目标的同时整合成一个目标函数。而从整体上看,工业机器学习系统非常复杂,以至于很难能够看透整个系统。
  3. 通过检验过程优化。建立假设的过程将检验这个过程本身并改造整个机器学习系统,检验过程本身提供知识,而这种知识远比检验结果更重要。

Josh Wills 同时提出,工业机器学习的基本框架是“一个模型与两种模式”,他举了 Oryx、Airbnb 以及 Etsy 的例子说明这一框架。Airbnb 是一家房屋租赁社区,他们发表的博文“建构风险评估的机器学习系统”中,他们建立机器学习系统的经验是,离线建立并存储分析模型,再上传到生产环境中使用。手工艺品商店 Etsy 的经验与之类似,他们的工业机器学习系统称为 Conjecture,是在 Hadoop 上搭建的可升级机器学习系统,Conjecture 以 JSON 格式定义离线准备模型,从而转化为 PHP 代码运行。Josh 指出这些系统将数据当作“键值”管理的共性,以及离线准备模型的“分析模式”、转换模型在生产环境中使用的“生产模式”。

现阶段的机器学习生产环境,其分析模式与生产模式中完全不同的数据使用方式实际上非常低效。尽管 Josh 目前还无法实现,但他认为特征设计将成为解决这一问题的关键。模型的分析准备是把零星的图表拼凑成所需的整体数据,生产用的数据只能从用户处或从调查中得到,所以需要一种简单的方法将离线数据转换为在线数据。这种方法的核心问题在于数据的模型,它需要以特定的、重复的属性的数据来刻画用户实体的模型,所谓的用户实体必须规范化储存,且实体的数据如交易记录等重复性数据需以数组形式储存。Josh 以 JSON 格式数据为例进行了说明,并将这种模式称为“超新星”模式。

Josh Wills 为深入研究工业机器学习环境提供了一种思路,从行业应用的实际出发,机器学习的设计方式还可以继续优化。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-11 02:031722
用户头像

发布了 268 篇内容, 共 139.0 次阅读, 收获喜欢 24 次。

关注

评论

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

等保测评机构推荐证书有效期是多久?到期后怎么办?

行云管家

网络安全 等级保护 等保测评 等保评测

2021疫情下Android技术人的宅家学习进阶指南!花了大价钱大厂内部买来的学习资料,爱看不看

android 程序员 移动开发

分布式服务下,消息中间件改造

kafka 架构 RocketMQ RabbitMQ 中间件

Activity-的-36-大难点,你会几个?,android游戏开发实践指南

android 程序员 移动开发

巧用 Redis 数据结构实现亿级数据聚合统计

码哥字节

redis 数据统计 NoSQL 数据库 11月日更

2020阿里巴巴,字节跳动,京东,android驱动开发环境搭建

android 程序员 移动开发

2020面试题合集之吊打面试官系列(一),kotlin数组性能

android 程序员 移动开发

2021 Android 大厂面试(五)插件化,androidframework开发书籍

android 程序员 移动开发

Andorid&Kotlin编译速度原理剖析(上),lambda表达式的作用与好处

android 程序员 移动开发

大势已来!!区块链的真正价值是什么

CECBC

【云计算】什么是私有云?可提供哪些服务?缺点是什么?

行云管家

云计算 公有云 私有云

最全Hadoop HDFS解析(一)

大数据技术指南

11月日更

Andoird中LiveEventBus的使用——用LiveEventBus替代RxBus

android 程序员 移动开发

Androdid Droid Fu介绍(1),万字Android技术类校招面试题汇总

android 程序员 移动开发

1.1 黑客与社会工程学

sec01张云龙

11月日更

Anaconda详细安装及使用教程,阿里P8大牛亲自教你

android 程序员 移动开发

2021京东 Android 岗 Java 面试真题解析,android平台架构的四个层次

android 程序员 移动开发

2021牛转乾坤:新花样玩转Android组件化架构实践,15K-50K的详细Android学习指南

android 程序员 移动开发

Activity的生命周期,这可能是目前最全的

android 程序员 移动开发

A010-menu资源,看完老板哭着让我留下来

android 程序员 移动开发

Activity的任务栈Task以及启动模式与Intent的Flag详解(经典博文,值得收藏

android 程序员 移动开发

2020这一年的Android面经汇总(百度、腾讯、滴滴,查漏补缺

android 程序员 移动开发

2021年尾 Android 面试之必问高级知识点(包含答案),kotlin语法大全

android 程序员 移动开发

2021新鲜面经,蚂蚁内部转岗Android面试分享,深夜思考

android 程序员 移动开发

ajax分析 学习(1),android0基础

android 程序员 移动开发

Andriod 网络框架 OkHttp 源码解析,总结一下

android 程序员 移动开发

2021Android面经,历时一个半月,斩获3个大厂offer,阿里P8大佬整理

android 程序员 移动开发

GitLab和Rainbond整合实现一体化开发环境

北京好雨科技有限公司

DevOps gitlab #GitLab gitlab hook rainbond

面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?

Java spring 程序员 架构

知识中台与区块链助力多源可信数据价值释放

CECBC

ajax分析 学习,kotlin构造器

android 程序员 移动开发

Josh Wills谈机器学习的生产环境_语言 & 开发_张天雷_InfoQ精选文章