Vowpal Wabbit - 如何从测试样本的上下文强盗模型中获得预测概率

时间:2017-01-16 04:17:16

标签: vowpalwabbit

鉴于训练有素的背景强盗模型,我如何在测试样本上检索预测向量?

例如,假设我有一个名为“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%的时间。

有没有办法得到这样的东西?

2 个答案:

答案 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 

你会得到你想要的答案。