首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vowpal Wabbit上下文Bandit培训数据格式的混淆

Vowpal Wabbit上下文Bandit培训数据格式的混淆
EN

Stack Overflow用户
提问于 2021-04-08 03:17:05
回答 1查看 546关注 0票数 1

我是新的沃帕尔瓦布比特,并正在工作的多臂强盗模型,以推荐不同的CTAs注册弹出。我已经完成了主站点上的演练,但对于--cb_explore_adf版本的培训数据应该是什么样子有点困惑。到目前为止,对于常规版本(设置了动作总数),数据如下所示:

代码语言:javascript
复制
action:cost:probability | features

这是有意义的,但是当您进入adf版本时,它变成:

代码语言:javascript
复制
| a:1 b:0.5
0:0.1:0.75 | a:0.5 b:1 c:2
 
shared | s_1 s_2
0:1.0:0.5 | a:1 b:1 c:1
| a:0.5 b:2 c:1

我已经看了很多次文档了,我仍然不明白它是如何工作的。

我认为,一个类似于我的数据的例子,说明它将如何适应上述版本将是很棒的。

我的用例示例:2动作:1和2 3功能:语言,国家,最喜爱的运动

我看过的一些文档:

  1. https://vowpalwabbit.org/tutorials/cb_simulation.html

编辑

在玩这个游戏时,我用这个输入创建了一个train.txt:

代码语言:javascript
复制
shared |user language=en nation=CAN
|action arm=10-OC-ValueProp10 
0:0:0.5 |action arm=11-OC-ValueProp11 

shared |user language=it nation=ITA
|action arm=10-OC-ValueProp10 
0:0:0.5 |action arm=11-OC-ValueProp11 

shared |user language=it nation=ITA
0:0:0.5 |action arm=10-OC-ValueProp10 
|action arm=11-OC-ValueProp11 

shared |user language=it nation=ITA
0:0:0.5 |action arm=10-OC-ValueProp10 
|action arm=11-OC-ValueProp11 

但当我运行这个:

代码语言:javascript
复制
vw = pyvw.vw("-d full_data.txt --cb_explore_adf -q ua --quiet --epsilon 0.2")
vw.predict("|user language=en nation=USA")

我得到了一个1.0,这是没有道理的。我确信我做错了什么。

EN

回答 1

Stack Overflow用户

发布于 2021-04-08 14:56:28

ADF代表与动作相关的特性。因此,每个事件/示例都由多行组成,第一行是一组可选的共享特性(标记为shared)。

除了共享行之外,每一行都对应于一个动作。

因此,当您向大众提供输入时:

代码语言:javascript
复制
|user language=en nation=USA

您只要求对一个操作进行预测(因为没有共享行),这就是为什么您要返回一个PMF (概率质量函数,或选择每个不同项的概率),即仅为1.0。这说明选择单个操作的概率应为1.0。但是,阅读这些特性时,似乎实际上是在传递应该共享的特性。

对于每个预测,您需要为每个操作提供所有的功能,因为实际上,操作本身被定义为其功能集(ADF)。

您的预测数据应该类似于(注意标签被省略了):

代码语言:javascript
复制
shared |user language=it nation=ITA
|action arm=10-OC-ValueProp10 
|action arm=11-OC-ValueProp11 

然后,大众汽车会发出类似于0.9,0.1的东西。然后,您应该从这个PMF中取样(以便进行探索),以确定哪个是所选的操作。

训练数据

培训数据的格式有点混乱,因为同一格式是从非adf重用的。标签的action部分实际上是未使用的,因为标签必须在行上,作为它要执行的操作。

代码语言:javascript
复制
shared |user language=en nation=CAN
|action arm=10-OC-ValueProp10 
0:0:0.5 |action arm=11-OC-ValueProp11 

在上面的例子中,它说这里的行动2的成本是0,当它被选中时,选择的概率是0.5 (PMF中的值)。

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

https://stackoverflow.com/questions/66996884

复制
相关文章

相似问题

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