2

私はすでにLIBSVMを使用してSVMを適用しました。ここで、特徴選択のための遺伝的アルゴリズムを実装したいと思います。いくつかの情報のためにグーグルしようとしました

1)このWebサイトを見た:http ://www.scribd.com/doc/31235552/Genetic-Algorithm-Implementation-Using-Matlab

2)MATLABのGAの例:http://www.mathworks.com/help/toolbox/gads/f6691.html

それらについていくつか質問があります

Q1)[x fval] = ga(@fitnessfun、nvars、options)。これはガソルバーを行う機能です。Fitnessfunはどうあるべきですか?ほとんどのgaでは、それは多項式関数です。しかし、SVMの場合、fitnessfunは何でしょうか?

Q2)SVM後のGAの具体例はありますか?

いくつかのフィードバックを聞きたいです。

前もって感謝します。

4

1 に答える 1

1

機能の選択をしたい場合は、逆になっていると思います。SVM のトレーニングの前に、機能選択のために GA を実行する必要があります。フィットネス関数は、選択した機能で新しくトレーニングされた SVM のパフォーマンスになる可能性があります。これは、何を達成したいかによって異なります。このトピックについてあなたが非常に明確だったとは言えません。

2 番目のコメントに答えるには:

多くの部分があり、あなたが使用しているこの ga 関数はわかりませんが、ドキュメントを見ると、このfitnessfun が期待するパラメーターがどこかに示されているはずです。フィットネスを評価したい個人が、この関数の主なパラメーターであると推測しています。機能の選択を進化させる場合、この個体はブール変数の配列になります。true は選択された機能を示し、false は選択されていない機能を示します。このフィットネス関数は、この機能の選択がどれだけうまくいくかを示す指標を返す必要があります。つまり、より良い選択にはより高い数値を返し、最悪の選択にはより低い数値を返す必要があります。これには、予測精度が適切な値である可能性があります (正しい予測数をサンプルの総数で割った数)。

データセットとそのラベルを指定して SVM モデルの予測精度を計算する方法を知っていると仮定します。事前にトレーニングされた SVM があるため、選択した機能のみに使用するのは少し難しいかもしれません。これは、SVM の実装に大きく依存します。線形 SVM の場合は、データ マトリックスで選択されていない機能の値をゼロに設定できます。ただし、RBF SVM の場合は機能しません。依存している SVM 実装の内部メカニズムを理解する必要があります。3D データで SVM をトレーニングし、それを 2D データで動作するように適応させる簡単な例を作成することをお勧めします。これは、SVM モデルの実装に大きく依存します。

于 2012-01-31T19:06:11.070 に答える