Vowpal Wabbit多类线性分类

时间:2016-05-24 04:49:47

标签: machine-learning classification vowpalwabbit

是否可以使用Vowpal Wabbit Library训练多类(多项式)线性分类模型?

我尝试使用--oa与--loss_function平方,但似乎--oa的默认丢失函数是逻辑的。

我使用rcv1.multiclass作为输入。

一种解决方案:

我可以创建多个版本的数据,如下所示:

版本i:使除I类之外的所有标签为零

然后我可以为每个版本的数据训练多个二进制分类。最后,我可以将测试数据提供给所有分类器并应用argmax。有没有更好的(自动化)解决方案?

1 个答案:

答案 0 :(得分:2)

当您使用vw --oaa N时,您实际上会获得线性 N级分类器。要获得非线性分类器,您需要添加二次/多项式要素(-q--cubic--interactions)或内核(--ksvm)或隐藏层({ {1}})或任何其他非线性缩减(--nn--lrq--stage_poly)。

损失函数的选择不会影响分类器是否为线性。默认值为--autolink。对于分类,我建议使用--loss_function=squared(如果您想预测每个班级的概率,可能会使用--loss_function=logistic)或--probabilities(如果您只关心顶级班级)。

  

然后我可以为每个版本的数据训练多个二进制分类。最后,我可以将测试数据提供给所有分类器并应用argmax。有没有更好的(自动化)解决方案?

是的,这正是--loss_function=hinge所做的(但效率更高)。