従来の機械学習ノート 7 - GBDT モデルの詳細な説明

序文

前回のブログ投稿では、回帰木モデルに関する基礎知識を紹介しましたが、理解できなかった場合は、 「従来の機械学習ノート 6 - 回帰木モデル」  をもう一度読んでくださいこのブログ投稿では、従来の機械学習、従来の機械学習の内容を引き続き紹介しますGBDT

1.GBDTアルゴリズム

  GBDT(Gradient Boosting Decision Tree)つまり、勾配ブースティング決定木は反復決定木アルゴリズムであり、MART弱学習器のセットを構築し、複数の決定木の結果を最終予測結果として累積することにより、事実上決定木と呼ばれます。統合アルゴリズムと組み合わせます。

1.1.ブースト

GDBTアルゴリズム  を導入する前に、まずそれを見てみる必要がありますBoostingBoostingこの手法はトレーニングと分類器にシリアル方式を採用しており、各基本分類器間には依存関係があります。彼のアイデアは、基本分類器を層ごとに重ね合わせ、各層が学習されると、前の層の基本分類器が分割されるというものです。サンプルは次のとおりです。より高い重みが与えられ、最終結果は、テスト中に分類器の各層の結果を重み付けすることによって取得されます。以前に紹介したようにBaggingBaggingトレーニング中、各基本分類器間に強い依存関係はなく、並列トレーニングを実行できることに注意してください。Bagging理解できない場合は、前のブログ投稿に戻って「1.4 .袋詰め」を確認してください。

1.2.GDBT

GDBTアルゴリズムを  正式に紹介していきますが、実際、その原理は非常に単純で、次のとおりです。

  • すべての弱分類器の結果の合計は、予測値と等しくなります。
  • 毎回、現在の予測がベンチマークとして使用され、次の弱分類器を使用して誤差関数が予測値の残差 (予測値と実際の値の間の誤差) に適合します。
  • GBDT の弱分類器はツリー モデルを使用します。

ここに画像の説明を挿入
上に示したように、価格を予測するためにGDBTそれを使用します。

  • 最初の弱分類子 (最初のツリー) は年齢 (90 元など) を予測し、計算では誤差が 10 元であることがわかります。
  • 2 番目のツリーはフィッティング残差を予測します。予測値は 6 元で、計算ではギャップがまだ 4 元であることがわかります。
  • 3 番目のツリーでは引き続きフィッティング残差の予測が行われ、予測値は 3 元であり、式のギャップはわずか 1 元であることがわかります。
  • 4番目のレッスンツリーは残りの残差を1元に当てはめて完成です。

  最終的に、4 つのツリーの結論が合計されて 100 元というマークされた答えが得られます (実際のエンジニアリングの実装では、GBDT は負の勾配を計算し、その負の勾配を使用して残差を近似します)。

1.2.1. GBDT と負の勾配近似残差

  回帰タスクを実行する場合、GDBT反復の各ラウンドでサンプルの予測値が存在し、このときの損失関数は平均二乗誤差損失関数です。
l ( yi , y ^ i ) = 1 2 ( yi − y ^ i ) 2 l\left(y_i, \hat{y}_i\right)=\frac{1}{2}\left(y_i-\hat{y}_i\right)^2( y私はy^私は)=21( y私はy^私は)2
失関数数の勾配計算
− [ ∂ l ( yi , yi ^ ) ∂ y ^ i ] = ( yi − yi ^ ) -\left[\frac{\partial l\left(y_i, \hat{y_i}\ right)}{\partial \hat{y}_i}\right]=\left(y_i-\hat{y_i}\right)[y^私はl( y私はy私は^)]=( y私はy私は^)
上の式から、損失関数が平均二乗誤差である場合、各フィッティングの値は「真の値の予測値」、つまり残差であることがわかります。

1.2.2. GDBT トレーニングプロセス

  4人の年齢予測を例に、GDBTトレーニングの流れをご紹介します。年齢が (14、16、24、26) の 4 人 (A、B、C、D) がいるとします。このうち、A と B は高校 1 年生と高校 2 年生、C と D は新卒および勤続 2 年目の社員であり、まず回帰木を使用して学習した結果は次のようになります。データが
ここに画像の説明を挿入
  大きすぎるため、これを行うには GBDT を使用します。以下では、リーフ ノードが最大 2 つを持つように制限します。つまり、各ツリーには分岐が 1 つだけあり、学習を 2 つのツリーのみに制限します。以下の図 2 に示す結果が得られます。
