如何添加一个新类来恢复vowpal wabbit一对一物流分类器?

时间:2016-08-24 16:42:29

标签: vowpalwabbit

我有一个使用one-against-all(oaa)方法的工作逻辑回归分类器。虽然我目前正在训练分类器以识别15个课程,但是我希望将来能够从N个其他课程中提供示例,我希望我的分类器能够学习。但是,使用--save_resume选项的vowpal wabbit命令不允许我使用--oaa指定新的类总数。

我使用oaa选项,因为当我进行预测时,我想选择前3个预测类,这些类具有最高的真实概率,我使用--probabilities选项确定。

在使用--oaa--save_resume时,如何向分类器教授其他课程?

我最初使用以下方式训练我的分类器:

vw --oaa=15 --loss_function=logistic --save_resume -c --passes 10 -d /tmp/train.vw -f /tmp/model.vw

我使用以下方式恢复训练:

vw --loss_function=logistic --save_resume -c --passes 10 -d /tmp/train.vw -i /tmp/model.vw -f /tmp/model.v

我使用以下方式进行预测:

vw -t --probabilities --loss_function=logistic -d /tmp/test.vw -i /tmp/model.vw -p /tmp/predict.vw

然后我检查predict.vw并选择前3个最高概率为真的类。

1 个答案:

答案 0 :(得分:1)

目前,使用--oaa N进行多个步骤的培训时,无法在--save_resume中增加班级数N.在内部,模型使用N来抵消权重向量,因此您需要破解模型的加载。

您可以尝试从一开始就将N设置得足够高,并在第一步中使用类1-15,并在后面的步骤中添加具有更高数字的类。由于在线培训的性质,后面的例子更多地影响了模型。

或者,使用csoaa_ldf,您可以动态指定类的数量:每个示例的不同类可能可用