SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
機械学習のためのベイズ最適化入門
Report
hoxo_m
Follow
Data Scientist, HOXO-M
Jul. 1, 2017
•
0 likes
•
184,790 views
1
of
67
機械学習のためのベイズ最適化入門
Jul. 1, 2017
•
0 likes
•
184,790 views
Report
Data & Analytics
db analytics showcase Sapporo 2017 発表資料 http://www.db-tech-showcase.com/dbts/analytics
hoxo_m
Follow
Data Scientist, HOXO-M
Recommended
機械学習モデルのハイパパラメータ最適化
gree_tech
27.7K views
•
117 slides
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
12.5K views
•
216 slides
グラフィカルモデル入門
Kawamoto_Kazuhiko
116.7K views
•
67 slides
Active Learning 入門
Shuyo Nakatani
51.5K views
•
60 slides
探索と活用の戦略 ベイズ最適化と多腕バンディット
H Okazaki
4.3K views
•
41 slides
『バックドア基準の入門』@統数研研究集会
takehikoihayashi
38.5K views
•
122 slides
More Related Content
What's hot
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
25.1K views
•
173 slides
最適化計算の概要まとめ
Yuichiro MInato
7.5K views
•
46 slides
最適輸送の解き方
joisino
20.8K views
•
270 slides
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
narumikanno0918
134.2K views
•
107 slides
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
25K views
•
48 slides
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
Preferred Networks
14.6K views
•
80 slides
What's hot
(20)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
•
25.1K views
最適化計算の概要まとめ
Yuichiro MInato
•
7.5K views
最適輸送の解き方
joisino
•
20.8K views
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
narumikanno0918
•
134.2K views
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
•
25K views
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
Preferred Networks
•
14.6K views
劣モジュラ最適化と機械学習1章
Hakky St
•
14.8K views
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
•
66.8K views
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
Preferred Networks
•
5.3K views
Recent Advances on Transfer Learning and Related Topics Ver.2
Kota Matsui
•
5.4K views
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
•
11.3K views
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
•
96.5K views
Graph Neural Networks
tm1966
•
892 views
最適化超入門
Takami Sato
•
172.6K views
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
•
46.5K views
不均衡データのクラス分類
Shintaro Fukushima
•
58.8K views
SHAP値の考え方を理解する(木構造編)
Kazuyuki Wakasugi
•
12.1K views
深層生成モデルと世界モデル
Masahiro Suzuki
•
16.4K views
PRMLの線形回帰モデル(線形基底関数モデル)
Yasunori Ozaki
•
45.4K views
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
•
76K views
Viewers also liked
NIPS2015読み会: Ladder Networks
Eiichi Matsumoto
85.8K views
•
38 slides
Prophet入門【理論編】Facebookの時系列予測ツール
hoxo_m
44.3K views
•
24 slides
闇と向き合う
Nagi Teramo
10.4K views
•
38 slides
Prophet入門【R編】Facebookの時系列予測ツール
hoxo_m
38.3K views
•
62 slides
実践多クラス分類 Kaggle Ottoから学んだこと
nishio
38.4K views
•
129 slides
Prophet入門【Python編】Facebookの時系列予測ツール
hoxo_m
64.4K views
•
61 slides
Viewers also liked
(20)
NIPS2015読み会: Ladder Networks
Eiichi Matsumoto
•
85.8K views
Prophet入門【理論編】Facebookの時系列予測ツール
hoxo_m
•
44.3K views
闇と向き合う
Nagi Teramo
•
10.4K views
Prophet入門【R編】Facebookの時系列予測ツール
hoxo_m
•
38.3K views
実践多クラス分類 Kaggle Ottoから学んだこと
nishio
•
38.4K views
Prophet入門【Python編】Facebookの時系列予測ツール
hoxo_m
•
64.4K views
Kaggle meetup #3 instacart 2nd place solution
Kazuki Onodera
•
10.7K views
Pycon2017
Yuta Kashino
•
8.2K views
生成モデルの Deep Learning
Seiya Tokui
•
47.7K views
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
•
567.9K views
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
•
1.6K views
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
Takeshi Arabiki
•
9.4K views
ベアメタルクラウドの運用をJupyter NotebookとAnsibleで機械化してみた
Satoshi Yazawa
•
3.3K views
Deep learning with C++ - an introduction to tiny-dnn
Taiga Nomi
•
13.4K views
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
•
9.9K views
xtsパッケージで時系列解析
Nagi Teramo
•
21.8K views
岩波データサイエンス_Vol.5_勉強会資料02
goony0101
•
3.2K views
岩波データサイエンス_Vol.5_勉強会資料00
goony0101
•
1.2K views
Replica exchange MCMC
. .
•
12.9K views
岩波データサイエンス_Vol.5_勉強会資料01
goony0101
•
2.2K views
Similar to 機械学習のためのベイズ最適化入門
ベイズ最適化
MatsuiRyo
1.7K views
•
26 slides
RL_chapter1_to_chapter4
hiroki yamaoka
278 views
•
138 slides
20190512 bayes hands-on
Yoichi Tokita
189 views
•
41 slides
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII
1.9K views
•
75 slides
Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン
Takahiro Kubo
13.1K views
•
84 slides
Provisioning & Deploy on AWS
Amazon Web Services Japan
6.1K views
•
94 slides
Similar to 機械学習のためのベイズ最適化入門
(18)
ベイズ最適化
MatsuiRyo
•
1.7K views
RL_chapter1_to_chapter4
hiroki yamaoka
•
278 views
20190512 bayes hands-on
Yoichi Tokita
•
189 views
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII
•
1.9K views
Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン
Takahiro Kubo
•
13.1K views
Provisioning & Deploy on AWS
Amazon Web Services Japan
•
6.1K views
Optimization and simulation with DataRobot
Yuya Yamamoto
•
2.3K views
資格学校のトライアル申込者数
XICA
•
1.3K views
20190721 gaussian process
Yoichi Tokita
•
885 views
市場で勝ち続けるための品質とテストの技術②
Yahoo!デベロッパーネットワーク
•
9.2K views
マーケティング視点で捉えるアクセス解析 株式会社真摯
Yasuki Ichishima
•
15.7K views
[DL輪読会]Hyper parameter agnostic methods in reinforcement learning
Deep Learning JP
•
1.2K views
前年比300%達成! CS組織におけるExpansion戦略.pdf
ssuser0c7b0c
•
27 views
最速で価値を提供する
LIFULL Co., Ltd.
•
1.4K views
ベイズ最適化によるハイパラーパラメータ探索
西岡 賢一郎
•
430 views
一人三役!一気通貫でデータ活用するエンジニアリング
Recruit Lifestyle Co., Ltd.
•
3.2K views
QCon Tokyo 2014 - Virtuous Cycles of Velocity: What I Learned About Going Fas...
Randy Shoup
•
2K views
2018/8/6 トレLABO2 AI案件のよくある落とし穴と人材育成
Trainocate Japan, Ltd.
•
406 views
More from hoxo_m
Shinyユーザのための非同期プログラミング入門
hoxo_m
5.1K views
•
47 slides
学習係数
hoxo_m
3.7K views
•
39 slides
AJAXサイトの情報をWebスクレイピング
hoxo_m
2.3K views
•
9 slides
高速なガンマ分布の最尤推定法について
hoxo_m
6.9K views
•
30 slides
経験過程
hoxo_m
9.9K views
•
42 slides
確率論基礎
hoxo_m
13.1K views
•
32 slides
More from hoxo_m
(20)
Shinyユーザのための非同期プログラミング入門
hoxo_m
•
5.1K views
学習係数
hoxo_m
•
3.7K views
AJAXサイトの情報をWebスクレイピング
hoxo_m
•
2.3K views
高速なガンマ分布の最尤推定法について
hoxo_m
•
6.9K views
経験過程
hoxo_m
•
9.9K views
確率論基礎
hoxo_m
•
13.1K views
シンギュラリティを知らずに機械学習を語るな
hoxo_m
•
17.5K views
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
hoxo_m
•
20.7K views
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
•
44.1K views
階層モデルの分散パラメータの事前分布について
hoxo_m
•
34.6K views
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
hoxo_m
•
13.1K views
トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本
hoxo_m
•
4.4K views
協調フィルタリング入門
hoxo_m
•
45.7K views
データの不備を統計的に見抜く (Gelman’s secret weapon)
hoxo_m
•
9.8K views
カップルが一緒にお風呂に入る割合をベイズ推定してみた
hoxo_m
•
76.2K views
Stan で欠測データの相関係数を推定してみた
hoxo_m
•
8.7K views
チェビシェフの不等式
hoxo_m
•
13.2K views
swirl パッケージでインタラクティブ学習
hoxo_m
•
5.9K views
RPubs とその Bot たち
hoxo_m
•
8.3K views
5分でわかるベイズ確率
hoxo_m
•
161.2K views
機械学習のためのベイズ最適化入門
1.
機械学習のための ベイズ最適化⼊⾨ 2017/07/01 牧⼭ 幸史 db analytic
showcase 2017 1
2.
⾃⼰紹介 • ヤフー株式会社 データサイエンティスト • SBイノベンチャー
(株) AI エンジニア • 株式会社ホクソエム 代表取締役 CEO 2
3.
本⽇の内容 • ベイズ最適化 (Bayesian
Optimization) を機械学習のハイパーパラメータ探索に 利⽤ • 効率的な探索を実現 • 実⾏⽅法まで • 詳しくはこの本で → 3
4.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 4
5.
1. はじめに • ベイズ最適化が注⽬を集めている •
ベイズ最適化: 形状の分からない関数(ブラックボックス関数)の 最⼤値または最⼩値を求める⼿法 • 機械学習のハイパーパラメータ探索に利⽤ • 効率的に精度の良い学習モデルを発⾒ 5
6.
ベイズ最適化 • ベイズ最適化とは – ⼤域的最適化問題 (Global
Optimization) – 逐次最適化⼿法 (Sequential Optimization) • 適⽤対象 – ブラックボックス関数 (関数の形が不明) – 計算コストが⼤きい (時間、お⾦) • 要求: 少ない評価回数で最適値を求めたい 6
7.
⼤域的最適化問題 • 局所解に陥らずに最適値を求めたい 7 局所解 ⼤域解
8.
逐次最適化法 • これまでの結果をもとに次の観測点を決 める 8 ここら辺 良さそう 良くない
9.
逐次最適化の⾃動化 • これまでの結果を⾒て次にどこを観測し たらいいかは⼈間にはなんとなくわかる ➡︎ これを⾃動化したい •
ベイズ最適化 – ⼈間の直観的な判断を再現している 9
10.
1. まとめ • ベイズ最適化は⾼コストなブラックボッ クス関数の最適点を効率良く求める⼿法 •
何に使いたいか? ➡︎ 機械学習のハイパーパラメータ探索 10
11.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 11
12.
2. ハイパーパラメータ探索 • ほとんどの機械学習⼿法には、ハイパー パラメータが存在 •
ハイパーパラメータ: – データの学習では決定されないパラメータ – 学習の前にあらかじめ決めておく 12
13.
例: RBF SVM •
RBF カーネルでデータを⾼次元空間へ • マージン最⼤化 • 判別境界 13出典: 1.4. Support Vector Machines ー scikit-learn documentation
14.
例: RBF SVM •
ハイパーパラメータ 2つ • gamma: – 1つのサポートベクタが影響を及ぼす範囲 – ⼤きいほど影響範囲が⼩さく過学習 • cost: – 判別境界の単純さと誤分類のトレードオフ – ⼤きいほど誤分類が少ないが過学習 14
15.
例: RBF SVM 15出典:
RBF SVM parameters — scikit-learn documentation cost: ⼤ gamma: ⼤ ベスト
16.
ハイパーパラメータ探索 • ハイパーパラメータの選び⽅によって 精度が劇的に変わる • 意味を考えて慎重に選択する必要 •
データと学習モデルに対する深い理解 • 職⼈芸 16
17.
2. まとめ • ハイパーパラメータは学習前に決める •
決め⽅で精度が劇的に変わる • チューニングは職⼈芸 • もっと簡単にできないか? ➡︎ グリッドサーチ 17
18.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 18
19.
3. グリッドサーチ • ハイパーパラメータの選択は職⼈芸 •
もっと簡単にやる⽅法としてグリッド サーチがある 19
20.
グリッドサーチ • 探索範囲を格⼦状(グリッド)にする 20
21.
グリッドサーチ • ハイパーパラメータの格⼦を作る • gamma
= (10-5, 10-4, … , 102, 103) • cost = (10-4, 10-3, … , 103, 104) • それぞれの組み合わせでモデルを学習 • 例: • cost = 10-4, gamma = 10-5 ➡︎ 正答率 • cost = 10-4, gamma = 103 ➡︎ 正答率 21
22.
グリッドサーチ • すべての格⼦点で正答率を求める 22
23.
グリッドサーチ • すべての組み合わせに対して正答率を求 め、最も良いものを選択する ※正答率はクロスバリデーションで求めた • シンプルでわかりやすい •
しかし、グリッドのすべての組み合わせ (今回は10 ✖ 10 = 100) に対して正答率を 計算するのは時間がかかる 23
24.
3. まとめ • グリッドサーチはハイパーパラメータの すべての組み合わせに対して正答率を計 算し最良のものを選ぶ •
データが多い場合、1回のモデルの学習に 多⼤な時間がかかる • 効率的に探索したい ➡︎ ベイズ最適化 24
25.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 25
26.
4. ベイズ最適化 • グリッドサーチは、すべての組み合わせ についてモデルを学習 ➡︎
時間がかかる • ベイズ最適化により効率的な探索が可能 26
27.
ベイズ最適化 • 次の4点の正答率が求まっているとする 27
28.
ベイズ最適化 • 次にどこを観測するか? – 右下が良さそう –
真ん中がスカスカ • ベイズ最適化 – 正答率が良さそうなエリアを優先的に観測 – 局所解に陥らないようにスカスカのエリアも たまに観測 28
29.
観測数 = 15 •
右下を重点的に観測、スカスカエリアも観測 29
30.
観測数 = 30 •
評価値の良さそうなエリアが⼤体⾒える 30
31.
観測数 = 50 •
良さそうなエリアが埋まり、最適解が求まる 31
32.
4. まとめ • ベイズ最適化を使って、効率的に最適解 に到達 •
100個の格⼦点に対して 50回 • これまでの評価値に基づいて次の観測点 を⾃動的に判断 • どうやって判断しているか? ➡︎ 獲得関数 32
33.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 33
34.
5. 獲得関数 • ベイズ最適化は次の観測点を⾃動で判断 •
様々な戦略が提案されている ① PI 戦略 ② EI 戦略 ③ UCB 戦略 • 獲得関数は、それぞれの戦略で最⼤化さ れる関数 34
35.
① PI 戦略 •
PI 戦略 – Probability of Improvement (改善確率) – 現在の最⼤値 ybest – ybest を超える確率が最も⾼い点を次に観測 • シンプルで分かりやすいが局所解に陥る ことも 35
36.
② EI 戦略 •
PI 戦略は改善確率のみを考えた • 確率が⾼くても改善量が⼩さいと⾮効率 • EI 戦略 – Expected Improvement (期待改善量) – 評価値とベストの差 y – ybest の期待値が最も ⾼くなる点を次に観測 • 最も⼀般的に使われている 36
37.
③ UCB 戦略 •
UCB 戦略 – Upper Confidence Bound (上側信頼限界) – 評価値の信頼区間の上限が最も⾼い点を次に 観測 • 最適解にたどり着く理論的保証がある 37
38.
獲得関数 • それぞれの戦略は何らかの関数を最⼤化 する点を次に観測する – PI(x)
: y が ybest を超える確率 – EI(x) : y – ybest の期待値 – UCB(x): y の信頼区間の上限 • このような関数を獲得関数と呼ぶ 38
39.
5. まとめ • ベイズ最適化では獲得関数を最⼤化する 点を次に選ぶ •
獲得関数は確率、期待値、信頼区間など を使⽤ • どうやって計算するか? ➡︎ ガウス過程 39
40.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 40
41.
6. ガウス過程 • ベイズ最適化では獲得関数を最⼤化する 点を次に観測 •
獲得関数には確率や期待値が使われる • これらを計算するために、最適化したい 関数がガウス過程に従うと仮定する 41
42.
ガウス過程 • 関数がガウス過程に従う? • 例:
形状の分からない関数 y = f(x) • 次の5点を観測 42 x y 0.1 0.08 0.4 −0.30 0.5 −0.48 0.7 0.46 0.9 0.37
43.
ガウス過程 • 観測点から関数のだいたいの形を予想 43
44.
ガウス過程 • 未観測点の期待値 µ
と分散 σ2 を算出可能 44 σ µ
45.
ガウス過程 • 未観測点の期待値 µ
と分散 σ2 を算出可能 • µ が⼤きい: 周囲の観測点が⼤きい • σ が⼤きい: 周囲が観測されていない • µ が⼤きい点を次の観測点に選べば、⼤き い値が期待できる • しかし、そればかりでは局所解に陥る • 適度に σ の⼤きい点を探索する必要あり 45
46.
ガウス過程 • ガウス過程を仮定することで獲得関数が 計算可能に • カーネル関数の選択が必要 –
Squared Exponential: – Matern: 46
47.
カーネル関数 • 観測点同⼠がどれぐらい影響し合うか • 例:
Squared Exponential • 距離 d が遠いほど影響は⼩さくなる ➡︎「近い観測点は同じぐらいの値」を表現 47
48.
6. まとめ • 獲得関数を計算するためにガウス過程を 仮定する •
未評価点は近隣の評価点と近い値を取る • どれぐらい近くの評価点が影響するかは カーネル関数で決まる 48
49.
⽬次 1. はじめに 2. ハイパーパラメータ探索 3.
グリッドサーチ 4. ベイズ最適化 5. 獲得関数 6. ガウス過程 7. 実⾏ツール 49
50.
7. 実⾏ツール • ベイズ最適化を⾏うツールはたくさん –
SMAC – Spearmint (Python; ⾮商⽤) – COMBO (Python; 東京⼤学 津⽥研) – GPyOpt (Python) – bayesian-optimization (Python) – rBayesianOptimization (R) 50
51.
bayesian-optimization 51
52.
rBayesianOptimization 52
53.
7. まとめ • ベイズ最適化の実⾏ツールはたくさん •
特に Python ライブラリが多い • 簡単に実⾏できる – グリッド範囲の指定 – 獲得関数の指定 – カーネル関数の指定 • ぜひ実⾏してみて下さい! 53
54.
本⽇のまとめ • ベイズ最適化は⾼コストなブラックボッ クス関数の最適点を効率良く求める⼿法 • ガウス過程を⽤いて⽬的関数を表現 •
獲得関数が最⼤となる点を次の観測点に 選ぶ • ツールがたくさんあり簡単に実⾏できる 54
55.
おまけ 55
56.
ランダムサーチ • Bergstra &
Bengio (JMLR 2012) • ⼀部の機械学習⼿法において、ハイパー パラメータ探索はランダムサーチが有効 である • これは、機械学習の精度を左右するハイ パーパラメータは少数だからである 56
57.
ランダムサーチ • Bergstra &
Bengio (JMLR 2012) 57
58.
58 SMAC: ベイズ最適化ツール TPE: Tree Parzen Estimator (Bergstra+
NIPS 2011) Random: ランダムサーチ Random_2x: 2並列ランダムサーチ Li+ (arXiv 2016) Hyperband
59.
獲得関数 MI (Contal+
2014) • Mutual Information (相互情報量) • 次の探索点として、獲得関数 MI(x) = µ(x) + K Φt(x) が最も⼤きい点 x を選ぶ • γt^ は f(xt) を観測したときに得られる 相互情報量の下限を表す 59
60.
相互情報量 • ガウス過程の相互情報量(f と観測値): •
γT を相互情報量の最⼤値と定義する 60 (Srinivas+2012)
61.
GP-MI の獲得関数 • 相互情報量は最低限これだけ増加する •
情報量の増加が⼤きい点を次に選ぶ戦略 61 これまでの 情報量の下限 もし点 x を観測したら 得られる情報量の下限
62.
テスト関数 62 (図1) 混合ガウス分布 (図2)
Himmelblau
63.
63
64.
アルゴリズムの評価 • アルゴリズムの評価に Regret
(後悔) を使 う。 • Regret とは、探索点における f(xt) と最適 値 f(x★) の差 • 累積 Regret が⼩さいと良いアルゴリズム 64
65.
Regret (後悔) 65 求めたいのは ココ! この点を観測した ときの後悔の⼤きさ
66.
Regret 上限 「UCBは最適値へ収束する理論的保証あり」 正確には • 累積
Regret RT が Regret 上限 G(T)√α 以下になる確率が⼤きい Pr[RT ≦ G(T)√α] ≧ 1 – δ α = log(2/δ) • δ を⼩さくすると上限が緩くなる 66
67.
おしまい 67