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
84
勾配ブースティングの仕組み
勾配ブースティングの仕組みについて概要を説明したスライドです。
動画:
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
180
X-meansの仕組み
k_study
0
1.7k
k-meansクラスタリングの仕組み
k_study
0
220
決定木を使った回帰の仕組み
k_study
0
210
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
88
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
590
線形回帰② 正則化と過学習
k_study
0
480
外れ値とHuber(フーバー)損失
k_study
0
990
木構造1~決定木の仕組み(分類)
k_study
0
150
Other Decks in Education
See All in Education
Avoin jakaminen ja Creative Commons -lisenssit
matleenalaakso
0
1.9k
Course Review - Lecture 12 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.7k
新卒研修に仕掛ける 学びのサイクル / Implementing Learning Cycles in New Graduate Training
takashi_toyosaki
1
130
2025年度春学期 統計学 第2回 統計資料の収集と読み方(講義前配付用) (2025. 4. 17)
akiraasano
PRO
0
140
SkimaTalk Tutorial for Corporate Customers
skimatalk
0
280
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
4
1k
推しのコミュニティはなんぼあってもいい / Let's join a lot of communities.
kaga
2
1.7k
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
4
16k
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
signer
PRO
0
2.5k
2025年度春学期 統計学 第3回 クロス集計と感度・特異度,データの可視化 (2025. 4. 24)
akiraasano
PRO
0
120
SARA Annual Report 2024-25
sara2023
1
170
JOAI2025講評 / joai2025-review
upura
0
140
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
150
YesSQL, Process and Tooling at Scale
rocio
172
14k
Fireside Chat
paigeccino
37
3.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
Navigating Team Friction
lara
186
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Invisible Side of Design
smashingmag
299
51k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
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.