首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用沃帕尔·瓦布比特的上下文强盗来学习排名?

如何使用沃帕尔·瓦布比特的上下文强盗来学习排名?
EN

Stack Overflow用户
提问于 2020-08-28 14:32:07
回答 2查看 629关注 0票数 1

我正在使用沃帕尔·瓦布比特的上下文匪徒对给定上下文的各种行为进行排序。

代码语言:javascript
复制
Train Data:
"1:10:0.1 | 123"
"2:9:0.1 | 123"
"3:8:0.1 | 123"
"4:7:0.1 | 123"
"5:6:0.1 | 123"
"6:5:0.1 | 123"
"7:4:0.1 | 123"

Test Data:
" | 123"

现在,预期的行动排名应该是(从最小损失到最大损失):

代码语言:javascript
复制
7 6 5 4 3 2 1

使用--cb只返回最优的操作:

代码语言:javascript
复制
7

使用--cb_explore将返回要探索的操作的pdf格式,但它似乎无助于排名。

代码语言:javascript
复制
[0.0071428571827709675, 0.0071428571827709675, 0.0071428571827709675, 0.0071428571827709675, 0.0071428571827709675, 0.0071428571827709675, 0.9571428298950195]

还有其他方法来利用大众的上下文强盗来排名吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-03 12:55:40

奥尔加对回购的回应:wabbit/issues/2555

-cb不做任何探索,只是在输入的情况下对模型进行培训,因此输出将是模型(到目前为止已经训练过的)预测的结果。 -cb_探查包括使用epsilon的勘探--如果没有指定其他内容,默认情况下是贪婪的。您可以在这里查看所有可用的勘探方法。 cb_探索者的输出是勘探策略给出的PMF (更多信息见这里)。 epsilon贪心者将在概率e的情况下,从均匀分布(探索)中随机选择一种行为,而在概率1-e epsilon贪婪的情况下,将使用迄今经过训练的模型来预测最佳行动(开发)。 因此,输出将是相对于操作的pmf (prob )。1-e或e表示所选动作),则剩余的概率将在其余操作之间平分。因此,cb_explore不会为您提供排名。 排名的一个选择是使用建行。然后你得到一个排名,可以提供对任何插槽的反馈,但它在计算上更昂贵。建行为每个时隙运行CB,但其效果是排名,因为每个时隙都是从整个操作池中提取的。

我的后续行动是:

如果计算限制允许的话,我认为建行是一个很好的选择。我只想补充一点,如果您做了cb_explore或cb_explore_adf,那么最终的PMF应该按照分数进行排序,所以它是排序的。然而,值得验证的是排序实际上是按分数排序的(

票数 2
EN

Stack Overflow用户

发布于 2022-01-04 18:38:41

我不会使用PMF来对这些行为进行排序,因为PMF并不对应于给定上下文的每个行为的预期回报(与传统的多武器强盗设置不同,例如使用Thompson抽样,在实际情况下)。

做您想做的事情的一个好方法是从操作集中取样多个操作(不需要替换),这就是CCB子模块所做的(Jack的答案)。

我编写了一个教程代码,用于如何实现这个(通过模拟奖励),这可能有助于分析PMF的更新以及模型如何处理指定的奖励分布和操作集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63635815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档