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
59
2
Share
パラメータ探索を効率化するベイズ最適化入門
Keishu
August 13, 2025
More Decks by Keishu
See All by Keishu
スマートフォンで実現する次世代の足形計測と靴選び
keishu
0
26
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.1k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
790
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
160
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
3.2k
New "Type" system on PicoRuby
pocke
1
430
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
2
270
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
さぁV100、メモリをお食べ・・・
nilpe
0
130
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
130
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
Git: the NoSQL Database
bkeepers
PRO
432
67k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
The Invisible Side of Design
smashingmag
302
52k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Producing Creativity
orderedlist
PRO
348
40k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
ラッコキーワード サービス紹介資料
rakko
1
3.5M
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における実践例を紹介 まとめ ぜひ研究やプロジェクトで、ベイズ最適化を使ってみてください