More Related Content
PDF
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に) PPTX
【DL輪読会】時系列予測 Transfomers の精度向上手法 PDF
時系列予測にTransformerを使うのは有効か? PDF
PDF
PDF
PDF
What's hot
PDF
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning PDF
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎 PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2 PDF
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法 PDF
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2 PDF
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係) PDF
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由 PDF
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2 PDF
深層学習の不確実性 - Uncertainty in Deep Neural Networks - PDF
PPTX
PPTX
PDF
トピックモデルの評価指標 Coherence 研究まとめ #トピ本 PDF
混合整数ブラックボックス最適化に向けたCMA-ESの改良 / Optuna Meetup #2 PPTX
PDF
PDF
計算論的学習理論入門 -PAC学習とかVC次元とか- PDF
PDF
[DL輪読会]Deep Learning 第17章 モンテカルロ法 PPT
Similar to ベイズ最適化
PDF
PPTX
数理最適化と機械学習の融合アプローチ-分類と新しい枠組み- PDF
【輪読】Taking the Human Out of the Loop, section 8 PPTX
PPTX
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2) PPTX
PDF
PDF
PDF
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム PDF
SVM実践ガイド (A Practical Guide to Support Vector Classification) PDF
PPTX
PPTX
PDF
認知心理学への実践:データ生成メカニズムのベイズモデリング【※Docswellにも同じものを上げています】 PDF
PDF
PDF
20210427 grass roots_ml_design_patterns_hyperparameter_tuning PDF
Casual learning machine learning with_excel_no3 PPTX
PDF
20170630 Cognitive Interaction Design @ Kyoto Institute of Technology More from MatsuiRyo
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
Recently uploaded
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと... PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2 PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1 PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup ベイズ最適化
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
Action:探索空間全体の評価
⼊⼒と出⼒の関係
𝒙!
∶ ( 𝑥!
!
,𝑥"
!
, ⋯ , 𝑥#
!
)$
−−→ 𝑦!
−−→ 𝑡!
𝒙" ∶ ( 𝑥!
"
, 𝑥"
"
, ⋯ , 𝑥#
" )$ −−→ 𝑦" −−→ 𝑡"
⋮
𝒙%
: ( 𝑥!
%
, 𝑥"
%
, ⋯ , 𝑥#
%
)$
−−→ 𝑦%
−−→ 𝑡%
⼊⼒ 真の関数値 実現値(観測値)
ブ
ラ
ッ
ク
ボ
ッ
ク
ス
関
数
ノ
イ
ズ
- 13.
- 14.
諸々の定義𝒙 𝟏
~ 𝒙𝑵
: ⼊⼒(ハイパーパラメータ群)
𝒚 𝑵
: ( 𝑦#
, 𝑦$
, ⋯ , 𝑦%
)&
N点の真の関数値ベクトル
𝒕 𝑵
: ( 𝑡#
, 𝑡$
, ⋯ , 𝑡%
)&
N点の実現値ベクトル
𝜙# ~ 𝜙': 基底関数群
𝜱 =
𝜙#(𝒙 𝟏
) 𝜙$(𝒙 𝟏
)
𝜙#(𝒙 𝟐
) 𝜙$(𝒙 𝟐
)
… 𝜙'(𝒙 𝟏
)
… 𝜙'(𝒙 𝟐
)
⋮ ⋮
𝜙#(𝒙 𝑵
) 𝜙$(𝒙 𝑵
)
⋱ ⋮
… 𝜙'(𝒙 𝑵
)
𝒌 = (𝑘 𝒙 𝟏
, 𝒙 𝑵)𝟏
, 𝑘 𝒙 𝟐
, 𝒙 𝑵)𝟏
, ⋯ , 𝑘 𝒙 𝑵
, 𝒙 𝑵)𝟏
)&
i⾏⽬をベクトル化
𝜙(𝒙𝒊
)
𝑘 𝒙𝒊
, 𝒙𝒋
= 𝛼*!
𝜙(𝒙𝒊
)$
𝜙(𝒙𝒋
)
Φのカーネル関数
- 15.
𝒙 𝟏
~𝒙 𝑵
,𝒕 𝑵
(𝑡#
~𝑡%
)を知ったうえで、次に追加する未知な点𝒙 𝑵)𝟏
の評価値の実現値が 𝑡 となる確率 𝑃 𝑡 𝒕 𝑵
)の分布は正規分布となり、
その平均と分散は以下のように𝒙 𝑵)𝟏
の関数としてあらわされる。
𝝁 𝒙 𝑵)𝟏
= 𝛼*#
𝒌𝚽𝚽 𝑻
𝒕 𝑵
𝝈 𝒙 𝑵)𝟏
= 𝑘 𝒙 𝑵)𝟏
, 𝒙 𝑵)𝟏
+ 𝛽*#
− 𝒌 𝑻
𝑪 𝑵
*𝟏
𝒌
Action:探索空間全体の評価
これによって、空間全体の評価値(実現値)の分布が特定できた。
- 16.
Plan : 探索点の決定
全点の評価値の分布が分かった→ ではどの点を次に選ぶか?
• PI戦略(Probability of Improvement)
• EI戦略(Expected Improvement)
• UCB戦略(Upper Confidence Band)
(LCB戦略(Lower Confidence Band))
これらに基づいた評価関数を獲得関数と呼ぶ
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
カーネルの種類
• Squared ExponentialKernel
𝑘!" 𝑥#
, 𝑥$
= exp −
𝑥# − 𝑥$ %
2𝑙%
• Matern Kernel
𝑘&'()*+ 𝑥#
, 𝑥$
=
2,-.
Γ(𝜈)
(
2𝜈 𝑥#
− 𝑥$
𝑙
).
𝐾.(
2𝜈 𝑥#
− 𝑥$
𝑙
)
など
カーネル法全般の解説:http://enakai00.hatenablog.com/entry/2017/10/13/145337
- 23.
実装:
GPyOptでXgboostのハイパーパラメータ最適化
def blackbox(x):
learning_rate =float(x[:,0])
subsample = float(x[:,1])
colsample_bytree = float(x[:,2])
gamma = float(x[:,3])
reg_lambda = float(x[:,4])
max_depth = int(x[:,5])
n_estimators = int(x[:,6])
XGB_instance = xgb.XGBRegressor(learning_rate = learning_rate,
subsample = subsample,
colsample_bytree = colsample_bytree,
gamma = gamma,
reg_lambda = reg_lambda,
max_depth = max_depth,
n_estimators = n_estimators,
objective = "reg:linear")
scores = cross_val_score(XGB_instance,X_train,y_train,cv=4,scoring='mean_squared_errorʻ)
return -scores.mean()
xは1×nの⼆次元リス
トで渡されるので、各
パラメータを型変換
渡されたハイパーパ
ラメータでインスタ
ンス化
sklearnの
cross_val_scoreで
評価値を計算
・機械学習の⼀連の流れを関数として定義
- 24.
実装:
GPyOptでXgboostのハイパーパラメータ最適化
・探索してほしいハイパーパラメータの名前と値の範囲、連続or離散を以下のように定義
bounds = [{'name':'learning_rate','type': 'continuous', 'domain': (0.0005,0.3)},
{'name': 'sub_sample','type': 'continuous', 'domain': (0.5,1)},
{'name': 'colsample_bytree','type': 'continuous', 'domain': (0.5,1)},
{'name': 'gamma','type': 'continuous', 'domain': (0,1)},
{'name': 'reg_lambda','type': 'continuous', 'domain': (0,1)},
{'name': 'max_depth','type': 'discrete', 'domain': tuple(list(range(3,8)))},
{'name': 'n_estimator','type': 'discrete', 'domain': tuple(list(range(30,210,10)))}]
continuous:連続 discrete:離散 (continuous→discreteの順でないとエラーになる)
- 25.
実装:
GPyOptでXgboostのハイパーパラメータ最適化
・最適化を⾏うクラスをインスタンス化し、run_optimizeメソッドで最適化を実⾏
initial_design_numdata:初期探索の回数
acquisition_type:獲得関数の設定
max_iter:最⼤探索回数
XGB_Bopt = GPyOpt.methods.BayesianOptimization(f=blackbox,
domain=bounds,
initial_design_numdata=5,
acquisition_type='LCB')
XGB_Bopt.run_optimization(max_iter=15)
・最適化終了後、x_opt,fx_optメソッドで最適解、最適値を出⼒
print(XGB_Bopt.x_opt,XGB_Bopt.fx_opt)
→ array([ 0.20040502, 0.68832784, 0.66486351, 0.81031615, 0.66657359, 5, 140. ]),array([ 0.50715448])
- 26.