2016-05-24 9 views
1

Vowpal Wabbit Libraryでマルチクラス(多項式)linear分類モデルを訓練することは可能ですか?Vowpal Wabbit Multiclass線形分類

私は、 - loss_function squaredで--oaaを使用しようとしましたが、--oaaのデフォルト損失関数はロジスティックであるようです。

入力としてrcv1.multiclassを使用しています。

一つの解決策:

次のように私は、データの複数のバージョンを作成することができ

:私は

バージョン:makeはすべてのラベルは私が

その後、私はそれぞれのための複数のバイナリ分類を訓練することができますクラスを除いてゼロデータのバージョン。最後に、すべての分類器にテストデータを送り、argmaxを適用することができます。より良い(自動化された)ソリューションはありますか?

答えて

2

vw --oaa Nを使用すると、実際にはの線形 Nクラス分類器が得られます。非線形分類器を取得するには、多項式/二次機能(-q--cubic--interactions)またはカーネル(--ksvm)または隠れ層(​​)、または任意の他の非線形の減少(--lrq--stage_poly--autolink)を追加する必要があります。

分類器が線形であるかどうかにかかわらず、損失関数の選択は影響を与えません。デフォルトは--loss_function=squaredです。分類には、--loss_function=logistic(各クラスの確率を予測したい場合は--probabilities)または--loss_function=hinge(トップクラスのみを気にする場合)を使用することをおすすめします。

次に、各バージョンのデータに対して複数のバイナリ分類を訓練することができます。最後に、すべての分類器にテストデータを送り、argmaxを適用することができます。より良い(自動化された)ソリューションはありますか?

はい、これは正確には--oaaです(ただし、より効率的です)。

関連する問題