MATLAB Answers

Kazushi
0

gaのデフォルトの突然変異確率について

Asked by Kazushi
on 14 Nov 2019
Latest activity Edited by Kazuya
on 18 Nov 2019 at 21:57
MATLABのgaの突然変異確率のデフォルト値はいくらになっているのでしょうか.
ご存じの方,よろしくお願い申し上げます.

  2 Comments

Kazuya
on 14 Nov 2019
'Uniform’ を選んだ場合は 0.01 (1%) がデフォルト値みたいです。
Kazushi
on 14 Nov 2019
ご回答ありがとうございます.
Gaussian Mutationのデフォルト値を確認できないのですが,ご存じでしょうか?

Sign in to comment.

2 Answers

Kazuya
Answer by Kazuya
on 14 Nov 2019
 Accepted Answer

念のため「突然変異確率」の意味するところを確認させてください。
次世代の作られ方は Elite, Crossover, Mutation の3通りがあると理解しています。
それぞれの割合のデフォルト設定を気にされていますか?
その場合 CrossoverFraction の既定値が 0.8 なので、Elite を除くと 20% が Mutation 。
上のURLの最後の方にも例として以下の記載があります。参考まで。
For example, if the Population size is 20, the Elite count is 2, and the Crossover fraction is 0.8, the numbers of each type of children in the next generation are as follows:
  • There are two elite children.
  • There are 18 individuals other than elite children, so the algorithm rounds 0.8*18 = 14.4 to 14 to get the number of crossover children.
  • The remaining four individuals, other than elite children, are mutation children.

  1 Comment

Kazuya
on 18 Nov 2019 at 21:56
********** Kazushi さんのコメント:2019 年 11 月 15 日 12:38
Mutationの割合は既定値が20%(エリートを除く)とのことでしたが,これは'mutationuniform'の既定値である1%とは異なる意味の割合なのでしょうか?
***************
こちらで回答します。はい、'mutationuniform' の既定値 1% とは異なりますね。
Mutation によって次世代が作られる個体の割合の既定値が20%(エリートを除く)、そして Mutation の方法として 'mutationuniform' を選択した場合に、各個体の entry (遺伝子要素?)のうち乱数で置き換えられる要素の割合が 'mutationuniform' の既定値 1%です。
edit mutationuniform
で関数の中を見る(+ブレークポイント設定するなどして実行中の変数の値を見るなどすると)と分かりやすいかもしれません。

Sign in to comment.


Kazushi
Answer by Kazushi
on 15 Nov 2019 at 12:38

ご回答ありがとうございます.
Mutationの割合は既定値が20%(エリートを除く)とのことでしたが,これは'mutationuniform'の既定値である1%とは異なる意味の割合なのでしょうか?

  0 Comments

Sign in to comment.