勾配ブースティングとは。

執筆者

Bryan Clark

Senior Technology Advocate

Fangfang Lee

Developer Advocate

IBM

勾配ブースティングとは何か。

勾配ブースティングは、複数の決定木を1つのモデルに組み合わせることで正確な予測を生成するアンサンブル学習アルゴリズムです。Jerome Friedman氏によって導入されたこの予測モデリング・アルゴリズム・アプローチでは、基本モデルを使用してその強みを構築し、誤差を修正し、機能を向上させます。勾配ブースティングは、データ内の複雑なパターンを捉えることで、さまざまな予測モデリングタスクに優れた効果を発揮します。1

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

アンサンブル学習とブースティング

アンサンブル学習は、複数のモデルまたは方法を組み合わせて予測パフォーマンスを向上させる機械学習アプローチです。バギングブースティングなどの技術がよく採用されます。バギングには、さまざまなデータ・サブセット上で多数のモデルをある程度のランダム性を持たせてトレーニングする必要があるため、個々の誤差を平均化することで分散を小さくすることができます。このアプローチの優れた例はランダム・フォレストです。

対照的に、ブースティングは、過去の間違いを修正するためにモデルを繰り返しトレーニングするアンサンブル手法です。その後のモデルで誤って分類されたインスタンスにより多くの重みが与えられ、困難なデータ・ポイントに集中できるようになり、最終的に全体的な性能が向上します。最初の適用可能なブースティング・アルゴリズムとして広く認識されているAdaBoostは、この手法の典型的な例です。バギングとブースティングはどちらもモデル内のバイアス分散トレードオフを最適化し、より堅牢な性能をもたらします。2

これらの手法は、特に複雑なデータ・セットやノイズの多いデータ・セットを扱う場合に、モデルの精度を向上させるための機械学習で広く使用されます。アンサンブル学習では、複数の視点を組み合わせることで、個々のモデルの限界を克服し、より高度な最適化を実現することができます。3

アンサンブル学習の文脈におけるブースティングを示した図

勾配ブースティングの仕組み

勾配ブースティングは、複数の弱い予測モデルを単一のアンサンブルに組み合わせる機械学習手法です。これらの弱いモデルは通常、エラーを最小限に抑え、精度を向上させるために順次トレーニングされる決定木です。勾配ブースティングでは、複数の決定木回帰または決定木分類器を組み合わせることで、主要な機能間の複雑な関係を効果的に把握できます。

勾配ブースティングの主要なメリットの1つは、損失関数を反復的に最小化できるため、予測精度が向上することです。ただし、モデルがトレーニング・データに特化しすぎて、新しいインスタンスにうまく一般化できない場合に発生する過学習を意識する必要があります。このリスクを軽減するには、実践者はハイパーパラメータを慎重にチューニングし、トレーニング中にモデルの性能を監視し、正規化プルーニング早期停止などの手法を使用する必要があります。これらの課題を理解し、それに対処するための措置を講じることで、実務担当者は、回帰ツリーの使用を含む勾配ブースティングの力を適切に活用して、さまざまなアプリケーション向けの正確で堅牢な予測モデルを開発することができます。4,5

平均二乗誤差(MSE)は、機械学習モデルの予測が実際のデータにどの程度一致しているかを評価するために使用される損失関数の一つです。MSEは、予測値と観測値の間の二乗差の平均を計算します。MSEの計算式は次のとおりです。MSE=Σ(yi-pi)2/n , where  yiは実際の値を表し、piは予測値であり、nは観測値の数です。

さらに詳しく説明すると、MSEは、回帰問題のために予測値とデータ・セットに含まれる実際の値の差を定量化します。二乗ステップは、正と負の両方の誤差が互いに打ち消されずに最終値に寄与することを保証するのに役立ちます。この方法では、誤差が二乗されるため、大きな誤差により多くの重みが付けられます。

MSEを解釈すると、一般に、値が低いほど予測と観測の間の一致が高いことを示します。ただし、データ・セットだけでなく母集団にも存在する固有のランダム性により、より低いMSEを達成することは現実世界のシナリオでは困難です。代わりに、MSE値を経時的に、または異なるモデル間で比較することで、予測精度の向上状況を判断することができます。また、MSEのゼロを特に目指すことは、ほとんどの場合、過学習であることを示すことも重要な点です。6

