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
4
920
ガウス過程回帰とベイズ最適化
NearMeの技術発表資料です
PRO
November 15, 2024
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
実践で使えるtorchのテンソル演算
nearme_tech
PRO
0
6
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
230
初めてのmarimo (ハンズオン)
nearme_tech
PRO
0
25
ローカルLLM
nearme_tech
PRO
0
45
LlamaIndex Workflow: Build Practical AI Agents Fast
nearme_tech
PRO
0
28
Box-Muller法
nearme_tech
PRO
1
40
Kiro触ってみた
nearme_tech
PRO
0
350
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
4
590
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
2
140
Other Decks in Science
See All in Science
Lean4による汎化誤差評価の形式化
milano0017
1
400
学術講演会中央大学学員会府中支部
tagtag
PRO
0
340
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
710
デジタルアーカイブの教育利用促進を目指したメタデータLOD基盤に関する研究 / Research on a Metadata LOD Platform for Promoting Educational Uses of Digital Archives
masao
0
130
HDC tutorial
michielstock
1
290
baseballrによるMLBデータの抽出と階層ベイズモデルによる打率の推定 / TokyoR118
dropout009
2
640
Optimization of the Tournament Format for the Nationwide High School Kyudo Competition in Japan
konakalab
0
140
力学系から見た現代的な機械学習
hanbao
3
3.8k
安心・効率的な医療現場の実現へ ~オンプレAI & ノーコードワークフローで進める業務改革~
siyoo
0
430
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
2
21k
Ignite の1年間の軌跡
ktombow
0
200
知能とはなにかーヒトとAIのあいだー
tagtag
PRO
0
170
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
98
From π to Pie charts
rasagy
0
100
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
32
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
First, design no harm
axbom
PRO
1
1.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
WENDY [Excerpt]
tessaabrams
9
35k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
71
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
Scaling GitHub
holman
464
140k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
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