4

サポート ベクター マシンで RBF カーネルを使用する場合、C と γ の 2 つのパラメーターがあります。1 つの問題に対してどの C と γ が最適かは事前にわかりません。したがって、何らかのモデル選択 (パラメータ検索) を行う必要があります。目標は、適切な (C;γ) を識別して、分類器が未知のデータ (つまり、テスト データ) を正確に予測できるようにすることです。

weka.classifiers.meta.GridSearchパラメータのペアを調整するためのメタ分類子です。ただし、完了するまでに時間がかかるようです (データセットがかなり大きい場合)。このタスクを完了するのに必要な時間を短縮するために何をすることをお勧めしますか?

A User's Guide to Support Vector Machines によると:

C : ソフトマージン定数。C の値を小さくすると、境界に近い点を無視できるようになり、マージンが増加します。

γ> 0 は Gaussian の幅を制御するパラメータです

4

1 に答える 1

3

Hastie らのSVMPathは、C の正則化パス全体を調査し、単一の SVM モデルをトレーニングするのとほぼ同じ計算コストしか必要としません。彼らの論文から:

R 関数 SvmPath は、混合例 (n+ = n− = 100、ラジアル カーネル、γ = 1) の 632 ステップすべてを、ペンティアム 4、2Ghz Linux マシンで 1.44(0.02) 秒で計算します。svm 関数 (R ライブラリ e1071 の最適化されたコード libsvm を使用) は、パスに沿った 10 点で解を計算するのに 9.28(0.06) 秒かかります。したがって、パス全体を計算するには、libsvm で典型的な単一の解を計算するのにかかる時間よりも約 50% 長い時間がかかります。

CRAN からダウンロードできる R でのアルゴリズムの GPL 実装をリリースしまし

SVMPath を使用すると、与えられた γ の適切な C 値をすばやく見つけることができます。ただし、異なる γ 値に対して個別のトレーニングを実行する必要があります。しかし、これはC:γ 値のペアごとに個別に実行するよりもはるかに高速です。

于 2010-03-10T22:05:50.140 に答える