首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Airbnb机器学习自动化尝试:提高数据科学家工作效率的变革

Airbnb机器学习自动化尝试:提高数据科学家工作效率的变革

作者头像
大数据文摘
发布2018-05-25 11:39:54
5270
发布2018-05-25 11:39:54
举报

大数据文摘作品,转载要求见文末

作者 | Hamel Husain Nick Handel

编译 | 霍静、朱璇、钱天培

在Airbnb,我们一直致力于改进数据科学的工作流程。我们的数据科学项目涉及大量的机器学习,而这个流程有许多重复的任务,其中包括了(但不局限于)以下几项内容:

探索性数据分析:对数据进行可视化是机器学习建模前的关键步骤。自动化这些任务可以节省数据科学家的大量时间,比如自动绘制全部变量对要预测的目标变量的关系图(译者注:例如散布图Scatter Plot),以及自动计算总结性的统计数字(译者注:例如平均值和标准差)。

特征变换:在如何编码分类变量、填补缺失值、编码序列和文本等问题上有各种各样的特征变换方法可供选择,但其中不少方法已成为能可靠地应用于许多问题的业内标准。

算法选择以及调模型参数:可选择的算法以及可调整的模型参数往往令人眼花缭乱。其实这些任务也非常适合自动化。

模型诊断:自动生成学习曲线、部分依赖图、特征的重要性、ROC曲线等模型诊断图表将会非常实用。

进入自动化的机器学习

(AML(Automated Machine Learning))

越来越多的社区开始创建各种工具来自动化上述及其他机器学习工作流程任务。包含了类似概念的范式常常被称为自动化的机器学习(以下简称为AML)。

上图:自动化的机器学习引起热议

实践中的自动化机器学习

迄今为止还没有公认的AML范畴,但那些常在年度ICML会议上组织AML研讨会的专家们在他们的网站上定义了一个合理的AML范畴,其中包括了自动化所有前文描述的重复任务。

对AML范畴如此的定义显然是极具野心的,但它真的有效吗?答案取决于你如何使用它。我们认为AML很难完全取代数据科学家,因为我们需要特定领域的专业知识和人为判断来正确设置大部分的机器学习问题。

我们还发现AML工具对使用表格式数据集的回归和分类问题最有效。AML领域正在迅速发展。总的来说,我们相信AML在某些情况下可成倍地提高数据科学家的生产率。

在Airbnb,我们按照如下方式使用AML:

设定标杆

  • 客观地展示挑战者模型:AML可以使用与现有模型相同的训练数据集来快速展示大量挑战者模型。这可以帮助数据科学家选择最好的模型系列。

诊断和探索

  • 检测目标泄漏:因为AML可迅速地自动建立候选模型,所以我们可以在建模生命周期中更早地检测出数据泄漏。
  • 诊断:如上所述,AML可自动生产标准诊断,包括学习曲线、部分依赖图、特征值重要性等等。

自动化

  • 在某种程度上,AML能自动完成像探索数据分析、数据预处理、超参数调参、模型选择以及把模型用于生产这样的任务。

自动化的机器学习工具

目前市面上有很多商业化或开源AML工具。我们最喜欢的AML平台之一就是DataRobot。这是个建立在很多为大家熟知的开源算法基础上的商业化平台。Airbnb正在进行的很多项目都使用着DataRobot。

我们也尝试过以下正在开发中的开源AML工具:

  • TPOT
  • Auto-Sklearn
  • Auto-Weka
  • Machine-JS

案例研究:顾客终身价值模型的竞争基准

在Airbnb,我们使用机器学习来建立房客和房主的终身价值(LTV(lifetime value))模型。这些模型帮助我们用预期回报来精细地校准营销花费(最细可到单个用户水平)。

对于房客,LTV模型被定义成一个标准的回归问题,目标变量是在每个房客在某段时间跨度内的消费。这个模型的特征包括:人口,地理位置,以及从Airbnb网络和移动应用获取的活动信息。这个模型中有许多可移动的部分可以解释供需弹性、预期成本和其他变量。

建模过程中重要的一点是数据科学家需要客观地选择算法。例如,一个复杂的模型可能比起简单的模型能提供一个很小的增量效益,这种取舍需要仔细斟酌。再比如,在建立LTV模型的过程中,我们倾向去使用 eXtreme gradient boosted trees (XGBoost)基于一下几点原因:

  • 这个算法在解决类似问题上往往有不错的效果。
  • 在我们特设的交叉验证(cross validation)中,XGBoost有最好的结果。
  • 时间有限。我们花了很多时间在特征工程(feature engineering)、数据清洗、以及将模型应用到生产系统等任务上。这样就没有很多时间去做选择算法和调参。
  • 当我们意识到这些偏见后,我们通过AML平台(datarobot)对原始训练数据执行完整性检查来设置模型误差基准。
  • 下图列出了这些基准。这个图表显示了各种模型的时间交叉验证集的均方根误差(RMSE)分布。y轴对应不同的“蓝图”,它是算法和特征工程步骤的结合。虽然我们不会讨论每个蓝图的细节,下面的图表将展示给读者一个概况,以便读者了解现代AML系统能够完成的算法选择的任务范围。

上图:DataRobot制作的蓝图基准

使用AML,我们很快得到了另一种观点:线性模型对于这个问题非常有竞争力。事实上,AML平台可以测试很多特征工程步骤,以及进行更严格的超参数调整,而我们没有时间手动探索这些功能。此外,这些发现使我们改变了原来的算法,减少了超过5%的模型误差。

结论

AML能帮助我们快速探索数据,以及通过更有效的调参和诊断来提高模型准确率。上述案例研究充分展示了AML提高模型准确率的能力,但我们也意识到AML的其他优势。对于适合AML的问题,我们认可AML作为一种有效的建模方式,因为只要有训练数据AML就很容易上手。AML并不能保证100%更优结果,但有技巧地使用AML往往能产生很不错的效果。

原文链接:https://medium.com/airbnb-engineering/automated-machine-learning-a-paradigm-shift-that-accelerates-data-scientist-productivity-airbnb-f1f8a10d61f8?from=singlemessage&isappinstalled=0

关于转载 如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 | bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档