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
Keishu
August 13, 2025
Programming
2
37
パラメータ探索を効率化するベイズ最適化入門
Keishu
August 13, 2025
Tweet
Share
More Decks by Keishu
See All by Keishu
スマートフォンで実現する次世代の足形計測と靴選び
keishu
0
15
Other Decks in Programming
See All in Programming
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
880
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.5k
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
450
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1k
CSC305 Lecture 01
javiergs
PRO
1
380
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.2k
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
910
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
360
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Code Review Best Practice
trishagee
72
19k
The World Runs on Bad Software
bkeepers
PRO
71
11k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
570
We Have a Design System, Now What?
morganepeng
53
7.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
A Tale of Four Properties
chriscoyier
160
23k
Building Applications with DynamoDB
mza
96
6.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
パラメータ探索を効率化する ベイズ最適化入門 ~MATLAB実装~ 元記事:https://qiita.com/kepr/items/adacf7678cf4e9a6a1b8 Keishu X: @Keishu_te
直感的なパラメータ探索の課題 機械学習モデルを利用する際に、「パラメータ探索」を行う機会は多い。しかし、実 際のところは経験や直感に依存したり、パラメータを一つずつ手動で調整している ケースも少なくない そのような手法の課題 • 最適解に到達できない(交互作用、局所最適解) • 時間的、人的リソースがかかる •
プロセスの俗人化、技術資産として残らない イントロ
賢いハイパーパラメータ探索へ • Grid Search: 格子状にパラメータの組を網羅する • Random Search: 運がよければ少ない回数で最適解に到達 •
Bayesian Optimization: 最適解が存在しそうな場所を集中的に探索。一回の 試行に時間がかかる場合、特に効果的。 イントロ
ベイズ最適化の基本的な仕組み 概要 1.パラメータ 試行 2. 関数の 予測 3. 有望な パラメータ
判断 2. 予測 3. 判断 ガウス過程回帰 獲得関数
ガウス過程回帰:予測値と不確かさ 予測平均 (μ): 最も確からしい値 不確かさ (σ): 予測の自信度 • 観測点付近: 不確かさ
↓ (自信あり) • 未知の領域: 不確かさ ↑ (自信なし) 【予測】
類似度に基づく「重み付き平均」 予測したい点(x=2)に近い点ほど、予測への影響力が大きい。 【予測】 この点は近いから影響大 この点は遠いから影響小
類似度を測るカーネル関数 カーネル関数の役割 • この「似ている」の度合い(類似度)を計算する 予測曲線の"設計図" • カーネル関数が、全ての点の組み合わせの「類似度」を計算 • この「類似度の一覧表」により、予測する関数の形を決まる 【予測】
予測平均の式 【予測】 予測値のxと観測値のxが どれだけ類似しているか 予測値のy座標 観測値のy座標 観測値のy座標を補正
次の一手を決める獲得関数 μ(x) →予測平均 σ(x) → 予測分散 κ: 活用 vs 探索のバランス調整
【判断】
問題設定(Irisデータセット) • Data: fisheriris (アヤメ) • Task: 3クラス分類 • Model:
SVM (RBF Kernel) • Goal: 分類誤差を最小化するBoxConstraintとKernelScaleを発見する。 実践例 特徴量 分類
MATLABによる実装コード 実践例 探索するハイパーパラメータ設定 最小化する目的関数の設定 実行
結果:代理モデルと獲得関数 実践例
結果:分類誤差の推移 実践例 • 最初の数回の試行で最小誤差が急 激に低下し、その後も少しずつ最小 誤差が低下している • 少ない試行で質の高い解に到達、 その後より良い解を探している
まとめ • 直感に基づくパラメータ探索では、時間、再現性、精度に課題 • パラメータ探索手法には、グリッドサーチ、ランダムサーチなども存在するが、 試行に時間がかかる問題にはベイズは最適化が特に有効 • ベイズ最適化の仕組みとしては、試行、予測、判断のサイクル • 予測の直感的なイメージは、類似度に基づく重み付き平均
• MATLABにおける実践例を紹介 まとめ ぜひ研究やプロジェクトで、ベイズ最適化を使ってみてください