0

25 個のクラスがあり、クラス 0 には他の 24 クラスすべてのネガティブ サンプルがすべて含まれているため、このクラスのサンプル数は他のクラスよりもはるかに多くなります (たとえば、24 クラスのネガティブ サンプルをすべて含める必要があるため、10 倍大きくなります)。他のクラス)

私の質問は、このデータセットをトレーニングしたいときはどうすればよいですか?

libsvm が提供する不均衡なトレーニング オプションを使用する必要ありますか? -w0 1 -w1 ....

このオプションを使用することは必須ですか?

このオプションを使用せずにデータをトレーニングしている場合、クラスを分離し、この正確なモデルをテストしている場合に 99.8% の精度が得られるからです !!! 一部のクラスでは 100% の精度が得られ、他のクラスでは 0.0% が得られます!!!

一部のクラスではサンプルを見逃すことはありませんが、別のクラスでは常に0を返します!!! つまり、それは負のサンプルです!!!

このオプションを使用したいのですが、ルールがわかりません。つまり、このオプションを使用してクラスの値を設定するにはどうすればよいですか?

各クラスのサンプル数は :

クラス 0 -> 3433

クラス 1 -> 745

クラス 2 -> 232

クラス 3 -> 53

. . . クラス 23 -> 975

[0,1] または [-1 1] または (-inf +inf) または何の間でスケーリングする必要がありますか?

まとめ >

1)。データセットに -wi オプションを使用することは必須ですか?

2)。この値をどのように設定すればよいですか

ありがとう

4

3 に答える 3

0

クラスごとに +ve と -ve のデータがあるため、24 個のバイナリ分類器をトレーニングする必要があります。次に、テスト ケースを入れるときに、肯定的な予測を持つ SVM が複数ある場合は、分類子の出力確率が最も高いクラスを選択します。

LIBSVM を使用してマルチクラス SVM をセットアップすると、内部的には複数のバイナリ SVM をトレーニングするだけです。したがって、自分で 24 個の SVM を明示的に設定することは何もおかしなことではありません。

于 2013-06-15T15:12:28.563 に答える