【问题标题】:How to add a new class to resumed vowpal wabbit one-against-all logistic classifier?如何向恢复的 vowpal wabbit 一对一逻辑分类器添加新类?
【发布时间】:2016-12-31 21:58:12
【问题描述】:

我有一个使用一对一 (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 个为真概率最高的类。

【问题讨论】:

    标签: vowpalwabbit


    【解决方案1】:

    目前,在使用--save_resume 进行多步训练时,无法增加--oaa N 中的类数 N。在内部,模型使用 N 来抵消权重向量,因此您需要修改模型的加载。

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-21
      • 2015-04-22
      • 2017-10-07
      • 2016-01-05
      • 2014-09-09
      • 2015-12-10
      • 2016-02-08
      • 2015-09-29
      • 2014-08-27
      相关资源
      最近更新 更多