在上一篇文章中,我们介绍了不确定性的种类,并且学习了几种方法对其建模。现在我们要讨论如何在应用中使用它们。
在这篇文章中,我们会提出“探索-利用”问题,向大家展示不确定性能如何帮助解决这个问题。我们将重点关注对推荐系统的探索,但是同样的想法可以在很多强化学习应用中使用,例如自动驾驶汽车、机器人等。
问题概述
推荐系统的目标是推荐用户可能感兴趣的内容。在我们的网站,会通过点击量看用户的喜好,我们会展示出一个小部件,其中包含内容推荐,如果用户想看其中的内容,他们会点击。
用户点击某一内容的概率称为点击率(ctr)。如果我们知道所有内容的点击率,那么如何选择内容进行推荐就很容易了:推荐ctr高的内容。
但问题是我们不知道什么是ctr时怎么办。我们有一个模型可以估计它,但很显然结果并不完美,其中的愿意就是推荐系统中蕴含的各种不确定性,我们在上一篇文章中已经总结过了。
探索 vs 利用
假设你走进了一家冰淇淋商店,要从30多种口味中选出一种喜欢的。你也许会选择曾经尝过的最好吃的味道,或者探索一种从未尝过的新口味,也许会发现惊喜。
这两种策略就是“探索”(exploration)和“利用”(exploitation)。我们可以利用已知的有较高ctr值的项目,或者也可以探索其他新的项目。将探索加入到推荐策略中是非常重要的,不然的话,新内容无法得到曝光。
探索方法
你能使用的最简单的“探索-利用”方法就是ϵ-贪婪算法,其中将ϵ作为随机选择某个新内容的概率,剩下的概率用来对其进行利用。
尽管并不是最优法,这种方法非常易于理解。它可以作为其他复杂方法的基本标准,那么如何用更好的方法寻找优质内容呢?
另一种高级的方法称为upper confidence bound(ucb),它利用了不确定性。每条内容都与它所期望的ctr以及ctr周围的置信上限(confidence bound)。置信上限可以表示我们对该项目的ctr不确定的程度有多大。普通的ucb算法通过实证信息记录ctr和置信上限:我们会跟踪记录每个项目的实证ctr,同时通过假设二项式分布计算置信上限。
仍然是上面的冰淇淋店的例子,假如你每次必点的是巧克力口味的冰淇淋,你给它打8分(满分10分)。今天店里推出了新口味,你不知道它是什么味道(缺乏实证信息),这也就意味着它可能是1到10分之间。利用这一置信上限,如果你想尝试探索,那么就可以尝尝,因为这种口味有可能是10分。
这就是ucb的原理——你先选择有最高ucb值的项目,在我们的案例中就是ctr的置信上限较大的项目。随着时间的发展,假设的ctr会逐渐变成真值ctr,置信上限会缩小到0。经过足够的时间,我们就能探寻所有项目了。
另一个流行的方法是汤普森采样法(thompson sampling)。在这种方法下,我们用该项目的ctr完全的估计分布而不是置信上线。对每个项目,我们都会从他的分布中采样一个ctr。
这种方法也许在数量固定的项目上表现得很好,但不幸的是,我们的taboola网站每天都有上千个项目更新,当我们得到了某一个可能的置信上限后,项目可能就离开系统了。
所以我们需要一种方法能计算从未见过的新项目的ctr估值。
假设现在来了一种新的巧克力味冰淇淋,因为你之前非常喜欢冰淇淋,所以你觉得这个应该也不错。在普通的ucb方法中,你仅仅用实验信息是无法推断出这一结论的。
在接下来的文章中,我们会详细解释如何用神经网络估计某一新项目的ctr值,同时如何顾及不确定性的水平。利用不确定性,我们可以应用ucb方法探索新项目。
在线尺度和结果
那么,我们怎样才能知道自己探索的新项目如何呢?这时候就需要用测量方法对探索结果进行评估了。在taboola,我们用的是a/b测试。
回到冰淇淋的问题,我们假设你带了一个朋友,他可以帮你探索新口味,很显然如果你的一位朋友随机挑选了一种口味,他可以确切地知道这种口味好不好,但这却不是最聪明的方法。之后,另一位朋友也点了别人觉得好吃的口味,那么他的尝试是没有意义的。
在taboola网站,我们用以下方法测量探索结果:对每个经过多次展示的项目,以及出现在多个不同语境下的项目,我们认为已经经过了探索阶段。之后,我们会分析那种模型能够生成成功的结果。为了计算,模型必须多次展示该项目。
利用这一方法,模型的输出就是该项目被判断的次数。
利用这一方法,我们可以认为,随机展示项目可以生成最佳结果,没有用ucb方法的模型却也展示出良好的项目,但不会生成好的结果。于是,我们认为我们的ucb模型在探索新项目和选择好项目之间做了平衡,从长远来看这种取舍是值得的。
结语
“探索-利用”问题对很多公司的推荐系统来说都是重要的挑战,我们希望这篇文章能为从业者提供帮助。在接下来的文章中,我们将具体详解估计ctr和不确定性的模型,敬请关注!
高通计划在法国开设一个新的5G研发中心
无人机快递送货服务,效率远超传统地面配送
微软AR手游上架 或许未来几个月内发布正式版
机器视觉检测效果会受哪些因素影响
如何使用万用表测试绝缘电阻?平衡电路电阻的工作原理
如何用神经网络估计某一新项目的CTR值,同时如何顾及不确定性的水平
CS1060扭矩传感器损坏可能会引起的问题
Firefly-RK3128主板编译固件介绍
罗马仕充电宝 2020年改变你的充电体验
ST推出首款LED照明驱动器HVLED805
三星中文版Bixby登陆,Siri迎来强劲对手
pic单片机的八大优势总结
在PA设计中GaN的I-V曲线有多重要?
《工业电子商务白皮书》简介
智慧工厂之化工厂人员定位,化工厂区域视频联动管理
可穿戴设备即将迎来春天吗
中性点接地电阻柜如何安装
整流器稳流和稳压的区别
奋达科技智能音箱业务出彩 成为国内领先的智能音箱ODM龙头
衡量电气绝缘性能的电气强度测试