5

ニュース記事の分類にSVMを使用しようとしています。

機能(ドキュメントにある固有の単語)を行として含むテーブルを作成しました。これらの機能を使用して重みベクトルマッピングを作成しました。つまり、記事に特徴ベクトルテーブルの一部である単語が含まれている場合、その場所は1またはとしてマークされます0

例:-生成されたトレーニングサンプル...

1 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:1 10:1 11:1 12:1 13:1 14:1 15:1 16:1 17 :1 18:1 19:1 20:1 21:1 22:1 23:1 24:1 25:1 26:1 27:1 28:1 29:1 30:1

これは最初のドキュメントであるため、すべての機能が提供されています。

クラスラベルとして1、を使用しています。0

分類にsvm.Netを使用しています。

トレーニングデータとして手動で分類された重みベクトルを300指定しました。生成されたモデルは、すべてのベクトルをサポートベクターとして使用していますが、これは確かに過剰適合です。

私の総特徴unique words/row count特徴ベクトルDBテーブル内)は7610です。

理由は何でしょうか?

このため、私のプロジェクトはかなり悪い状態になっています。利用可能なすべての記事をポジティブな記事として分類しています。

LibSVMバイナリ分類では、クラスラベルに制限はありますか

との代わりに、0を使用しています。問題ありますか?1-1+1

4

3 に答える 3

3

ある種のパラメータ検索を行う必要があります。また、クラスのバランスが取れていない場合、分類器は多くのことを行わなくても人為的に高い精度を得る可能性があります。このガイドは、基本的で実用的なことを教えるのが得意です。おそらくそれを読む必要があります

于 2011-04-20T18:18:40.320 に答える
1

私は間違いなくあなたのラベルに-1と+1を使用しようとします、それはそれをするための標準的な方法です。

また、どのくらいのデータがありますか?7610次元空間で作業しているため、異なるベクトルが各次元で超平面を「サポート」している、その数のサポートベクターを持つ可能性があります。

その多くの機能があるので、主成分分析のようなある種の特徴選択方法を試してみることをお勧めします。

于 2011-04-22T03:23:40.233 に答える
1

指摘したように、パラメータ検索は、他のことをする前におそらく良い考えです。

また、利用可能なさまざまなカーネルについても調査します。入力データがバイナリであるという事実は、RBFカーネルにとって問題となる可能性があります(または、別のカーネルと比較して、データの使用が最適ではなくなる可能性があります)。ただし、どちらのカーネルがより適しているかはわかりません。線形カーネルを試して、他の提案/アイデアを探してください:)

詳細とおそらくより良い答えについては、stats.stackexchange.comをご覧ください。

于 2011-04-22T15:50:54.810 に答える