鉴于训练有素的背景强盗模型,我如何在测试样本上检索预测向量?
例如,假设我有一个名为“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
对这些概率的解释是,应该在20%的时间内采取行动1,采取行动2-70%,采取行动3-10%的时间。
有没有办法得到这样的东西?
答案 0 :(得分:2)
当你使用&#34; - cb K&#34;时,预测是基于argmax政策的最佳手臂/行动,这是一个静态政策。
当使用&#34; - cb_explore K&#34;时,预测输出包含每个手臂/动作的概率。根据您选择的政策,概率的计算方式不同。
答案 1 :(得分:2)
如果您将这些行发送到运行模型的守护程序,那么您就是这样做的。您发送上下文,回复是允许操作数量的概率分布,可能包含模型提供的“推荐”。
假设你有3个动作,就像在你的例子中一样。启动一个上下文强盗守护进程:
vowpalwabbit/vw -d train.dat --cb_explore 3 -t --daemon --quiet --port 26542
然后向其发送上下文:
| a d d
你会得到你想要的答案。