ここに画像の説明を挿入
  上の図の左側の図は、A と B は年齢が比較的似ており、C と D は年齢が比較的似ているため、上のデシジョン ツリーの図と同じです。 2 つのグループに分けられ、各グループは予測因子として平均年齢を使用します。このとき、残差が計算されます(つまり、A の予測値 + A の残差 = A の実際の値)ので、A の残差は 16-15=1 となります(ただし、A の予測値は前のすべての木の累積和に、その前に木が 1 つしかないので、直接 15 になります。まだ木がある場合は、それらを A) の予測値として加算する必要があります。この場合、A、B、C、D の残差はそれぞれ -1、1、-1、1 になります。次に、A、B、C、D の元の値を残差に置き換えて、2 番目のツリーに移動して学習します。予測値がその残差と等しい場合は、次の結論を追加するだけで済みます。最初の木から 2 番目の木 実際の年齢は木から取得できます。ここのデータは明らかに私ができるすべてであり、2 番目のツリーには 2 つの値 1 と -1 のみがあり、2 つのノードに直接分割されています。このとき、全員の残差は 0、つまり全員が本当の予測値を取得します。つまり、A、B、C、D の予測値がすべて実年齢と一致するようになりました。

  • A: 14 歳の高校生、めったに買い物をせず、よく百度で質問します。予測年齢は A = 15 – 1 = 14 です。
  • B: 16 歳の高校生、買い物は少なく、質問によく答える、予測年齢 B = 15 + 1 = 16
  • C: 24 歳の新卒者、よく買い物をする、よく百度の質問をする、予測年齢 C = 25 – 1 = 24
  • D: 26 歳の従業員、勤続 2 年、よく買い物をし、よく質問に答えます、予測年齢 D = 25 + 1 = 26

2. 勾配促進と勾配降下

  次に、勾配ブースティング アルゴリズムと勾配降下アルゴリズムを比較しましょう。2 つの反復最適化アルゴリズムは、損失関数の負の勾配方向の情報を使用して、反復ごとに現在のモデルを更新します。まずは両モデルの計算式を見てみましょう。
勾配降下法:
  勾配降下法では、モデルはパラメーター化された形式で表現されるため、モデルの更新はパラメーターの更新と同等になります。
F = F t − 1 − ρ t ∇ FL ∣ F = F t − 1 L = ∑ il ( yi , F ( xi ) ) \begin{gathered} F=F_{t-1}-\left.\rho_t \ nabla_F L\right|_{F=F_{t-1}} \\ L=\sum_i l\left(y_i, F\left(x_i\right)\right) \end{gathered}F=Ft 1rL F = Ft 1L=( y私はF( ×私は) )
勾配上昇:
  勾配上昇では、モデルをパラメーター化する必要はありませんが、関数空間で直接定義されるため、使用できるモデルの種類が大幅に拡張されます。
wt = wt − 1 − ρ t ∇ w L ∣ w = wt − 1 L = ∑ il ( yi , fw ( wi ) ) \begin{gathered} w_t=w_{t-1}-\left.\rho_t \nabla_w L\right|_{w=w_{t-1}} \\ L=\sum_i l\left(y_i, f_w\left(w_i\right)\right) \end{gathered}w=wt 1rL w = wt 1L=( y私はf( w私は) )

3. GDBTモデルのメリットとデメリット

GDBT上記でモデルの基本的なアルゴリズムを  紹介しましたが、その利点と欠点は何でしょうか?
アドバンテージ:

  • 予測段階では各ツリーの構造が決まっているため、計算を並列化でき、計算速度が速い。
  • 高密度データに適しており、汎化能力と表現力に優れており、データサイエンスコンペティションでは上位の一般的なモデルです。
  • 解釈性が良く、堅牢性も良く、特徴間の高次の関係を自動的に発見することができます。

欠点:

  • GBDT は高次元の疎データ セットでは効率が低く、パフォーマンスは SVM やニューラル ネットワークほど良くありません。
  • 数値特徴、NLP またはテキスト特徴のパフォーマンスが低い場合に適しています。
  • トレーニング プロセスは並列化できず、エンジニアリングの高速化は単一のツリーを構築するプロセスにのみ反映されます。

4. GDBT vs ランダムフォレスト

同じ点:

  • これらはすべて統合モデルであり、複数のツリー グループで構成されており、最終結果は複数のツリーが一緒になって決定されます。
  • RF および GBDT が CART ツリーを使用する場合、それらは分類ツリーまたは回帰ツリーになる可能性があります。

違い:

  • トレーニング中、ランダム フォレスト ツリーは並列的に生成できますが、GBDT はシリアル的にのみ生成できます。
  • ランダムフォレストの結果は多数決によって決定されますが、GBDT は複数のツリーによって累積されます。
  • ランダム フォレストは外れ値に敏感ではありませんが、GBDT は外れ値に敏感です。
  • ランダム フォレストはモデルの分散を軽減し、GBDT はモデルの偏りを軽減します。

おすすめ

転載: blog.csdn.net/qq_38683460/article/details/127614547