写点什么

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:031267
用户头像

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

关注

评论

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

解析Markdown文件生成React组件文档

Java 程序员 后端

讲一些你所不知道的Java动态代理

Java 程序员 后端

腾讯,阿里,小米等Java开发岗面试真题,kafka+Redis

Java 程序员 后端

flutter版本控制第二节

坚果

flutter 版本控制 11月日更

记自己在用友的三个月实习经历(1)

Java 程序员 后端

论好文章和烂文章

Java 程序员 后端

菜鸟弱弱地问:找个薪资待遇差的工作能成长吗?

Java 程序员 后端

胶囊网络CapsNet,自动驾驶汽车的未来 易筋 ARTS 打卡 Week 75

John(易筋)

ARTS 打卡计划 arts

认识大管家Jenkins(二)部署SpringBoot项目

Java 程序员 后端

腾讯社招(Java岗)四面已拿offer,问的很全面,几大块全涉及

Java 程序员 后端

自己把985道Java面试题整理细分26部分,五面成功面上滴滴

Java 程序员 后端

腾讯面试Java高频210题解析:Spirng+设计模式+Redis+MySQL

Java 程序员 后端

记一次RabbitMQ连接阻塞,全部队列不消费异常

Java 程序员 后端

蚂蚁金服+拼多多+抖音+天猫(技术三面

Java 程序员 后端

解开疑惑之:全面解析腾讯会议的视频前处理算法

Java 程序员 后端

计算机存储系统之磁盘阵列技术(1)

Java 程序员 后端

记自己在用友的三个月实习经历

Java 程序员 后端

腾讯程序员熬夜码字:网络 IO 演变发展过程和模型介绍,仅此一篇

Java 程序员 后端

膜拜!阿里内部都在强力进阶学习springboot实战派文档

Java 程序员 后端

蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上

Java 程序员 后端

见了鬼,我JVM的Survivor区怎么只有20M了?

Java 程序员 后端

解放双手!IDEA常用代码一键补全,你学会了吗?

Java 程序员 后端

记一道简单的Java面试题,但答错率很高!

Java 程序员 后端

菜鸟程序员的超神之路——从校园到职场

Java 程序员 后端

落马阿里之后 开始我的恶补过程:技术笔记+面试知道+视频教程

Java 程序员 后端

解读 Java 并发队列 BlockingQueue

Java 程序员 后端

架构实战营模块4课后作业

胡颖

架构实战营

血拼一波算法:百度+Alibaba+字节+Tencent

Java 程序员 后端

设计模式(七):桥接模式

Java 程序员 后端

记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经

Java 程序员 后端

论如何快速吃透算法?186道高阶算法题+学习资料程序员面试必备

Java 程序员 后端

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