Python内のブースティング手法の一般的な実装には、Extreme Gradient Boosting(XGBoost)Light Gradient-Boosting Machine(LightGBM) などがあります。XGBoostは速度と性能を重視して設計されており、回帰および分類の問題に使用されます。LightGBMはツリーベースの学習アルゴリズムを使用しており、大規模なデータ処理に適しています。どちらの方法も、特に複雑なデータ・セットやノイズの多いデータ・セットを扱う場合の精度がさらに向上します。LightGBMは、分割点を見つけるためのデータインスタンスをフィルタリングする際に、勾配ベースの片側サンプリング(GOSS)と呼ばれる手法を採用しており、これにより計算オーバーヘッドを大幅に削減します。複数のアンサンブル学習手法を統合し、個々のモデルの制約を取り除き、データサイエンスで優れた成果を達成します。7,8

以下は、勾配ブースティング・プロセスがどのように機能するかを段階的に説明したものです。

初期化:まず、トレーニング・セットを使用して、初期予測がランダムに生成されるベース学習モデル(多くの場合、決定木)による基盤を確立します。通常、決定木には少数の葉ノードまたはターミナル・ノードしか含まれません。解釈可能性が理由で選択されることが多いのですが、これらの弱い学習者またはベース学習者は最適な出発点として機能します。この初期設定により、今後の反復作業を行うための基盤が整います。

残差の計算:各トレーニング例について、実際の値から予測値を差し引いて残差を計算します。このステップでは、モデルの予測の改善が必要な領域を特定します。

正則化による改良:残差計算後、新しいモデルのトレーニングの前に、正則化プロセスが行われます。この段階では、アンサンブルに組み込まれた新しい弱い学習器ごとの影響をダウンスケールします。このスケールを慎重に調整することで、ブースティング・アルゴリズムの進歩度合いを迅速に調整することができ、それによって過学習の防止や全体的な性能の最適化に役立ちます。

次のモデルをトレーニングする:前のステップで計算された残差をターゲットとして使用し、新しいモデルまたは弱い学習器をトレーニングして正確に予測します。このステップでは、以前のモデルによる間違いを修正し、全体的な予測を改良することに重点を置いています。

アンサンブルの更新:この段階では、更新されたアンサンブル(新しくトレーニングされたモデルを含む)の性能が通常、別のテスト・セットを使用して評価されます。このホールドアウト・データ・セットのパフォーマンスが満足の場合は、新しい弱い学習器を組み込んでアンサンブルを更新できます。それ以外の場合は、ハイパーパラメーターの調整が必要になる可能性があります。

繰り返し:必要に応じて、前に示した手順を繰り返します。各反復では、新しいツリーのトレーニングを通じて基本モデルを構築および改良し、モデルの精度をさらに向上させます。アンサンブルの更新と最終モデルが、精度に基づいてベースライン・モデルと比較して満足のいく場合は、次のステップに進みます。

停止基準:最大反復数、目標精度、収益の減少など、所定の停止基準が満たされた場合に、ブースティング・プロセスを停止します。このステップは、モデルの最終的な予測が複雑さと性能の間の期待されるバランスを確実に達成するのに役立ちます。

複数の弱い学習者を順番にトレーニングするために、ブースティング・アルゴリズムを使用して使用される逐次アンサンブル学習プロセスです。

Emsembleメソッドとスタッキング

アンサンブル法やスタッキング法により、勾配ブースティングを他の機械学習アルゴリズムと組み合わせることで、予測精度をさらに向上させることができます。例えば、勾配ブースティングをサポート・ベクター・マシン(SVM)、ランダム・フォレスト、またはk最近傍(KNN)とブレンドすると、各モデルの長所を活用し、より堅牢なアンサンブルを作成できます。スタッキングでは、複数の基本学習者のトレーニングと、そのアウトプットをメタ学習者のインプットとして使用し、予測を組み合わせて最終アウトプットを生成します。9

アンサンブル学習の文脈におけるスタッキングを示した図

早期停止と相互検証

