HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

我们分析了 Booking 的 150 个成功的机器学习模型,总结出六条宝贵经验

  • 2019-10-27
  • 本文字数:4154 字

    阅读完需:约 14 分钟

我们分析了Booking的150个成功的机器学习模型,总结出六条宝贵经验

Booking.com 是全球范围内最大的在线旅行代理,数百万的客人在这里寻找旅行住处,数百万的住宿供应商在这里提供他们的酒店、公寓、宾馆等等。过去几年,Booking.com 一直使用机器学习来改善客户体验和公司业务。目前,大多数机器学习的学术研究都集中算法或数学方面,但在商业利益至上的工业环境中,关于机器学习如何对企业产生有意义的影响的研究并不多。Booking.com 近日在 KDD 2019 发表了一篇论文“150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com”,对 Booking.com 内部数十个团队开发的 150 个面向客户的机器学习应用进行了分析,并总结了团队发现的挑战、解决挑战的方法、在这一过程中获得的经验教训和一些通用建议。本文是 AI 前线第 97 篇论文导读,我们将从与大家分享 Booking.com 在应用机器学习模型的过程中总结出的宝贵经验。


Booking.com 的这篇论文是关于机器学习对商业产品的影响的首个大规模研究,覆盖了机器学习项目所有阶段的经验教训,并为解决每个项目阶段的挑战总结了一系列技巧。


尽管论文标题提到了六个经验教训,论文主体却没有明确地列出来,我们通过论文结构总结出了以下几项:


  • 引入机器学习模型的项目带来了强大的业务价值

  • 模型性能与业务性能并不同

  • 清楚你要解决的问题

  • 预测服务延迟问题

  • 获得模型质量的早期反馈

  • 使用随机对照试验测试模型的业务影响


我们发现带来真正的业务影响是非常困难的,而且很难把建模工作和业务影响之间的联系进行分离并理解……我们的主要结论是,与其他一个迭代的、假设驱动的过程,与其他学科相结合,是构建 150 个成功的机器学习产品的基础。


这段话并不是说投资机器学习不值得,相反,一个公司在面向用户的环境中设计、构建和部署成功的机器学习模型的能力,是其竞争力的基础,与 DevOps 报告中提到的高绩效公司的所有其他能力一样重要。

背景介绍

Booking.com 平台包含多个跨学科团队研制的不同产品,有大型新应用 Booking Assistant,也有搜索结果的网络页面。各个团队有各自的目标,使用不同的业务标准来量化产品交付的价值、测试假设——学习过程的核心。Booking.com 平台面临以下几个独特的挑战:


高风险:在旅游住宿推荐中,错误推荐的代价较高。如果客户到达住宿地点,却发现酒店不符合期望,客户会对平台产生失望,甚至不再使用该平台。


无限查询:用户在搜索住宿时,一般仅仅给出目的地信息。在这种几乎为零查询的情况下,为客户提供满意的预订和住宿体验是 Booking.com 平台的主要挑战之一。


复杂条目:预订住宿需要用户决定诸如目的地、日期、住宿类型、房间数量、房间类型、退款政策等多个方面的信息。并非所有可能的组合都存在,所以需要平台引导用户才能找到最佳组合。


供应受限:住宿信息是有限且动态变化的。它与价格的互动直接影响到客人的偏好和住宿供应商的行为。在设计预订体验时,这一方面不容忽视。


持续冷启动:大多数用户每年只旅行一两次,所以当他们回到网站时,他们的偏好可能已经发生了显著的变化;此外,新的住宿和新的住宿类型每天都在增加,它们缺乏评论和介绍内容,很难让用户注意到它们。


内容超载:住宿有非常丰富的内容,例如描述、图片、评论和评分。目的地本身也有丰富的内容,包括游客创作的图片,免费的文字评论,游客的评价和指南。如何向用户展示这些丰富的内容,成功地利用这些内容是平台的另一个关键挑战。


在过去的几年中,Booking.com 应用机器学习技术来解决这些问题和其他问题。但是带来真正的业务影响是非常困难的,而且很难分离和理解建模工作和观察到的影响之间的联系。在这项工作中,研究人员分析了 150 个成功的机器学习模型,总结了在这一过程中获得的经验和教训。

经验教训总结

作者将目前部署在平台的模型按照它们对消费者的影响方式分为不同族。现在大约有 150 种模型已经在 Booking 得到应用,机器学习已经影响了 Booking.com 用户体验的许多方面。一些模型很特别,关注特定场景中的特定用例(例如,针对信息中的某一个点定制的推荐),其他模型充当语义层,对多数情况中常用的概念进行建模。例如,一个预测用户对于目的地的灵活性的模型。


booking.com 上部署的模型可以分为六大类:


旅行者偏好模型:该类模型作为语义层,对用户偏好(例如,灵活性程度)做出广泛的预测。


旅行者场景模型:也是语义模型,用于预测旅行发生的场景(例如,与家人、朋友、商务等)。


项目空间导航模型:跟踪用户浏览的内容,根据用户的历史记录和住宿供应的库存进行推荐。


