写点什么

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

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

关注

评论

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

C++11 extern template

SkyFire

C++11 template

gtest入门

SkyFire

c++ GTest

linux库打桩

SkyFire

Linux hook

mysqlx学习

SkyFire

mysqlx

架构训练营模块三作业

沈益飞

架构训练营 架构师训练营 4 期

spring 源码解析一、概述

xzy

Java spring spring源码

瞰源 | 假领子的流行经济学看开源

OpenTEKr

狄安瞰源

性能分析之系统资源饱和度

zuozewei

Linux 性能分析 12月日更

运维意识

搬砖的周狮傅

开发感想

架构训练营第四期 作业3

supermenG

架构师训练营 4 期

linux文本处理四件套的简单用法

SkyFire

Linux sed grep awk find

学生管理系统架构设计

Evan

2021年,你读过哪些书?(29/28)

赵新龙

28天写作

架构实战营 - 模块 3 课后作业

tony

Thinking Agile 2021,Being Agile 2022

Bruce Talk

敏捷 随笔 Agile

架构实战营 4 期第三模块作业

jialuooooo

架构实战营

关于net6中宿主模型的一点点看法

喵叔

28天写作 12月日更

ClickPaaS 胡柏:开源不是童话,它背后的商业逻辑正是其哲学的另一面体现 I OpenTEKr 大话开源 Vol.3

OpenTEKr

大话开源

学生管理系统架构文档

皓月

架构实战营 #架构实战营 「架构实战营」

比格云CEO 诸葛辉:本土开源力量的崛起,正为底层技术基础设施掀起一股中国风 I OpenTEKr 大话开源 Vol.4

OpenTEKr

大话开源

瞰源 | 别逗了,同学!开源不是点赞送礼

OpenTEKr

狄安瞰源

NFS(网络文件系统)配置(Ubunut/Deepin等系统)

SkyFire

Linux NFS

Golang的通道复用上手(三)

liuzhen007

go语言 28天写作 12月日更

关于Kafka分区leader迁移的感想

Kafka中文社区

git普通库与裸库

SkyFire

git

元宇宙100讲-0x010

hackstoic

元宇宙

28天写作挑战复盘

圣迪

灵魂洗礼

使用 Prometheus 监控的一些注意事项

耳东@Erdong

监控 Prometheus

linux信号操作

SkyFire

Linux 信号

Modern-Cpp学习笔记

SkyFire

c++

模块三作业

whoami

「架构实战营」

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