トレーニング中にモデルの性能を監視し、早期停止手法を実装することで、検証セットの性能が向上しなくなったり、低下し始めたりした場合にプロセスを停止することで、過学習を防ぐことができます。さらに、K分割交差検証などの相互検証ストラテジーを使用すると、モデルの性能やハイパーパラメーターのチューニングの信頼性の高い推定値が得られるため、勾配ブースティングの機能をさらに強化できます。

AI Academy

カスタマー・サービスでAIを活用する

生成AIが、セルフサービス、ヒューマン・エージェント、コンタクト・センターの運用という3つの主要領域で、よりシームレスなエクスペリエンスで顧客を満足させ、組織の生産性を向上させる方法をご覧ください。

不均衡なデータ・セットへの対応

勾配ブースティングはクラスの不均衡に敏感であり、多数のクラスを優先するバイアス予測につながる可能性があります。この問題に対処するために、実務者は、少数派クラスのオーバーサンプリング、多数派のクラスのアンダーサンプリング、また、少数派のインスタンスの誤分類に対してより高いペナルティを割り当てる加重損失関数を使用するなどの手法を採用できます。

これらのストラテジーを実施し、ハイパーパラメーターを慎重にチューニングすることで、アプリケーションにわたって勾配ブースティングの予測精度と堅牢性を大幅に向上させることができます。

scikit-learn(sklearn)における勾配ブースティングのハイパーパラメータ・チューニング

scikit-learnGradientBoostingClassifierとGradientBoostingRegressorは、分類タスクと回帰タスクの両方に対応する、勾配ブースティング・アルゴリズムを実装するための多目的なアプローチを提供します。これらの実装では、ユーザーがいくつかのパラメータをファイン・チューニングできるようにすることで、特定の要件とデータ特性に応じてブースティング・プロセスをカスタマイズできます。

ツリー深さ(max_ deep):個々の決定木の最大深さを制御し、最高のパフォーマンスを実現するために調整する必要があります。より深いツリーでは、より複雑な関係を捉えることができますが、過学習の傾向もあります。

学習率(learning_rate):アンサンブル全体に対する各ツリーの寄与を決定します。学習率が小さいと、収束が遅くなり、過学習のリスクが軽減されます。しかし、値が大きいと、潜在的な過学習を犠牲にしてトレーニングの高速化が生じる可能性があります。

ツリーの数(n_estimators):アンサンブル内のツリーの総数を指定します。このパラメータを増やすと性能が向上しますが、過学習のリスクも高まります。

さらに、scikit-learnの勾配ブースティング実装では、個別の検証データ・セットを必要とせずにモデルの性能を評価する手法である、out-of-bag(OOB)推定が提供されます。さらに、scikit-learnの段階的予測方法により、新しいデータが利用可能になるたびに増分予測が可能になり、リアルタイム処理が可能かつ効率的になります。要約すると、scikit-learnの勾配ブースティング実装は、特定のニーズやデータ・セットの特性に応じてモデルをファイン・チューニングするための豊富な主要な機能セットを提供し、最終的に優れた予測パフォーマンスは性能を促進します。10

勾配ブースティングのユースケース

高次元医療データの処理:勾配ブースティングは、観察数に応じて多くの主要な機能を含むデータ・セットを効果的に処理できます。例えば、医療診断では、100を超える主要な機能が含まれる可能性がある患者データに基づいて勾配ブースティングを使用して病気を診断できます。決定木を弱い学習者として活用することで、アルゴリズムは、従来の線形回帰モデルでは困難になる可能性がある高次元を管理できる可能性があります。このアルゴリズムは、スパース・データから貴重な情報を抽出することもあるため、バイオインフォマティクスやテキスト分類の問題などのアプリケーションに適しています。11,12

カスタマー・サービスのチャーンレートの低減:モデルがすでに存在するが、性能が最適でない場合は、勾配ブースティングを使用して、過去のエラーを修正することで予測を繰り返し改良できます。一例として、電気通信業界における顧客離れの予測では、従来のロジスティック回帰モデルが使用されました。同社は、勾配ブースティング・アルゴリズムを適用して、通話量の多さ、ネットワークの性能の低下など、顧客が別のサービスに乗り換える原因となる主要要因を特定することができます。これらの要素をモデルに組み込むことで、精度を向上させ、チャーン・レートを下げることができる可能性があります。13

