Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
1 2024-11-15 第108回NearMe技術勉強会 Futo Ueno ガウス過程回帰とベイズ最適化
Slide 2
Slide 2 text
2 はじめに 参考図書:「ガウス過程と機械学習」 https://www.kspub.co.jp/book/detail/ 1529267.html
Slide 3
Slide 3 text
3 はじめに 図の出⼒などに使ったコード: https://colab.research.google.com/drive/1_1v2ZuANtvrgzOli6dnErZbms ASoU_rK?hl=ja#scrollTo=B4aPaxbC2Aoc
Slide 4
Slide 4 text
4 背景 ‧「ブラックボックス最適化⼿法」の⼀つであるベイズ最適化を タスクで使ったらかなり良かったので, 共有したい ‧ベイズ最適化のアルゴリズムではガウス過程回帰をうまく使っている ‧ガウス過程回帰⾃体もどこかに使えそう ‧ガウス過程回帰&ベイズ最適化の概要を説明する
Slide 5
Slide 5 text
5 回帰とは ⼊出⼒ペアのデータから未知の⼊出⼒関係を推測すること ex. 単回帰 cf. 過去の勉強会資料 https://speakerdeck.com/nearme_tec h/ji-jie-xue-xi-woli-lun-karazhen-jian-n iqu-rizu-ndemitajian-sono1-hui-gui-nig uan-surufu-xi https://speakerdeck.com/nearme_tec h/ji-jie-xue-xi-woli-lun-karazhen-jian-n iqu-rizu-ndemitajian-sono2-xian-xing- hua-nitiao-zhan-siyou
Slide 6
Slide 6 text
6 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) ガウス分布 → 実数が対応
Slide 7
Slide 7 text
7 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) ガウス分布 多変量ガウス分布 → 実数が対応 → 有限次元のベクトルが対応
Slide 8
Slide 8 text
8 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布 多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
Slide 9
Slide 9 text
9 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布 多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
Slide 10
Slide 10 text
10 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布 多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
Slide 11
Slide 11 text
11 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布 多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
Slide 12
Slide 12 text
12 切り取る 「無限次元」をどう扱うか ‧ガウス過程は”関数 version”の正規分布だった → 「関数 f がガウス過程に従う」ことをどう定義すればよいか? ‧多変量ガウス分布の⼀部を切り取ってもやはりガウス分布に従うことに注⽬ → 任意の(いくらでも⼤きな)個数の成分をfから切り取っても多変量ガウス になるような「仕組み」があればよさそう m n - m m n - m m n - m 第1~第m成分を切り取る
Slide 13
Slide 13 text
13 ガウス過程の定義 定義 直感的には, ‧μ(x) → 無限次元の平均ベクトル ‧k(x, y) → 無限次元×無限次元の共分散⾏列
Slide 14
Slide 14 text
14 ガウス過程の定義 定義 ‧適切に前処理できるなら, 実際に回帰するときにμ(x)まで考慮しなくてもよい ‧k(x, y) はカーネル関数と呼ばれている
Slide 15
Slide 15 text
15 カーネル関数の与える影響 ‧カーネル関数k(x, y)は, f(x)とf(y)の相関を規定する → カーネル関数次第で, ガウス過程の実現値(= 関数)の性質が⼤きく変わる 😁 😭 異なるk(x, y)に対する実現値の⽐較
Slide 16
Slide 16 text
16 カーネル関数の例 ‧ガウスカーネル ‧指数カーネル ‧線形カーネル なめらか ギザギザ ← この「中間」もある (Matérn カーネル) ← 重回帰に対応
Slide 17
Slide 17 text
17 カーネル関数の与える影響 (再掲) ‧カーネル関数k(x, y)は, f(x)とf(y)の相関を規定する → カーネル関数次第で, ガウス過程の実現値(= 関数)の性質が⼤きく変わる 😁 😭
Slide 18
Slide 18 text
18 ガウス過程回帰 ‧⼊出⼒のデータ: が与えられたとする (適切に前処理されているとする) ‧データにフィットする関数 f をexactに求めるのではなく, データ観測後の「事後的な f の分布」を求める → ベイズ的 ↑よくわからないので とりあえずガウス過程でモデリング ⼊⼒ 出⼒ ↑データに適合するような関数が 出てくる確率が⾼くなっている(ことを期待) (未知)
Slide 19
Slide 19 text
19 ガウス過程回帰 ガウス過程の性質から であることはわかる → の分布もわかりそう ← ここでの出⼒について知りたいとする
Slide 20
Slide 20 text
20 条件付き多変量ガウス分布 定理
Slide 21
Slide 21 text
21 ガウス過程回帰
Slide 22
Slide 22 text
22 ガウス過程回帰 カーネル関数を変えると「パス(ガウス過程の実現値)の⾃由度」が変わる → 推定される「fの事後分布」も変わる γ (ハイパーパラメータ)の選び⽅にも依存す る
Slide 23
Slide 23 text
23 ガウス過程回帰の応⽤例① ‧時系列解析 ガウスカーネル ガウスカーネル + 線形カーネル → トレンドを考慮 カーネルの設定( = 事前分布の設定) を通じて「主観」が反映される -- カーネル関数を組み合わせることで様々な予測が可能
Slide 24
Slide 24 text
24 ガウス過程回帰の応⽤例② ‧ベイズ最適化 -「ブラックボックス最適化⼿法」の⼀つ - ガウス過程回帰をうまく使うことで効率的に探索することができる ⼊⼒ 出⼒ ↑ f の計算に時間がかかる場合, なるべく少ない評価回数で最適化したい
Slide 25
Slide 25 text
25 獲得関数 ‧f の計算が重いので, 代理となる関数(獲得関数)を⽤意する ‧獲得関数に求めること: - 計算が重くない (重要) - f に近い (少なくとも既知の点とその近くで合っていてほしい) - 不確かさが反映されている(未探索の部分を過⼩評価しないでほしい) ‧ガウス過程回帰を使うと「関数 version」の信頼区間を出すことができる → 「上側100α%点を繋いだ関数」などが獲得関数として使われる -- 例えば, +2.576σ など (上側0.5%点)
Slide 26
Slide 26 text
26 ベイズ最適化のアルゴリズム
Slide 27
Slide 27 text
27 ベイズ最適化のアルゴリズム 今回は acquisition = +2.576σ としている ‧上げると反復が多くなるが局所解に陥りにくい ‧下げると反復が少なくて済むが局所解に陥りやすい
Slide 28
Slide 28 text
28 ベイズ最適化のアルゴリズム
Slide 29
Slide 29 text
29 ベイズ最適化のアルゴリズム
Slide 30
Slide 30 text
30 ベイズ最適化のアルゴリズム
Slide 31
Slide 31 text
31 ベイズ最適化のアルゴリズム
Slide 32
Slide 32 text
32 ベイズ最適化のアルゴリズム
Slide 33
Slide 33 text
33 ベイズ最適化のアルゴリズム
Slide 34
Slide 34 text
34 ベイズ最適化のアルゴリズム
Slide 35
Slide 35 text
35 ベイズ最適化のアルゴリズム
Slide 36
Slide 36 text
36 ベイズ最適化のアルゴリズム
Slide 37
Slide 37 text
37 ベイズ最適化のアルゴリズム
Slide 38
Slide 38 text
38 ベイズ最適化のアルゴリズム
Slide 39
Slide 39 text
39 ベイズ最適化のアルゴリズム 1. 初期値に対して f を評価 (重い) 2. 既知の { (x, f(x)) } を使ってガウス過程回帰 3. ガウス過程回帰の結果から得られる獲得関数を最⼤化するx*を求める 4. x*においてfを評価 (重い) → (x*, f(x*))は既知となる 5. 2~4を繰り返して適当な停⽌条件を満たしたら終了
Slide 40
Slide 40 text
40 Reference ‧ 持橋⼤地, ⼤⽻成征 : 「ガウス過程と機械学習」. 講談社, 2019.
Slide 41
Slide 41 text
41 Thank you