概要
「まえがき」から引用する。
(前略)本書では,筆者らが開発したツール “Optuna” を通し,ブラックボックス最適化の使い方と仕組みを解説します. Optuna はプログラミング言語 Python で記述されたブラックボックス最適化のためのツールです。
感想
要再読である。
Chapter 1 は「ブラックボックス最適化の基礎」である。1.5 (p.9) では、ブラックボックス最適化の利用対象について説明されている。 ここでは、ブラックボックス最適化を用いるべきではない場合について述べられていて、それは 最適化する対象の数理的な構造が利用可能な場合である。たとえば、目的関数が線形関数であったり、微分可能な関数であったりする場合は、数理的な構造が利用できるから確かにそうだ。 ただし、本書で述べられる例題では、数理的な構造が利用できる。これは説明のためだから、混乱しないようにしないといけない、と自戒した。
chapter 2 はインストールである。私は最初 miniforge を使っていたが、 インストールが遅い気がしたので miniforge をやめ、代わりに uv を使っている。
$ uv add pandas $ uv add scikit-learn
動かしてみる
p.13 以降の「2.2.1 Optuna を動かしてみる」では、optimize_beale.py は動いた。なお、本書でも言及されている通り、Optuna のアルゴリズムにはランダム性があるので、 私が実際にコードを実行したとき、書籍の結果とは一致しない。
p.22 のリスト 2.13 では、Accuracy:0.7607182349443268 となり、一致した。
p.23 のリスト 2.15 では
Best objectvive value: 0.8556775115232828
Best parameter: {'max_depth': 27, 'min_samples_split': 0.0017750468394377979}
だった。ちなみに、100 回のトライアルを終えるまでに 6 分かかった。
数式の記述
数式表記は MathJax を用いている。
書誌情報
| 書名 | Optunaによるブラックボックス最適化 |
| 著者 | 佐野 正太郎, 秋葉 拓哉, 今村 秀明, 太田 健, 水野 尚人, 柳瀬 利彦 |
| 発行日 | 2023 年 2 月 17 日 第 1 版 第 1 刷 |
| 発行元 | オーム社 |
| 定価 | 3200 円(本体) |
| サイズ | A5判 ページ |
| ISBN | 978-4-274-23010-3 |
| その他 | 川口市立図書館で借りて読む |