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
23
パラメータ探索を効率化するベイズ最適化入門
Keishu
August 13, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
TanStack DB ~状態管理の新しい考え方~
bmthd
2
320
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
1
210
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
480
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
900
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
160
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
150
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
130
ソフトウェアテスト徹底指南書の紹介
goyoki
1
110
TDD 実践ミニトーク
contour_gara
0
140
コーディングエージェント時代のNeovim
key60228
1
100
🔨 小さなビルドシステムを作る
momeemt
1
450
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing for humans not robots
tammielis
253
25k
Practical Orchestrator
shlominoach
190
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Side Projects
sachag
455
43k
Building Applications with DynamoDB
mza
96
6.6k
The Invisible Side of Design
smashingmag
301
51k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
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における実践例を紹介 まとめ ぜひ研究やプロジェクトで、ベイズ最適化を使ってみてください