如何添加新的 class 以恢复 vowpal wabbit 一对一逻辑 classifier?
How to add a new class to resumed vowpal wabbit one-against-all logistic classifier?
我有一个使用一对多 (oaa) 方法的逻辑回归分类器。虽然我目前正在训练分类器识别 15 类,但将来我想向它提供来自 N 个额外 类 的示例,我希望我的分类器能够学习这些示例。但是,使用 --save_resume
选项的 vowpal wabbit 命令不允许我使用 --oaa
来指定 类.
的新总数
我使用 oaa 选项,因为当我进行预测时,我想 select 预测的前 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
和 select 类 的前 3 个最高概率为真。
目前,在使用--save_resume
进行多步训练时,无法增加--oaa N
中类的数量N。在内部,该模型使用 N 来抵消权重向量,因此您需要破解模型的加载。
您可以尝试从一开始就将 N 设置得足够高,并在第一步中使用 类 1-15,然后在后面的步骤中添加更高数字的 类。由于在线训练的性质,后面的例子对模型的影响更大。
或者,使用 csoaa_ldf,您可以即时指定 类 的数量:不同的 类 可能 可用 每个示例.
我有一个使用一对多 (oaa) 方法的逻辑回归分类器。虽然我目前正在训练分类器识别 15 类,但将来我想向它提供来自 N 个额外 类 的示例,我希望我的分类器能够学习这些示例。但是,使用 --save_resume
选项的 vowpal wabbit 命令不允许我使用 --oaa
来指定 类.
我使用 oaa 选项,因为当我进行预测时,我想 select 预测的前 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
和 select 类 的前 3 个最高概率为真。
目前,在使用--save_resume
进行多步训练时,无法增加--oaa N
中类的数量N。在内部,该模型使用 N 来抵消权重向量,因此您需要破解模型的加载。
您可以尝试从一开始就将 N 设置得足够高,并在第一步中使用 类 1-15,然后在后面的步骤中添加更高数字的 类。由于在线训练的性质,后面的例子对模型的影响更大。
或者,使用 csoaa_ldf,您可以即时指定 类 的数量:不同的 类 可能 可用 每个示例.