AI 1015 years ago
勾配ブースティングとは何か?
データサイエンスコンペティションで非常に有用であることが証明されている機械学習モデルの一般的なタイプが、勾配ブースティングモデルです。勾配ブースティングは、基本的に弱い学習モデルを強い学習モデルに変換するプロセスです。しかし、これは具体的にどのように達成されるのでしょうか?勾配ブースティングアルゴリズムを詳しく見て、勾配ブースティングモデルがどのように弱学習器を強学習器に変換するのかをよりよく理解しましょう。 勾配ブースティングの定義 この記事では、アルゴリズムの基盤となる数学的な詳細にはあまり立ち入らずに、勾配ブースティングが何であるかについての良い直感を提供することを目的としています。勾配ブースティングが高レベルでどのように動作するかを理解したら、さらに深く掘り下げ、それを可能にする数学を探求することをお勧めします。 まず、「学習器をブーストする」とはどういう意味かを定義することから始めましょう。弱学習器は、学習モデルの特性を調整することによって強学習器に変換されます。具体的には、どの学習アルゴリズムがブーストされているのでしょうか? ブースティングモデルは、別の一般的な機械学習モデルである決定木を拡張することで機能します。 決定木モデルは、データセットをより小さな部分に分割していくことで機能し、サブセットがそれ以上分割できなくなると、ノードと葉を持つツリーが結果として得られます。決定木のノードでは、異なるフィルタリング基準を使用してデータポイントに関する決定が行われます。決定木の葉は、分類されたデータポイントです。決定木アルゴリズムは数値データとカテゴリデータの両方を扱うことができ、ツリー内の分割は特定の変数/特徴に基づいています。 ブースティングアルゴリズムの一つのタイプがAdaBoostアルゴリズムです。AdaBoostアルゴリズムは、決定木モデルを訓練し、すべての観測に等しい重みを割り当てることから始まります。最初の木の精度が評価された後、異なる観測の重みが調整されます。分類が容易だった観測の重みは下げられ、分類が困難だった観測の重みは上げられます。2番目の木はこれらの調整された重みを使用して作成され、2番目の木の予測が最初の木の予測よりも正確になることを目指します。 モデルは現在、元の木と新しい木(または木1 + 木2)の予測で構成されています。分類精度は、新しいモデルに基づいて再度評価されます。モデルの計算された誤差に基づいて3番目の木が作成され、重みが再度調整されます。このプロセスは所定の回数の反復に対して続けられ、最終的なモデルは、以前に構築されたすべての木によって行われた予測の加重和を使用するアンサンブルモデルです。 上記で説明したプロセスは決定木を基本の予測器/モデルとして使用していますが、ブースティングアプローチは、多くの標準的な分類器や回帰器モデルなど、幅広いモデルで実行できます。理解すべき重要な概念は、後続の予測器が前の予測器の誤りから学習し、予測器が順次作成されるということです。 ブースティングアルゴリズムの主な利点は、他の機械学習モデルと比較して、現在の予測を見つけるのに要する時間が短いことです。ただし、ブースティングアルゴリズムを使用する際には注意が必要です。なぜなら、過学習を起こしやすい傾向があるからです。 勾配ブースティング ここで、最も一般的なブースティングアルゴリズムの一つを見ていきましょう。勾配ブースティングモデル(GBM)はその高い精度で知られており、AdaBoostで使用される一般的な原理を拡張したものです。 勾配ブースティングモデルとAdaBoostの主な違いは、GBMはどの学習器がデータポイントを誤識別しているかを計算する方法が異なる点です。AdaBoostは、重みの大きいデータポイントを調べることでモデルのパフォーマンスが不十分な場所を計算します。一方、GBMは勾配を使用して学習器の精度を決定し、モデルに損失関数を適用します。損失関数は、モデルのデータセットへの適合精度を測定する方法であり、誤差を計算し、その誤差を減らすようにモデルを最適化します。GBMは、ユーザーが目的に応じて指定した損失関数を最適化できるようにします。 最も一般的な損失関数である平均二乗誤差(MSE)を例にとると、勾配降下法を使用して、事前に定義された学習率に基づいて予測を更新し、損失が最小となる値を見つけることを目指します。 より明確にするために: 新しいモデルの予測 = 出力変数 – 古い不完全な予測。 より統計的な意味では、GBMはモデルの残差の中に関連するパターンを見つけ、そのパターンに適合するようにモデルを調整し、残差を可能な限りゼロに近づけることを目指します。モデルの予測に対して回帰分析を行った場合、残差は0(完全な適合)の周りに分布することになり、GBMは残差内のパターンを見つけ、これらのパターンに基づいてモデルを更新しています。 言い換えれば、予測はすべての残差の合計が可能な限り0に近くなるように更新されるため、予測値は実際の値に非常に近くなります。 なお、GBMでは対数損失など、さまざまな他の損失関数を使用できます。上記では簡潔さのためにMSEを選択しました。 勾配ブースティングモデルのバリエーション...