用户界面优化模型:优化了用户界面元素,如背景图像、字体大小、按钮等。 “我们发现很难有一个特定的值是全局最优的,所以我们的模型考虑了场景和用户信息来决定最佳的用户界面。”


内容管理模型:管理人工生成的内容,如评论,以决定要显示哪些内容


内容增强模型:计算有关旅行元素的附加信息,例如哪些选项当前价值很高,或者某个地区的价格的变化趋势如何。


图1:机器学习应用示例


图 1:机器学习应用示例

经验 1:引入机器学习模型的项目将带来巨大的商业价值

所有这一系列的模型族都为 Booking.com 带来了商业价值。此外,与已经部署但没有使用机器学习的其他成功项目相比,基于机器学习的项目往往会带来更高的回报。


图2:模型族业务影响与中位数的相对值


图 2:模型族业务影响与中位数的相对值


模型部署之后,并不是直接带来商业利益,而是往往成为进一步产品开发的基础。下图显示了一系列部署的影响,每个部署都建立在原来的基础上,并进一步提升了业务结果。


图3:在推荐产品的一系列实验结果。每个实验都测试了一个新版产品。条形长度代表新版产品与第一版产品的影响的相对值。


图 3:在推荐产品的一系列实验结果。每个实验都测试了一个新版产品。条形长度代表新版产品与第一版产品的影响的相对值。

经验 2:模型性能表现并不等同于商业价值

量化模型质量的一种常用方法是估计或预测模型在处理未见数据时的性能。Booking.com 主要关注模型给客户和业务带来的价值。平台通过随机对照试验(RCT)来衡量模型对业务指标(如转换率、客户服务票证或取消率)的影响,从而评估模型交付的价值。


一个有趣的发现是,提高模型的性能并不一定会转化为[业务]价值的增益。


图4:业务指标中的相对差异VS基线模型和新模型之间的相对性能差异。


图 4:业务指标中的相对差异 VS 基线模型和新模型之间的相对性能差异。


出现这一情况的原因有很多:


  • 价值性能饱和:在某些时候价值-模型增益曲线会饱和,不能无限的从模型性能增益中得到业务价值。

  • 分割饱和:当测试新模型时,需要用与模型不匹配的用户数据,随着模型性能的提升,实验组的人越来越少,新旧模型基本一致,也就无法提升业务价值。

  • 恐怖谷效应:随着模型越来越好,它对用户也越来越了解,甚至能预测出用户将要做的事情。这让某些用户觉得很不安,反而对业务价值带来了负面影响。

  • 代理指标过度优化:随着模型优化,某些常用的替代指标(如点击率)已经无法转换为所需的业务指标,而模型依然针对该目标进行优化,则对业务指标没有任何助益。


图5:恐怖谷:人们对正确推荐没有正面反响。


图 5:恐怖谷:人们对正确推荐没有正面反响。

经验 3:明确你要解决的问题

在开始构建模型之前,最好花时间仔细地定义你试图解决的问题。


问题构建过程将一个业务案例或概念作为输入,然后得到一个定义良好的建模问题(通常是一个有监督的机器学习问题),这样得到的好的解决方案能有效地对给定的业务案例或概念进行建模。


一些最强大的改进不是在给定的设置中改进模型,而是更改设置本身。例如,将基于 click 数据的用户偏好模型更改为基于客人评论的自然语言处理问题。


总的来说,我们发现,通常最好的问题并不是立即浮现在脑海中的问题,而且改变设置是释放价值的一个非常有效的方法。

经验 4:预测服务延迟很重要

在信息检索和推荐系统中,高延迟会对用户行为产生负面影响。在一个引入合成延迟的实验中,Booking.com 发现延迟每增加 30%,将损失 0.5%的转换率。


图6:延迟对转换率的影响


图 6:延迟对转换率的影响


图中横坐标为实验组和对照组的观测延迟,纵坐标为转换率的相对差异。


这一项与机器学习模型尤其相关,因为它们在进行预测时需要大量的计算资源。即使是简单的模型也有可能引入相关的延迟。


为了减少模型带来的延迟,Booking.com 采用了以下几个技术:水平扩展分布模型副本、确保能尽可能响应多个请求、内部开发的自定义的线性预测引擎、使用参数较少的模型、批处理,以及预计算和缓存。

经验 5:尽早获得关于模型质量的反馈

当模型响应请求时,监视其输出的质量是至关重要的,但这至少带来了两个挑战:


  • 不完整的反馈:由于观察真实标签较难,所以反馈往往不完整。

  • 延迟的反馈:例如在预订时对用户是否会评论进行预测,在行程完成之前无法进行评估。


一种策略:Booking.com 已经成功地在这种情况下部署二进制分类器,用来查看由模型生成的响应的分布。“具有一个清晰稳定点的平滑双峰分布标志着模型能成功区分两个类”其他形状(见下图)可以表示正在挣扎的模型。


图7:响应分布示意图


图 7:响应分布示意图


…响应分布分析已被证明是一个非常有用的工具,它允许我们很早地检测模型中的缺陷。

经验 6:通过随机对照试验测试模型对业务的影响

