書籍『CMA-ESによるブラックボックス最適化』(出版社Web,Amazon) のサポートページです.
- 発売:2025年11月7日
- 野村 将寛,秋本 洋平 著
- A5判/184ページ
- 定価:3,300円
- ISBN:978-4-297-15241-3
- 出版社サポートサイト:https://gihyo.jp/book/2025/978-4-297-15241-3
- 書籍の補助資料として,CMA-ESの挙動をブラウザ上で簡単に確認できるViewerを用意しました:
- Rastrigin関数では,サンプル数λを大きく設定しないと探索に成功しないことに注意してください.
- これらのベンチマーク関数におけるCMA-ESの挙動については,書籍の第3章「ベンチマークによる挙動解析」にて詳しく議論しています.
| 章.節.項 | 説明 | Google Colabリンク |
|---|---|---|
| 2.9 | CMA-ESの実装 | 2.9_cma_implementation.ipynb |
| 2.9 | pycmaとcmaesによる実装例 | 2.9_pycma_cmaes_example.ipynb |
| 3.1 | ベンチマーク関数の景観可視化 | 3.1_benchmark_landscape.ipynb |
| 3.3 | CMA-ESの挙動(40次元Sphere,Ellipsoid,Rosenbrock,Rastrigin関数) | 3.3_cma_behavior.ipynb |
| 3.3.1 | 初期ステップサイズ変更時の挙動(40次元Sphere関数) | 3.3.1_initial_sigma.ipynb |
| 3.3.2 | 条件数Cond(CH)の推移(40次元Ellipsoid関数) | 3.3.2_condition_number_on_ellipsoid.ipynb |
| 3.3.3 | 座標毎の標準偏差をスケーリングした指標の推移(6次元Rosenbrock関数) | 3.3.3_elemwise_std_on_rosenbrock.ipynb |
| 3.3.5 | Rank-one更新とRank-μ更新の影響(40次元Ellipsoid関数) | 3.3.5_rank_one_mu.ipynb |
| 4.3 | ユークリッド距離とKLダイバージェンスの違いの例 | 4.3_euclid_vs_kl.ipynb |
| 5.4 | 条件数に対するCSA-ESの収束に必要な評価回数(20次元Ellipsoid関数) | 5.4_csaes_against_cond.ipynb |
| 5.5.1 | Sep-CMA-ESとVD-CMA-ESの比較(1000次元Cigar,Rotated Cigar関数) | 5.5.1_sep_vs_vd_on_cigar_rotcigar.ipynb |
| 5.5.2 | CMA-ES,Sep-CMA-ESとVD-CMA-ESの比較(40次元Ellipsoid,Rotated Ellipsoid関数) | 5.5.2_cma_vs_sep_vs_vd_on_ell_rotell.ipynb |
| 5.7 | pycmaからのSep-CMA-ES,VD-CMA-ES,VkD-CMA-ESの利用 | 5.7_sep_vd_vkd_from_pycma.ipynb |
| 6.2.1 | 確率緩和を施したRastrigin関数の景観( |
6.2.1_theta_space.ipynb |
| 6.2.2 | ODEとオイラー法によるパラメータの軌道 | 6.2.2_ode_euler_trajectories.ipynb |
| 6.2.2 | Rastrigin関数とNoisy Sphere関数の景観 | 6.2.2_landscape_rastrigin_noisysphere.ipynb |
| 6.3.1 | Rastrigin関数における各探索段階の景観の変化 | 6.3.1_landscape_change_on_rastrigin.ipynb |
| 6.4 | LRA-CMA-ESの挙動(10次元Rastrigin,Noisy Sphere関数) | 6.4_lra_cma_behavior.ipynb |
| 6.4 | CMA-ESとLRA-CMA-ESの比較(10次元Rastrigin,Noisy Sphere関数) | 6.4_cma_vs_lra_cma.ipynb |
| 6.5 | cmaesライブラリからのLRA-CMA-ESの利用 | 6.5_lracma_from_cmaes.ipynb |
| 7.3.2 | 正規分布に対するバイナリ変数への離散化の例 | 7.3.2_discretization_example.ipynb |
| 7.3.3 | CMA-ESとCMAwMの比較(40次元SphereOneMax関数) | 7.3.3_cma_vs_cmawm.ipynb |
| 7.5 | CatCMAwMとTPEの比較(SphereIntCOM,MVProximity関数) | 7.5_catcmawm_vs_tpe.ipynb |
| 7.6 | cmaesライブラリからのCatCMAwMの利用 | 7.6_catcmawm_from_cmaes.ipynb |
| 8.5.1 | 2目的凸二次関数におけるパレート最適解の例 | 8.5.1_pareto_solutions_example.ipynb |
| 8.5.4 | 加重和法(スカラー化法)とMO-CMA-ESの比較(2目的凸二次関数) | 8.5.4_scalarization_vs_mocma.ipynb |
- 動作確認はPython 3.11.13(2025年7月時点でのGoogle Colabにおいて使用されているPythonのバージョン)で行っています.
- なお,本実装は書籍の数値実験の結果の再現を目的としており,本番環境での利用を前提としたものではありません.実運用での使用には,CMA-ES/pycma や CyberAgentAILab/cmaes などのソフトウェアの利用を推奨します.
本書の正誤情報は正誤表にて公開しています.