こんにちは!ぼりたそです!
今回はベイズ最適化について勉強したい方向けにオススメの参考書を2冊ご紹介したいと思います。
本記事は実験系の分野を専門としている学生の方や、企業研究者の方でベイズ最適化を勉強したいという方にはもってこいかと思います。
この記事で紹介するオススメ参考書は以下の2冊です。
どちらもベイズ最適化を勉強するのにはもってこいの参考書ですが、自分のレベルに合うかどうかや目的に合っているかなど、しっかりと吟味された上で購入されるのがベストかと思います!
また、簡単ではありますが、ベイズ最適化について過去にまとめた記事がありますので、ご参照いただければと思います。
Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析
この書籍はベイズ最適化を一から学びたい初学者でも理解しやすい内容となっており、どの書籍を買うか迷っている方はまずこの一冊をオススメします。
この書籍のオススメポイントは以下の通りです。
- 初学者にも理解しやすい
- 他のデータ分析や解析手法も学べる
- すぐに実行できるPythonのコード付
- 材料設計、プロセス設計などの応用事例も記載
初学者にも理解しやすい
この書籍を読んでまず感じたのは非常に理解しやすかったということです。
ベイズ最適化は機械学習の手法の一つで書籍によっては数式が無数に出現し、アレルギーを起こす方もいらっしゃるかと思います…
しかし、この書籍では数式は出てくるものの、きちんと数式の意味を解説してくれていたり、図説も多いので、理論や仕組みをしっかり理解することができます。
もちろん、最低限の数学的な知識は必要ですが、高校数学レベルの知識でも問題なく、大学数学の知識については書籍の中できちんと説明してくれているので、全く理解できないということはまずないと思います。
また、ベイズ最適化がなぜ必要なのか、その基礎知識から応用まで幅広く解説されているので、非常に飲み込みやすいと感じました。
他のデータ分析や解析手法も学べる
本書は主にベイズ最適化の実践を前提とした解説がメインとなっていますが、他のデータ分析や解析手法についても説明されています。
例えば、機械学習を実践する際のデータ処理や解釈の仕方をはじめとして、予測モデルの性能評価などデータの扱い方なども習得することができます。
また、ベイズ最適化だけではなく、ランダムフォレストやサポートベクター回帰など他の機械学習の手法も学ぶことができます。
すぐに実行できるPythonのコード付
次に、この書籍ではベイズ最適化などの機械学習について理解を深められるだけでなく、解説した手法を実行できるPythonコードと学習用データのサンプルが付いています。
また、必要なソフトウェアやライブラリについての解説もあり、インストール方法の説明もされているので、環境構築で困ることはほとんどありません。なお、PythonコードについてはGitHubからダウンロードできるようになっています。
そのため、学んだ内容に対してすぐに実践的な活用ができるので、非常に役立つと感じました。
材料設計、プロセス設計などの応用事例も記載
最後に、ある程度ベイズ最適化について理解を深めた上で、実際にベイズ最適化が活かせる材料設計やプロセス設計などの事例を紹介されています。
もちろん、学習データや実行コードもあるので、自分で自由に実行することもできます。
また、応用事例としてベイズ最適化とは別のGMRという逆解析的な最適化手法について最後に解説されており、広い知見を得ることができます。
ベイズ最適化 適応的実験計画の基礎と実践
この書籍はベイズ最適化についてさらに理解を深めて実践したい方にオススメの一冊となっています。
この書籍はOptunaというベイズ最適化を実行するためのPythonライブラリの使用を前提としており、一冊目と比較すると、ベイズ最適化についてより数学的な説明が多く、原理的な部分により突っ込んだ内容である印象です。
本書のオススメのポイントは以下の通りです。
- ベイズ最適化の理論について詳しく学べる
- Optunaを使用したベイズ最適化の実行が学べる
- 複雑な問題に対するベイズ最適化を学べる
ベイズ最適化の理論について詳しく学べる
本書はベイズ最適化の理論について詳しく解説されており、ベイズ最適化の導入やアルゴリズムの詳細まできちんと学ぶことができます。
特に数学的な解説がきちんとされており、補足が必要な定理などについては別のPDFにて説明付きとなっているため理論についてしっかり学びたい人には非常にオススメです。
一方で数式にアレルギーがある人が読むと途中で挫折してしまう気がしますので、大学数学の基礎(線形代数、微積など)レベルは身につけてから読む方がいいと思います。
しかし、本書をしっかり学ぶことができれば基本的なベイズ最適化の理論は習得することができるはずです。
Optunaを使用したベイズ最適化の実行が学べる
本書ではOptunaというPythonライブラリを使用したベイズ最適化の実行方法を一から学ぶことができます。
ライブラリの操作方法を習得するのも結構大変なのですが、本書ではOptunaの仕組みが丁寧に解説しされており、図説もあるので非常にわかりやすかったです。
また、Pythonコードも記載されており、ソースコードはGitHubからダウンロードできるため、ベイズ最適化をすぐに実装することができます。
Optunaを使用したベイズ最適化については本ブログでも以前まとめていますので、ご興味ある方は参照いただければと思います。
複雑な問題に対するベイズ最適化を学べる
最後に、本書ではより複雑な問題に対するベイズ最適化の手法について学ぶことができます。
例えば、次の実験候補点に制限をかけたい制限付最適化問題や最適化したいパラメータが二つ以上である多目的最適化問題、説明変数の次元数が多い高次元空間上の最適化問題など、より複雑な条件におけるベイズ最適化についてPythonコード付で詳細に説明されています。
複雑な問題と言っても、実務上で出くわす問題のほとんどが複雑なパターンですので、上記の手法を学ぶことはベイズ最適化を実務上で活かす上で絶対学ぶべきだと思います。
終わりに
以上がベイズ最適化を勉強した方向けにご紹介する参考書になります。個人的に、初学者の方でしたら一冊目の「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」を読んでから「ベイズ最適化 適応的実験計画の基礎と実践」を読むとより理解が深められると感じました。