我在大众使用上下文强盗来优化基于上下文的行动选择。我有4种推荐产品的策略 - A, B, C, D
。
在请求时,我的服务通过发送以下查询询问VW要推荐的操作:
1 2 3 4 | ftr1 ftr2 ftr3...
此处,1,2,3,4是策略A,B,C,D的相应actionIds。
VW以守护进程模式运行
vw -d --quiet --cb_explore 4 --port 26542
所以大众正在运行epsilon贪婪政策。
我不知道如何向大众提供培训示例。现在,我正在做以下事情。
在采取每个动作后,我生成一个负面示例(带正成本)并将以下反面示例发送给大众。
3:1:p | context...
这里,3是选择的actionId,p
是选择它的概率(由VW返回),1是为推荐提供的成本。
当我收到点击时,我将以下正面示例(负成本)发送给大众。
3:-1:p | context...
同样,3是选择的actionId,p
是它的概率。 -1是观察点击的成本。
关于此设置,我有以下问题。
我是否需要向大众发送负面例子?或者只有正面的例子才足够?指定选择概率会使发送所有负面例子变得多余吗?既然有更多的建议而不是点击,那么发送所有负面例子都会压倒大众汽车的模型吗?
目前,成本(1和-1)没有任何特定逻辑。如何根据经验确定?