1. 定義と概要
勾配ブースティングとは、アンサンブル学習(複数の学習器の予測を組み合わせて1つの精度の高い予測にする手法の総称)のうち、学習器を順番に作り、前の学習器が苦手だった部分を次の学習器が補正していくブースティングに分類される手法です。ここでいう弱学習器とは、単体では性能があまり高くないシンプルな予測モデルのことです。
前段の弱学習器の予測誤差を、損失関数(予測がどれだけ外れているかを数値で表す関数)の勾配として捉え、その誤差を打ち消すように次の弱学習器を逐次追加していく点が特徴です。
回帰木を弱学習器に使う方式は、勾配ブースティング決定木(GBDT)と呼ばれます。回帰木とは、データを条件分岐で振り分けながら数値を予測する木構造のモデルです。フリードマンが回帰勾配ブースティングアルゴリズムを開発したことが起点とされています。
これを高速・高精度に実装した代表的なライブラリとして、XGBoost(勾配ブースティングを高速・高精度に実装したライブラリの1つ)が挙げられます。ほかにも、LightGBM(大規模データでも高速に学習できる勾配ブースティングのライブラリ)、CatBoost(カテゴリ変数の扱いに強い勾配ブースティングのライブラリ)といった実装が知られています。
従来のブースティングである「AdaBoost」は、誤分類したサンプルの重みを増やして次の弱学習器に渡すサンプル重み更新型の手法でした。これに対し勾配ブースティングは、誤差の縮小を損失関数の最小化問題として一般化し、微分可能であればどんな損失関数にも対応できる枠組みとして整理されています。
この汎用性の高さから回帰・分類の両方に適用でき、特にテーブルデータ(表形式で整理された、行と列を持つデータ)を扱うデータ分析コンペティションで、高精度モデルの定番として広く普及しています。
2. 試験対策ポイント
G検定における重要な論点の一つが、勾配ブースティングの中核をなす残差学習の仕組みです。前の弱学習器が残した残差(実際の値と予測値の差)を次の弱学習器の学習ターゲットとし、これを繰り返すことで誤差を段階的に縮小していきます。
この一連の過程は、損失関数の勾配を反復的にたどりながら誤差を減らしていく勾配降下法(損失を減らす方向へ少しずつモデルの値を調整していく最適化の手法)として定式化されており、この対応関係が要点になります。
「AdaBoost」との違いも取り違えやすい比較の軸です。「AdaBoost」は誤分類したサンプルの重みを増やして次の学習器に渡すサンプル重み更新型であるのに対し、勾配ブースティングは予測誤差そのものを次の弱学習器の学習ターゲットにする残差学習型という対比になります。
勾配ブースティングの弱学習器には主に浅い決定木である回帰木が使われ、この組み合わせはGBDTと呼ばれます。複数の学習器を並列・独立に学習させて多数決や平均で統合するバギング(ランダムフォレストなど)とは異なり、勾配ブースティングは前段の誤差を補正しながら逐次的に弱学習器を追加していく点が対比されます。
代表的な高速実装であるXGBoost、LightGBM、「CatBoost」は、いずれも勾配ブースティング決定木を高速化・高精度化したライブラリです。ただし得意とする場面には違いがあり、次のように対応させて覚えておくと選択肢の判別に役立ちます。
| 実装 | 得意とする点 |
|---|---|
| XGBoost | 正則化の機能に強い |
| LightGBM | 大規模データでの高速な学習に強い |
| CatBoost | カテゴリ変数の扱いに強い |
正則化とは、学習のしすぎで未知データへの精度が落ちる現象を抑える工夫のことです。カテゴリ変数は、文字列などの分類を表すデータを指します。3つの実装は名前が似ているため、それぞれの強みを名称と結び付けて整理しておきたいところです。
3. 関連概念との比較・相違点
「AdaBoost」との最大の違いは、誤差の伝え方にあります。「AdaBoost」はサンプルの重み更新によって誤差を次の学習器に伝えるのに対し、勾配ブースティングは予測誤差、つまり残差そのものを次の弱学習器の学習ターゲットにします。
前者は「間違えたデータをより重視させる」間接的なアプローチであり、後者は「誤差そのものを埋める」直接的なアプローチです。この違いは取り違えやすい論点です。
ランダムフォレストに代表されるバギングとの最大の違いは、弱学習器の組み合わせ方にあります。バギングは複数の学習器を並列・独立に学習させ、その結果を多数決や平均で統合する手法です。一方、勾配ブースティングを含むブースティング系の手法は、前段の学習器が残した誤差を補正しながら弱学習器を逐次的に追加していきます。
3つの手法を、学習器の作り方と誤差の伝え方という2つの軸で並べると、位置づけの違いがはっきりします。
| 手法 | 学習器の作り方 | 誤差の伝え方 |
|---|---|---|
| 勾配ブースティング | 逐次的に追加する | 残差を次の学習器の学習ターゲットにする |
| AdaBoost | 逐次的に追加する | 誤分類したサンプルの重みを増やす |
| バギング | 並列・独立に学習させる | 誤差は伝えず、結果を多数決や平均で統合する |
並列に学習器を作るか、直列に積み上げるかという学習の進め方そのものが、バギングとブースティング系を分ける軸になります。
4. ビジネス・実務での活用シナリオ
金融業界における与信審査や不正検知の現場では、顧客属性や取引履歴といった構造化データから貸し倒れリスクや不正取引を高精度に予測するモデルとして、「XGBoost」などのGBDT系の手法が使われています。
予測精度の高さから採用例が多く、限られた与信枠を適切な相手に振り分けたり、不正取引を早期に見つけ出したりする判断の精度向上に直結します。
マーケティングや需要予測の領域では、ECサイトの購買履歴から顧客の購入確率や商品の需要量を予測する用途に活用されています。予測結果は在庫の最適化やターゲティング広告の精度向上に反映され、過剰在庫や販売機会の損失を減らす効果につながります。
「Kaggle」をはじめとするデータ分析コンペティションでは、テーブルデータを扱う課題の上位入賞モデルの多くに「LightGBM」・「XGBoost」・「CatBoost」が採用されています。コンペで磨かれた実装がそのまま実務の予測モデルに持ち込まれており、テーブルデータの分析における標準的な選択肢として定着しています。
5. 要点まとめ
- 勾配ブースティングは、前段の弱学習器の予測誤差(残差)を次の弱学習器が学習し、逐次的に誤差を縮小していくブースティング手法です。
- 「AdaBoost」がサンプルの重み更新で誤差を伝えるのに対し、勾配ブースティングは損失関数の勾配(残差)を学習ターゲットにする点が異なります。
- 代表的な高速実装に「XGBoost」「LightGBM」「CatBoost」があり、いずれもテーブルデータのコンペティションや実務の予測モデルで定番として使われています。
6. 確認問題
問1勾配ブースティングは、前の弱学習器の予測誤差(残差)を次の弱学習器が学習し、これを繰り返して誤差を縮小させる手法である。
解答・解説をみる
○ 正しい
勾配ブースティングの中核となる仕組みで、この逐次的な残差の学習は損失関数の勾配を反復的にたどる勾配降下法として定式化されます。
問2「AdaBoost」は前の学習器の誤差を残差として次の弱学習器に直接学習させる点で、勾配ブースティングと同じ仕組みを持つ。
解答・解説をみる
× 誤り
「AdaBoost」は誤分類したサンプルの重みを増やして次の学習器に渡すサンプル重み更新型であり、残差そのものを学習ターゲットにする勾配ブースティングとは仕組みが異なります。正しくは、「AdaBoost」はサンプル重み更新型、勾配ブースティングは残差(勾配)学習型という対比になります。
問3勾配ブースティングの高速な実装として、XGBoost・LightGBM・「CatBoost」が知られている。
解答・解説をみる
○ 正しい
いずれも勾配ブースティング決定木(GBDT)の代表的な高速実装で、テーブルデータのコンペティションや実務の予測モデルで広く使われています。

