给定一个经过训练的上下文bandit模型,我如何检索测试样本上的预测向量?
例如,假设我有一个名为"train.dat“的训练集,其中包含如下格式的行
1:-1:0.3 | a b c # <action:cost:probability | features>
2:2:0.3 | a d d
3:-1:0.3 | a b e
....我在命令下运行。
vw -d train.dat --cb 30 -f cb.model --save_resume这将生成一个文件'cb.model‘。现在,假设我有一个测试数据集,如下所示
| a d d
| a b e我希望看到下面的概率
0.2 0.7 0.1对这些概率的解释是,动作1应该在20%的时间内被选中,动作2- 70%,动作3- 10%。
有没有办法弄到这样的东西?
发布于 2018-02-05 10:35:53
当您使用"--cb K“时,预测是基于argmax策略的最优arm/动作,这是一个静态策略。
当使用"--cb_explore K“时,预测输出包含每个arm/动作的概率。根据您选择的策略,计算概率的方式会有所不同。
发布于 2018-03-26 00:14:56
如果您将这些行发送到运行您的模型的守护进程,您就会得到这样的结果。您发送一个上下文,而回复是允许的操作数量上的概率分布,大概包含模型提供的“建议”。
假设你有3个动作,就像你的例子一样。启动上下文盗贼守护程序:
vowpalwabbit/vw -d train.dat --cb_explore 3 -t --daemon --quiet --port 26542然后发送一个上下文给它:
| a d d 你会得到你想要的回复。
https://stackoverflow.com/questions/41669363
复制相似问题