過学習、正則化、早期停止

ランダム フォレストとは異なり、勾配ブースティング ツリーは過学習する可能性があります。したがって ニューラル ネットワークでは、モデルに正則化と早期停止を 検証データセットを渡します。

たとえば、次の図は、トレーニングの損失曲線と精度曲線を示しています。 検証セットと検証セットです曲線が発散していることに注目してください 過学習の度合いが高いことを示唆しています。

トレーニングの損失と検証の損失を、トレーニングの損失と
  ディシジョン ツリーを使用します。トレーニングの損失は、トレーニングの損失が
  ディシジョン ツリーが増加しますただし、検証損失は
  ディシジョン ツリーは約 40 個です。ディシジョンツリーが 40 以上あるので
  検証損失が増加しますディシジョン ツリーは 400 本あり、
  トレーニングの損失と検証の損失の差が
  驚きです。

<ph type="x-smartling-placeholder"></ph> 図 29:損失とディシジョン ツリーの数 で確認できます。

 

トレーニング精度と検証精度を、トレーニング モデルの数と
  ディシジョン ツリーを使用します。トレーニングの精度は、
  ディシジョン ツリーが増加し、400 時点でほぼ 1.0 に達する
  ディシジョン ツリーを使用します。検証精度は 40 度で約 0.86 に向上
  ディシジョン ツリーが徐々に低下し、400 の判定で約 0.83
  学習します。

<ph type="x-smartling-placeholder"></ph> 図 30:精度とディシジョン ツリーの数 で確認できます。

 

勾配ブースティング ツリーの一般的な正則化パラメータは次のとおりです。

  • ツリーの最大深度。
  • 収縮率。
  • 各ノードでテストされた属性の割合。
  • 損失の L1 係数と L2 係数。

通常、ディシジョン ツリーはランダム フォレストよりかなり浅くなります 構築できますデフォルトでは、TF-DF の勾配ブースティング ツリーは深さ 6 まで成長します。 ツリーは浅いので、リーフあたりの最小サンプル数は ほとんど影響がなく、通常は調整されません。

検証用データセットが必要であることが問題となるのは、 例は少なくて済みますそのため、勾配ブースティング ディシジョン ツリーをトレーニングすることは クロス検証ループ内で実行されるか、モデルがトレーニングを開始したときに 過学習でないことが知られています。

使用例

前の章では、小規模なデータセットでランダム フォレストをトレーニングしました。この ランダム フォレスト モデルを単純に勾配ブースティング ツリー モデル:

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

使用方法と制限事項

勾配ブースト ツリーには長所と短所があります。

メリット

  • ディシジョン ツリーと同様に、数値とカテゴリをネイティブにサポート 特徴の前処理が不要なことがよくあります。
  • 勾配ブーストツリーにはデフォルトのハイパーパラメータがあり、 表示されます。それでも、ハイパーパラメータをチューニングすると、 モデルを改善します
  • 勾配ブーストツリー モデルは一般に小規模です(ノード数と 高速に実行できます(多くの場合、1 サンプルあたりわずか 1 ~数マイクロ秒)。

短所

  • ディシジョン ツリーは順番にトレーニングする必要があるため、トレーニングが遅くなる可能性がある 大きく影響しますただし、トレーニングの遅れは、トレーニング データの ディシジョン ツリーは小さくなります
  • ランダム フォレストと同様に、勾配ブースティング ツリーは内部的な学習や再利用ができない 表現です。各ディシジョン ツリー(および各ディシジョン ツリーの各ブランチ) データセット パターンを再学習する必要があります。一部のデータセットでは、特に 非構造化データ(画像、テキストなど)を使用すると、勾配ブースが 他の方法よりも悪い結果を示す傾向があります。