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
0
22
ガウス過程回帰とベイズ最適化
NearMeの技術発表資料です
PRO
November 15, 2024
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
確率的プログラミング入門
nearme_tech
PRO
2
31
Observability and OpenTelemetry
nearme_tech
PRO
2
23
観察研究における因果推論
nearme_tech
PRO
1
68
React
nearme_tech
PRO
2
31
Architecture Decision Record (ADR)
nearme_tech
PRO
1
810
遺伝的アルゴリズムを実装する
nearme_tech
PRO
1
40
Fractional Derivative!
nearme_tech
PRO
1
34
GitHub Projectsにおける チケットの ステータス更新自動化について
nearme_tech
PRO
1
52
2つの曲線を比較する方法ってあるの? 〜フレシェ距離を試してみた〜 with Python
nearme_tech
PRO
1
270
Other Decks in Science
See All in Science
【人工衛星】座標変換についての説明
02hattori11sat03
0
100
創薬における機械学習技術について
kanojikajino
13
4.3k
Machine Learning for Materials (Lecture 6)
aronwalsh
0
510
20240420 Global Azure 2024 | Azure Migrate でデータセンターのサーバーを評価&移行してみる
olivia_0707
2
890
白金鉱業Meetup Vol.15 DMLによる条件付処置効果の推定_sotaroIZUMI_20240919
brainpadpr
1
480
マテリアルズ・インフォマティクスの先端で起きていること / What's Happening at the Cutting Edge of Materials Informatics
snhryt
1
130
科学で迫る勝敗の法則(名城大学公開講座.2024年10月) / The principle of victory discovered by science (Open lecture in Meijo Univ. 2024)
konakalab
0
200
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
0
410
Improving Search @scale with efficient query experimentation @BerlinBuzzwords 2024
searchhub
0
240
240510 COGNAC LabChat
kazh
0
130
学術講演会中央大学学員会八王子支部
tagtag
0
230
Machine Learning for Materials (Lecture 9)
aronwalsh
0
210
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
BBQ
matthewcrist
85
9.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Why Our Code Smells
bkeepers
PRO
334
57k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
A designer walks into a library…
pauljervisheath
202
24k
Designing for humans not robots
tammielis
250
25k
Automating Front-end Workflow
addyosmani
1366
200k
Embracing the Ebb and Flow
colly
84
4.5k
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