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 もあります
この問題を解決するには、遺伝的アルゴリズムをどのように使用すればよいですか?
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 もあります
この問題を解決するには、遺伝的アルゴリズムをどのように使用すればよいですか?
最初の世代として、最初の実行可能な解をランダムに生成する必要があります。
これらの実行可能なソリューションはそれぞれ、 および を満たす必要が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
) を満たす新しい候補を常に生成することを忘れないでください。