Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ガウス過程回帰とベイズ最適化
Search
NearMeの技術発表資料です
PRO
November 15, 2024
Science
1
90
ガウス過程回帰とベイズ最適化
NearMeの技術発表資料です
PRO
November 15, 2024
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ESLintをもっと有効活用しよう
nearme_tech
PRO
0
11
リファクタリングのための第一歩
nearme_tech
PRO
0
34
確率的プログラミング入門
nearme_tech
PRO
2
83
Observability and OpenTelemetry
nearme_tech
PRO
2
37
観察研究における因果推論
nearme_tech
PRO
1
110
React
nearme_tech
PRO
2
44
Architecture Decision Record (ADR)
nearme_tech
PRO
1
880
遺伝的アルゴリズムを実装する
nearme_tech
PRO
1
73
Fractional Derivative!
nearme_tech
PRO
1
52
Other Decks in Science
See All in Science
マクロ経済学の視点で、財政健全化は必要か
ryo18cm
1
120
山形とさくらんぼに関するレクチャー(YG-900)
07jp27
1
240
Introduction to Image Processing: 2.Frequ
hachama
0
350
AI科学の何が“哲学”の問題になるのか ~問いマッピングの試み~
rmaruy
1
2.4k
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_LT版
hayataka88
0
1k
Inductive-bias Learning: 大規模言語モデルによる予測モデルの生成
fuyu_quant0
0
130
FOGBoston2024
lcolladotor
0
130
インフラだけではない MLOps の話 @事例でわかるMLOps 機械学習の成果をスケールさせる処方箋 発売記念
icoxfog417
PRO
2
650
私たちのプロダクトにとってのよいテスト/good test for our products
camel_404
0
210
Visual Analytics for R&D Intelligence @Funding the Commons & DeSci Tokyo 2024
hayataka88
0
120
How were Quaternion discovered
kinakomoti321
2
1.1k
Online Feedback Optimization
floriandoerfler
0
710
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
A designer walks into a library…
pauljervisheath
205
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A Tale of Four Properties
chriscoyier
157
23k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
BBQ
matthewcrist
85
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Documentation Writing (for coders)
carmenintech
67
4.5k
Gamification - CAS2011
davidbonilla
80
5.1k
Transcript
1 2024-11-15 第108回NearMe技術勉強会 Futo Ueno ガウス過程回帰とベイズ最適化
2 はじめに 参考図書:「ガウス過程と機械学習」 https://www.kspub.co.jp/book/detail/ 1529267.html
3 はじめに 図の出⼒などに使ったコード: https://colab.research.google.com/drive/1_1v2ZuANtvrgzOli6dnErZbms ASoU_rK?hl=ja#scrollTo=B4aPaxbC2Aoc
4 背景 ‧「ブラックボックス最適化⼿法」の⼀つであるベイズ最適化を タスクで使ったらかなり良かったので, 共有したい ‧ベイズ最適化のアルゴリズムではガウス過程回帰をうまく使っている ‧ガウス過程回帰⾃体もどこかに使えそう ‧ガウス過程回帰&ベイズ最適化の概要を説明する
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
6 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) ガウス分布 → 実数が対応
7 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) ガウス分布 多変量ガウス分布 → 実数が対応
→ 有限次元のベクトルが対応
8 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布
多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
9 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布
多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
10 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布
多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
11 ガウス過程とは → 直感的には「無限次元」の正規分布 (= ガウス分布) →「無限次元」のベクトル (= 関数)が対応 ガウス分布
多変量ガウス分布 ガウス過程 → 実数が対応 → 有限次元のベクトルが対応
12 切り取る 「無限次元」をどう扱うか ‧ガウス過程は”関数 version”の正規分布だった → 「関数 f がガウス過程に従う」ことをどう定義すればよいか? ‧多変量ガウス分布の⼀部を切り取ってもやはりガウス分布に従うことに注⽬
→ 任意の(いくらでも⼤きな)個数の成分をfから切り取っても多変量ガウス になるような「仕組み」があればよさそう m n - m m n - m m n - m 第1~第m成分を切り取る
13 ガウス過程の定義 定義 直感的には, ‧μ(x) → 無限次元の平均ベクトル ‧k(x, y) →
無限次元×無限次元の共分散⾏列
14 ガウス過程の定義 定義 ‧適切に前処理できるなら, 実際に回帰するときにμ(x)まで考慮しなくてもよい ‧k(x, y) はカーネル関数と呼ばれている
15 カーネル関数の与える影響 ‧カーネル関数k(x, y)は, f(x)とf(y)の相関を規定する → カーネル関数次第で, ガウス過程の実現値(= 関数)の性質が⼤きく変わる 😁
😭 異なるk(x, y)に対する実現値の⽐較
16 カーネル関数の例 ‧ガウスカーネル ‧指数カーネル ‧線形カーネル なめらか ギザギザ ← この「中間」もある
(Matérn カーネル) ← 重回帰に対応
17 カーネル関数の与える影響 (再掲) ‧カーネル関数k(x, y)は, f(x)とf(y)の相関を規定する → カーネル関数次第で, ガウス過程の実現値(= 関数)の性質が⼤きく変わる
😁 😭
18 ガウス過程回帰 ‧⼊出⼒のデータ: が与えられたとする (適切に前処理されているとする) ‧データにフィットする関数 f をexactに求めるのではなく, データ観測後の「事後的な f
の分布」を求める → ベイズ的 ↑よくわからないので とりあえずガウス過程でモデリング ⼊⼒ 出⼒ ↑データに適合するような関数が 出てくる確率が⾼くなっている(ことを期待) (未知)
19 ガウス過程回帰 ガウス過程の性質から であることはわかる → の分布もわかりそう ← ここでの出⼒について知りたいとする
20 条件付き多変量ガウス分布 定理
21 ガウス過程回帰
22 ガウス過程回帰 カーネル関数を変えると「パス(ガウス過程の実現値)の⾃由度」が変わる → 推定される「fの事後分布」も変わる γ (ハイパーパラメータ)の選び⽅にも依存す る
23 ガウス過程回帰の応⽤例① ‧時系列解析 ガウスカーネル ガウスカーネル + 線形カーネル → トレンドを考慮 カーネルの設定(
= 事前分布の設定) を通じて「主観」が反映される -- カーネル関数を組み合わせることで様々な予測が可能
24 ガウス過程回帰の応⽤例② ‧ベイズ最適化 -「ブラックボックス最適化⼿法」の⼀つ - ガウス過程回帰をうまく使うことで効率的に探索することができる ⼊⼒ 出⼒ ↑ f
の計算に時間がかかる場合, なるべく少ない評価回数で最適化したい
25 獲得関数 ‧f の計算が重いので, 代理となる関数(獲得関数)を⽤意する ‧獲得関数に求めること: - 計算が重くない (重要) -
f に近い (少なくとも既知の点とその近くで合っていてほしい) - 不確かさが反映されている(未探索の部分を過⼩評価しないでほしい) ‧ガウス過程回帰を使うと「関数 version」の信頼区間を出すことができる → 「上側100α%点を繋いだ関数」などが獲得関数として使われる -- 例えば, +2.576σ など (上側0.5%点)
26 ベイズ最適化のアルゴリズム
27 ベイズ最適化のアルゴリズム 今回は acquisition = +2.576σ としている ‧上げると反復が多くなるが局所解に陥りにくい ‧下げると反復が少なくて済むが局所解に陥りやすい
28 ベイズ最適化のアルゴリズム
29 ベイズ最適化のアルゴリズム
30 ベイズ最適化のアルゴリズム
31 ベイズ最適化のアルゴリズム
32 ベイズ最適化のアルゴリズム
33 ベイズ最適化のアルゴリズム
34 ベイズ最適化のアルゴリズム
35 ベイズ最適化のアルゴリズム
36 ベイズ最適化のアルゴリズム
37 ベイズ最適化のアルゴリズム
38 ベイズ最適化のアルゴリズム
39 ベイズ最適化のアルゴリズム 1. 初期値に対して f を評価 (重い) 2. 既知の {
(x, f(x)) } を使ってガウス過程回帰 3. ガウス過程回帰の結果から得られる獲得関数を最⼤化するx*を求める 4. x*においてfを評価 (重い) → (x*, f(x*))は既知となる 5. 2~4を繰り返して適当な停⽌条件を満たしたら終了
40 Reference ‧ 持橋⼤地, ⼤⽻成征 : 「ガウス過程と機械学習」. 講談社, 2019.
41 Thank you