这篇论文所研究的机器学习的大多数成功案例都是通过复杂的实验设计实现的,这些实验设计既可以指导开发过程,还可以检测其影响。


这篇论文就如何在不同环境下进行实验提出了建议:


选择性触发:在标准的随机对照试验中,被试者分为对照组和实验组,实验组中的个体要接受对照组所没有的某种特殊待遇。当并非所有测试者都能产生变化时(例如,他们没有模型所需要的特征),则从合格的子集中创建对照组和实验组。


图8:选择性触发的实验设计


图 8:选择性触发的实验设计


模型输出依赖触发:添加一个实验组,对照组依然不进行特殊处理,两个实验组 T1 和 T2 都调用模型,并检查出发标准,但是只有 T1 的用户在符合触发标准时(模型输出对其有影响)进行变化,而 T2 的用户无论模型如何输出,都不进行变化。


图9:模型输出依赖触发和控制对性能影响的实验设计


图 9:模型输出依赖触发和控制对性能影响的实验设计


对比模型:当比较模型时,当两个模型不一致为触发条件,即 T1 和 T2 都需要模型输出。将调用当前模型的控制组作为基线(假设正在针对候选改进测试当前模型),T1 和 T2 调用相同的模型,移除由模型表现引起的差异,分离出目标度量上模型输出之间差异的因果影响。


图10:对比模型实验设计


图 10:对比模型实验设计

结语

假设驱动的迭代和跨学科整合是 Booking.com 用机器学习创造价值的核心。希望这项工作能为其他机器学习实践者提供指导,并对这一主题进行深入研究。


论文原文:


150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com


参考文章:


https://blog.acolyer.org/2019/10/07/150-successful-machine-learning-models/


2019-10-27 14:003914

评论

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

HSM加密机集群&监控方案

白粥

监控 集群 加密机

linuxc获取文件内容

linux大本营

Linux

强强联手:机器学习与运筹学

鼎道智联

算法

如何系统地学习Spring Boot?

博文视点Broadview

大连理工大学OpenHarmony技术俱乐部正式揭牌成立

Geek_2d6073

一个解决tcp粘包问题的c++代码

linux大本营

TCP 网络协议 C++ TCP 粘包

c语言把8个char类型的值(char中存放的是16进制值)转换成一个int类型代码

linux大本营

C语言 char int

软件测试/测试开发丨Linux 常用高频命令

测试人

Linux 软件测试 自动化测试 测试开发

招商基金数字化转型下的研发管理|标杆案例

万事ONES

Springboot之如何纯文本转成.csv格式文件?|超级详细,建议收藏

bug菌

Spring Boot 2 spring-boot 三周年连更

c++生成pdf

linux大本营

C++ libHaru

PVP2多屏幕演示投放软件:PVP2 ProVideoPlayer2 中文版

真大的脸盆

Mac Mac 软件 视频播放器 视频播放

5.10版本的linux内核pgtable_init函数解析

linux大本营

Linux内核

在 Kubernetes 中实施零信任的七条准则

NGINX开源社区

nginx Kubernetes

用友自主研发企业商用版TimensionDB时序数据库重磅发布!

用友BIP

数据库 用友iuap 用友技术大会 升级企业数智化底座

sougou的workflow的10个技术点

linux大本营

workflow 异步框架 C++

awk常量和标识符

linux大本营

脚本 awk

洞见数字时代的创新原力,数云原力大会暨 2023TECH 第五届数字中国技术年会开幕

通明湖

Wallys/QSDK/IPQ4019 and IPQ4029 chipsets support 20 km remote transmission

Cindy-wallys

IPQ4019 ipq4029

c++实现一个tcp高性能网络服务器

linux大本营

TCP 多线程 异步IO epoll 高性能服务器

DataX助力Oracle数据库迁移

白粥

数据迁移 DataX

攻防大牛在身边,2023首届阿里云CTF 大赛冠军揭晓

Lily

升级企业数智化底座是数智化2.0阶段的“最优解”

用友BIP

用友iuap 用友技术大会 数智化底座 数智化2.0阶段

设计模式天花板,详解23种设计模式+7大设计原则

小小怪下士

Java 程序员 设计模式

用c++写一段快速排序算法

linux大本营

排序算法 数据结构与算法 C++

在毫秒量级上做到“更快”!DataTester助力飞书提升页面秒开率

字节跳动数据平台

大数据 AB testing实战 用户体验 企业号 4 月 PK 榜 秒开率

5.10版本的linux内核setup_kmalloc_cache_index_table函数解析

linux大本营

内存管理 内存泄漏 Linux内核

用AI赋能基础教育,小度人工智能青竹公开课现已走进6所知名小学

科技热闻

5.10版本的linux内核create_boot_cache函数解析

linux大本营

Linux内核

从“捐赠”到“接受捐赠”,这背后是openEuler的两次蜕变

Geek_2d6073

sqlserver锁表产生的原因

linux大本营

数据库· SQL sever 表锁

我们分析了Booking的150个成功的机器学习模型,总结出六条宝贵经验_AI&大模型_Maglish_InfoQ精选文章