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
K_DM
January 06, 2022
Education
0
91
勾配ブースティングの仕組み
勾配ブースティングの仕組みについて概要を説明したスライドです。
動画:
https://youtu.be/ZgssfFWQbZ8
K_DM
January 06, 2022
Tweet
Share
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
190
X-meansの仕組み
k_study
0
1.7k
k-meansクラスタリングの仕組み
k_study
0
220
決定木を使った回帰の仕組み
k_study
0
210
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
90
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
610
線形回帰② 正則化と過学習
k_study
0
500
外れ値とHuber(フーバー)損失
k_study
0
1k
木構造1~決定木の仕組み(分類)
k_study
0
150
Other Decks in Education
See All in Education
小さなチャレンジが生んだチームの大きな変化 -私のふりかえり探求の原点
callas1900
0
600
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
2.1k
ビジネスモデル理解
takenawa
0
12k
2025年度春学期 統計学 第3回 クロス集計と感度・特異度,データの可視化 (2025. 4. 24)
akiraasano
PRO
0
200
Alumnote inc. Company Deck
yukinumata
0
1.1k
社外コミュニティと「学び」を考える
alchemy1115
2
170
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
200
より良い学振申請書(DC)を作ろう 2025
luiyoshida
1
3.3k
OpenSourceSummitJapanを運営してみた話
kujiraitakahiro
0
760
2025年度春学期 統計学 第8回 演習(1) 問題に対する答案の書き方(講義前配付用) (2025. 5. 29)
akiraasano
PRO
0
130
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
signer
PRO
0
2k
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
340
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Speed Design
sergeychernyshev
32
1.1k
4 Signs Your Business is Dying
shpigford
184
22k
Building an army of robots
kneath
306
45k
RailsConf 2023
tenderlove
30
1.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Rails Girls Zürich Keynote
gr2m
95
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
アンサンブル4 アンサンブル4 勾配ブースティング 勾配ブースティング
アンサンブル学習とは 複数の予測モデルを組合せて、ロバスト性やより高い性能を目指す 複数モデルの予測値をまとめる方針 ブースティング(Boosting) •バギング •ランダムフォレスト •ExtraTrees •Stacking •AdaBoost •GradientBoosting
•XGBoost 複数の予測モデルの平均や多数決を取り、 最終的な予測を行う 予測モデルの誤差に注目して 少しずつモデルを改善して行く 勾配ブースティング(Gradient Boosting) 前回までのおさらい
Adaboost データを重み付けし、予測が難しいデータを重み付けして行くことで、精度を高める … • • • • • • •
• • モデル 各モデルの出力を 受け取り集約 最終的な 出力 G1 • • • • • • • • • … G2 誤差が大きいデータの 重みを重くする モデル … 誤差が大きいデータの 重みを重くする 訓練データ 前回までのおさらい 前の学習器の誤差の外れ具合を予測できるように モデルを作るアプローチも考えられる
勾配ブースティング 正解との誤差の勾配を用いて予測を修正していく 訓練データ全体 ・・・ 最終的な 出力 • • • •
• • • • • f • • • • • • • • • f • • • • • • • • • f f 100 20 10 40 データごとの誤差 が分かる 勾配を予測する 決定木 勾配を予測する 決定木 勾配を予測する 決定木 2 1 3 3 データごとに 予測 赤字=誤差 あるデータ点の値• = 一つ目の予測+ 予測した勾配1 + … + 予測した勾配n α α 橙字=誤差
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる ※わかりやすくするためにlearning_rateを大きくして更新幅を大きくしています
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる ※わかりやすくするためにlearning_rateを大きくして更新幅を大きくしています
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる ※わかりやすくするためにlearning_rateを大きくして更新幅を大きくしています
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる ※わかりやすくするためにlearning_rateを大きくして更新幅を大きくしています
アルゴリズム① 1. いくつかモデルを作成し、その中から損失が最小のモデルを選択する 2. 以下のステップを 回繰り返す( ) 2-1. 各データについて、以下の値を計算する
fo (x) = argminγ ΣN i=1 L(yi , γ) M m = 1,2,…, M rim = − [ ∂L(yi , f(xi )) ∂f(xi ) ]f=fm−1 1 2 (yn − fm (x)))2 → yn − fm (x) 損失を偏微分 参考文献:Trevor Hastie ・Robert Tibshirani ・Jerome Friedman 著・杉山 将・井手 剛・神嶌 敏弘・栗田 多喜夫・前田 英作監訳・井尻 善久・井手 剛・岩田 具治・金森 敬文・兼村 厚範・烏山 昌幸・河原 吉伸・木村 昭悟・小 西 嘉典・酒井 智弥・鈴木 大慈・竹内 一郎・玉木 徹・出口 大輔・冨岡 亮太・波部 斉・前田 新一・持橋 大地・山田 誠訳 ”統計的学習の基礎: データマイニング・推論・予測”. 共立出版, 2014.
アルゴリズム② 2-2. を予測できるような回帰木を作成する 2-3. 終端領域 について となるような を求める
2-4. としてモデルを更新する rim Rjm (j = 1,…, Jm ) γjm = argminγ Σxi ∈Rjm L(yi , fm−1 (xi ) + γ) γjm fm (x) = fm−1 (x) + ΣJm j=1 γjm I(x ∈ Rjm ) 参考文献:Trevor Hastie ・Robert Tibshirani ・Jerome Friedman 著・杉山 将・井手 剛・神嶌 敏弘・栗田 多喜夫・前田 英作監訳・井尻 善久・井手 剛・岩田 具治・金森 敬文・兼村 厚範・烏山 昌幸・河原 吉伸・木村 昭悟・小 西 嘉典・酒井 智弥・鈴木 大慈・竹内 一郎・玉木 徹・出口 大輔・冨岡 亮太・波部 斉・前田 新一・持橋 大地・山田 誠訳 ”統計的学習の基礎: データマイニング・推論・予測”. 共立出版, 2014. 番目までの モデルの出力 m − 1 番目に加える微調整 m 可視化した回帰木
実験! じ っ け ん
実験用のデータ 数値データに対して、勾配ブースティングで予測をします ※コードは概要欄に添付します
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる
勾配ブースティングに含まれる各木の出力を可視化 少しずつ正解に向けて誤差が修正されている様子がわかる
各パラメタの影響 え い き ょ う
n_estimators 基本的にはデフォルトの設定で十分によい性能になる 一定の基準を超えると頭打ちになる
learning_rate 小さすぎても大きすぎてもダメ、n_estimatorsを固定した上でちょうど良い値を見つける 収束していない
損失関数の影響 外れ値があるとき、二乗誤差は離れたデータでも当てようとする 目的に合わせて適切な損失関数を指定する必要がある
まとめ 勾配ブースティングの仕組みを説明しました •勾配ブースティング木 = 勾配降下法 + ブースティング + 決定木学習 •はじめに決めるべき重要なパラメタは
•n_estimators •loss •パラメタ調整する必要があるのは •max_depth •learning_rate •他、木に関係するパラメタなど
参考文献 •sklearn.tree.DecisionTreeRegressor •1.11. Ensemble methods •https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/ ensemble/_gb_losses.py •Trevor Hastie ・Robert
Tibshirani ・Jerome Friedman 著・杉山 将・井手 剛・ 神嶌 敏弘・栗田 多喜夫・前田 英作監訳・井尻 善久・井手 剛・岩田 具治・金森 敬 文・兼村 厚範・烏山 昌幸・河原 吉伸・木村 昭悟・小西 嘉典・酒井 智弥・鈴木 大 慈・竹内 一郎・玉木 徹・出口 大輔・冨岡 亮太・波部 斉・前田 新一・持橋 大地・山 田 誠訳 ”統計的学習の基礎: データマイニング・推論・予測”. 共立出版, 2014.