2

matlab Genetic algorithm toolbox で解決したい問題があり、その解決方法がわかりません。SVM分類モデルの分類精度である関数を最大化する方法で式の3つの係数を計算したい。係数の式は a*A+b*B+c*C で、a、b、c は最適化された値を見つけたい係数で、A、B、C はデータセットの 3 つの属性の値です。 . 制約 a+b+c=1 および a,b,c>0 もあります

この問題を解決するには、遺伝的アルゴリズムをどのように使用すればよいですか?

4

2 に答える 2

2

最初の世代として、最初の実行可能な解をランダムに生成する必要があります。

これらの実行可能なソリューションはそれぞれ、 および を満たす必要がa + b + c = 1ありa, b, c > 0ます。

次に、フィットネス関数に基づいて、各回答を評価し、より良いものを「親」として選択します。これらの親に「交差」や「突然変異」などの GA 手法を適用して、次世代として子孫のグループを生成します。

このプロセスを一定回数、たとえば 500 世代分繰り返します。

たとえば、変数を定義できます。fitness値が大きいほど、対応する候補がより適切なソリューションであることを意味します。この関数を最大化しているため、次のようになります。

フィットネス = a * A + b * B + c * C

GA 操作 (交差、突然変異など) のそれぞれで、初期制約 (a + b + c = 1およびa, b, c > 0) を満たす新しい候補を常に生成することを忘れないでください。

于 2012-10-17T19:23:18.613 に答える