2016-08-24 47 views
0

我有一個工作邏輯迴歸分類器使用one-against-all(oaa)方法。儘管目前我正在訓練分類器來識別15個類,但我希望將來可以從N個額外的類中提供示例,以便讓我的分類器學習。但是,使用--save_resume選項的vowpal wabbit命令不允許我使用--oaa來指定新的總類數。如何添加一個新的類來恢復vowpal wabbit一對一的邏輯分類器?

我使用oaa選項,因爲當我做出預測時,我想選擇具有最高可能性爲真的前3個預測類,我使用--probabilities選項來確定它。

如何在使用--oaa--save_resume時向額定級別教授額外的課程?


我最初使用訓練我的分類:

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

我使用作出預測:

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

我使用恢復訓練

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

然後我檢查predict.vw並選擇前3個最高概率爲真的類。

回答

1

目前,在多步訓練時,不可能增加--oaa N中的班級數N.在內部,模型使用N來抵消權重向量,所以您需要破解模型的加載。

您可以嘗試從頭開始將N設置得足夠高,並在第一步中使用第1-15類,並在後面的步驟中添加具有較高數字的類。由於在線培訓的性質,後面的例子更多地影響了模型。

或者,csoaa_ldf可以指定對飛類的數量:不同的類可能是提供每個實例。

相關問題