Onlooker Bee

Onlooker Bee

執筆済 最適化ABC

蜜量の多い蜜源を選んで調べる蜂。 傍観蜂、追従蜂。

実際の蜜蜂では、戻ってきた働き蜂が巣で「8 の字ダンス」を踊り、 その激しさで蜜源の良さを伝える。待機していた蜂はそれを見て どの蜜源へ向かうかを決める。ABC はこれを確率的な選択として実装している。

選択確率#

pi=fitijfitj

適応度に比例した確率で蜜源を選ぶ(ルーレット選択)。 選んだあとの操作はEmployed Bee と同じで、 近傍に候補を作り、良ければ置き換える。

何のためにあるのか#

Employed Bee 段階では全蜜源が平等に 1 回ずつ調べられる。 Onlooker Bee 段階では良い蜜源ほど多く調べられる

つまり評価回数の配分を、その時点の情報に応じて偏らせている。 これが ABC における活用にあたる。 Onlooker Bee の数は通常 Employed Bee と同数に取るので、 1 サイクルの評価回数は「平等な探索 : 傾斜した活用 = 1 : 1」になる。

選択圧の問題#

ルーレット選択は、適応度の差が小さいとほぼ一様選択になり、 差が大きいと 1 つの蜜源に集中しすぎる。 目的関数のスケールに結果が左右されるということで、 順位だけを使う CMA-ES が スケールに対して不変なのと対照的。

改良手法ではトーナメント選択に置き換えるものもある。

参考文献#

ノート一覧を閉じる