ブエンジニアリングの生存予測:森林生態系では、ブナ葉病(BLD)はブナの木の健全性を脅かす重大な脅威です。研究者は、BLDのリスクにさらされている樹木を特定し、その生存の可能性を予測するための予測モデルを開発できるかもしれません。気候データ、土壌の品質、木の特性などの環境要因を分析して、5年間のブナ樹の生存確率BTS)の可能性を計算できる機械学習モデルが開発されるかもしれません。勾配ブースティング技術を用いることで、単純な方法では見落とされがちな複雑なパターンを捉えることが可能です。このモデルは、BLDのリスクにさらされている樹木を高精度で特定し、BTSを正確に予測することができるため、研究者は介入の優先順位を決定し、脆弱なブツナの木を効果的に保護できます。このユースケースでは、複雑な環境監視タスクにおいて、勾配ブースティングが機械学習モデルの予測力をどのように強化できるかを示しています。14

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモを予約
脚注

Friedman, Jerome H. “Greedy Function Approximation: A Gradient Boosting Machine.” The Annals of Statistics 29, no. 5 (2001): 1189–1232. http://www.jstor.org/stable/2699986

Schapire, R.E. (2013). Explaining AdaBoost. In: Schölkopf, B., Luo, Z., Vovk, V. (eds) Empirical Inference. Springer, Berlin, Heidelberg. https://link.springer.com/chapter/10.1007/978-3-642-41136-6_5

Fan, Wenjie, et al. "A Survey of Ensemble Learning: Recent Trends and Future Directions." arXiv preprint arXiv:2501.04871 (2025).

Matsubara, Takuo. “Wasserstein Gradient Boosting: A Framework for Distribution- Valued Supervised Learning.” arXiv.org, August 29, 2024. https://search.arxiv.org/paper.jsp?r=2405.09536&qid=1743170618344ler_nCn N_-2014411830&qs=gradient%2Bboosting. 

Emami, Seyedsaman, and Gonzalo Martínez-Muñoz. 2023. “Sequential Training of Neural Networks with Gradient Boosting.” IEEE Access 11 (January): 42738–50. https://ieeexplore.ieee.org/document/10110967

Chen, Tianqi, et al. "Mean Squared Error." Encyclopedia Britannica, 2023. https://www.britannica.com/science/mean-squared-error.

XGBoost Developers. "XGBoost: A Scalable Tree Boosting System." GitHub, 2021. https://github.com/dmlc/xgboost/blob/master/README.md .

LightGBM Documentation Team. "LightGBM." 2021. https://lightgbm.readthedocs.io/en/stable/ .

Konstantinov, Andrei V., and Lev V. Utkin. “A Generalized Stacking for Implementing Ensembles of Gradient Boosting Machines.” In Studies in Systems, Decision and Control, 3–16, 2021. https://link.springer.com/chapter/10.1007/978-3-030-67892-0_1.

10 Documentation of Scikit-Learn “Scikit-Learn” 2007 https://scikit-learn.org/0.21/documentation.html

11. Lecun, Yann, et al. "Gradient-Based Learning Applied to Document Recognition." Proceedings of the IEEE 86, no. 11 (2007): 2278-2324. doi: 10.1109/PROC.2007.898639 

12 Zhang, Zhongheng, Yiming Zhao, Aran Canes, Dan Steinberg, and Olga Lyashevska. 2019. “Predictive Analytics with Gradient Boosting in Clinical Medicine.” Annals of Translational Medicine 7 (7): 152–52. https://atm.amegroups.org/article/view/24543/23475.

13 ‌Al Shourbaji, Ibrahim, Na Helian, Yi Sun, Abdelazim G. Hussien, Laith Abualigah, and Bushra Elnaim. 2023. “An Efficient Churn Prediction Model Using Gradient Boosting Machine and Metaheuristic Optimization.” Scientific Reports 13 (1): 14441. https://www.nature.com/articles/s41598-023-41093-6.

14 Manley, William, Tam Tran, Melissa Prusinski, and Dustin Brisson. “Modeling Tick Populations: An Ecological Test Case for Gradient Boosted Trees.” bioRxiv : the preprint server for biology, November 29, 2023. https://pmc.ncbi.nlm.nih.gov/articles/PMC10054924/#:~:text=The%20rapidly%20expanding%20environmental%20data,development%20of%20public%20health%20strategies.