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

原创 admin  2017-06-29 00:00 

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

作者 | 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】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:[email protected]

志愿者介绍

回复“志愿者”加入我们

往期精彩文章

点击图片阅读

选择困难症?一文通解如何选择最合适的机器学习算法

赞赏

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

阅读原文

即将打开""小程序

取消
打开

本文地址:http://www.17xiuwang.com/2017/06/29/airbnb%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0%e8%87%aa%e5%8a%a8%e5%8c%96%e5%b0%9d%e8%af%95%ef%bc%9a%e6%8f%90%e9%ab%98%e6%95%b0%e6%8d%ae%e7%a7%91%e5%ad%a6%e5%ae%b6%e5%b7%a5%e4%bd%9c%e6%95%88%e7%8e%87/
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

发表评论


表情