はじめに
データを使って仮説の生成と検証を行なうための方法であるベイズ最適化を学ぶために,今村秀明・松井孝太 著「ベイズ最適化 ー適応的実験計画の基礎と実践ー」を読むことにした。
本記事は,「第3章 ベイズ最適化のアルゴリズム」における,「はじめに」に関する読書メモである。
- 本書の紹介ページ
3.1 はじめに
本章では,ベイズ最適化の全体像,特にベイズ最適化において重要な役割をはたす獲得関数について詳細に説明している。
本節では,ベイズ最適化の全体像について説明している。
ベイズ最適化のアルゴリズム
- 1: 入力 : 目的関数の統計モデル
- 2: 初期条件として何点か
を何点か選び目的関数値
を観測する。
- 3: while終了条件が満たされるまでdo
- 4: Step 1:
を用いて目的関数の統計モデルを更新 :
- 5: Step 2: 獲得関数を最大化して次の候補点を選ぶ。
- 6: Step 3:
における観測値
を得る。
- 7: Step 4: データ集合を更新 :
- 8: end while
- 9: 出力 : 得られた実行可能回の集合
をもとに生成した
の最適解
獲得関数
獲得関数(Acquisition function)は,ベイズ最適化のアルゴリズムにおいて,次の候補点を選ぶための関数である。
獲得関数は,それまで集められたデータ (履歴(history))をもとに構成される関数である。
獲得関数の形は,
- 入力 : 入力空間上のある点
- 出力 : 「その点
をどの程度選ぶべきか」という度合いを表す実数値
という関数であり,という形をしている。
探索と活用のトレードオフ
獲得関数を構成するうえで重要なのは,探索と活用のトレードオフ(exploration-exploitation trade-off)という考え方である。
獲得関数の目的は,新たな候補点を得ることであるが,この点を得るための方針として,
- 探索 : 目的関数の振る舞いが分からないところから取る
- 活用 : 目的関数が良いとわかっているところから取る
という2つの方針がある。
探索に偏ると,得られている目的関数の情報をブラッシュアップすることができない。一方で活用に偏ると,目的関数値をより良くする領域を見逃す可能性がある。子のトレードオフを制御しているのが獲得関数である。
目的関数における仮定
目的関数の性質に応じて適切な獲得関数は異なる。本章では,目的関数において以下のような仮定をおく。
観測
目的関数に
を与えて観測値
を得る際には,
まとめと感想
今回は,「第3章 ベイズ最適化のアルゴリズム」のうち, 獲得関数の性質や目的関数に関する仮定について学んだ。
ベイズ最適化の重要なプロセスとして,「次の候補点を選ぶ」というものがある。この選び方が,ベイズ最適化において重要になると理解した。
本章では様々な獲得関数について説明があるが,絶対的に良い獲得関数が存在する,というより,状況に応じて適切な獲得関数を選ぶことになると考えられる。その際に,獲得関数の特徴を把握する必要があるが,「探索と活用のトレードオフ」および計算量は,獲得関数を特徴付けるうえで重要な切り口だと感じた。
本記事を最後まで読んでくださり,どうもありがとうございました。