当前位置: 首页 > 科技观察

机器学习可以自动化吗?自动的自动=自动的力量?

时间:2023-03-22 10:10:07 科技观察

作者|由HamelHusain和NickHandel编译|HuòJìng,JenniferZhu,Yunzhou机器学习作为人工智能领域广受关注的技术,一直受到学习者的追捧,但其高技术门槛和对学习者的时间精力要求却让人望而却步。Airbnb的这篇文章将教您如何实现自动化机器学习。Airbnb的数据科学项目涉及大量机器学习,众所周知机器学习过程有很多重复性任务,包括(但不限于)以下内容:探索性数据分析:可视化数据是机器学习建模前的关键步骤。将这些任务自动化可以为数据科学家节省大量时间,例如根据要预测的目标变量自动绘制所有变量(例如散点图ScatterPlot),以及自动计算汇总统计量(例如均值和标准差)。特征转换:关于如何编码分类变量、填充缺失值、编码序列和文本,有多种特征转换方法可供选择,但其中许多方法已经可以在许多问题的非常可靠的情况下标准化应用。模型参数的算法选择和调整:算法丰富,模型参数方向混乱,往往让人眼花缭乱。但实际上,实现这些任务的过程自动化会更好。模型诊断:自动生成学习曲线、部分依赖图、特征重要性图、ROC曲线等模型来诊断图,将非常实用。AML时代已经来临,越来越多的社区正在创建工具来自动化这些和其他机器学习工作流程。这些过程包含类范式概念,通常被称为自动化机器学习(以下简称AML)。在ICML会议上组织AML研讨会的专家在他们的网站上定义了AML的合理范围,其中包括上述所有重复性任务的自动化。反洗钱类别的定义似乎雄心勃勃,但反洗钱在实践中真的有效吗?答案取决于您如何使用它。AML很难完全取代数据科学家,因此我们需要特定领域的专业知识加上人类的判断才能正确配置大多数机器学习问题。我们还发现AML工具在使用表格数据集的回归和分类问题上效果最好。AML领域正在迅速发展。总的来说,可以相信AML在某些情况下可以成倍地提高数据科学家的生产力。在Airbnb,AML形成了以下成果:(1)树立标杆,客观展示“挑战者”模型:AML可以使用与现有模型相同的训练数据集,快速展示大量“挑战者”模型。这可以帮助数据科学家选择最佳模型。(2)诊断与探索检测数据泄漏问题:由于AML可以快速自动构建候选模型,我们可以在建模生命周期的早期检测数据泄漏。诊断:如前所述,AML可以自动生成诊断标准,包括学习曲线、部分依赖图、特征值重要性图等。(3)自动化AML在一定程度上可以自动完成探索性数据分析、数据预处理、超参数调优、模型选择以及将模型用于生产等任务。反洗钱工具市场上有许多商业或开源反洗钱工具。我们最喜欢的AML平台之一是DataRobot。这是一个基于许多知名开源算法的商业平台。DataRobot被用于Airbnb的许多正在进行的项目中。Airbnb还在开发中试验了以下开源AML工具:TPOTAuto-SklearnAuto-WekaMachine-JS案例研究:客户生命周期价值模型的竞争基准值))模型。这些模型可以帮助Airbnb根据预期回报精细地校准营销支出(细化到个人用户级别)。对于租户,LTV模型被定义为一个标准的回归问题,目标变量是每个租户在一定时间跨度内的消费情况。该模型的特点是:来自Airbnb的网络和移动应用程序的人口统计数据、地理位置和活动信息。该模型中有许多移动部分,它们考虑了供需弹性、预期成本和其他变量。建模过程中很重要的一点是数据科学家需要客观地选择算法。例如,一个复杂的模型可能比一个更简单的模型产生小的增量收益,这种权衡需要仔细考虑。再比如,在构建LTV模型的过程中,我们倾向于使用eXtremegradientboostedtrees(XGBoost),这是基于以下原因:该算法在解决类似问题时往往有很好的效果。在临时交叉验证中,XGBoost的结果最好。时间有限。该项目需要花费大量时间进行特征工程(featureengineering)、数据清洗以及将模型应用于生产系统。这几乎没有时间用于算法选择和参数调整。当Airbnb意识到这些偏差时,他们通过AML平台(datarobot)对原始训练数据进行了健全性检查,以对模型的错误进行基准测试。下图列出了这些基准。该图显示了各种模型的时间交叉验证集的均方根误差(RMSE)分布。y轴对应于不同的“蓝图”,它们是算法和特征工程步骤的组合。虽然我们不会讨论每个蓝图的细节,但下图为读者提供了一个概览,以便读者了解现代AML系统能够完成的算法选择任务的范围。DataRobot做的Blueprintbenchmark用的是AML,很快可以得出另一个观点:线性模型对于这个问题很有竞争力。事实上,AML平台可以测试很多特征工程步骤,也可以进行更严格的超参数调整,而我们通常没有时间手动探索这些功能。此外,这些发现导致Airbnb改变了原有的算法,将模型误差降低了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[本文是一个专栏机构大数据文摘原译微信公众号《大数据文摘(id:BigDataDigest)》】点此阅读更多本作者好文