CMA-ESの基本

CMA-ESの基本

執筆済 最適化CMA-ES

1 世代でやることは 3 段階しかない。

1. 生成#

分布から λ 個の候補を引く。

xi=m+σyi,yi𝒩(0,C),i=1,,λ

2. 評価と並べ替え#

f(xi) を測り、良い順に並べる。以降 xi:λi 番目に良い候補を指す。

ここで値そのものは使わず、順位だけを使うのが重要。 f を単調増加関数で変換しても(たとえば f3logf にしても) 挙動が変わらない。この単調変換に対する不変性が、 スケールの分からない目的関数に対する頑健さの源になっている。

3. 更新#

上位 μ 個の重み付き平均で中心を動かす。

mm+cmi=1μwi(xi:λm)

重み wi は上位ほど大きく、wi=1。既定では μ=λ/2wiln(μ+0.5)lni

続けて共分散行列ステップサイズを更新する。

既定値#

CMA-ES の実用上の強みは、ハイパーパラメータをほぼ触らなくてよいこと。 集団サイズの既定値は次元 n から決まる。

λ=4+3lnn

利用者が決めるのは初期点 m(0) と初期ステップサイズ σ(0) の 2 つだけ。 σ(0) は「探索したい範囲の 1/4 程度」が目安とされる。

多峰性が強いとき

λ を既定より大きくすると、局所解に落ちにくくなる。 再始動戦略 (IPOP-CMA-ES) は これを自動化したもの。

参考文献#

ノート一覧を閉じる