과적합, 정규화, 조기 중단

랜덤 포레스트와 달리 그래디언트 부스티드 트리는 과적합 가능합니다. 따라서 신경망의 경우 검증 데이터 세트를 사용하여 정규화와 조기 중단을 적용할 수 있습니다.

예를 들어 다음 그림은 GBT 모델 학습 시 학습 및 검증 세트에 대한 손실 및 정확도 곡선을 보여줍니다. 곡선이 얼마나 다양한지 알 수 있는데, 이는 높은 과적합률을 나타냅니다.

학습 트리 및 검증 손실 대비 결정 트리 수 비교 학습 트리가 증가하면 학습 손실도
  서서히 감소합니다. 그러나 유효성 검사 손실은 약 40개의 결정 트리까지만 감소합니다. 결정 트리가 40개를 넘으면 유효성 검사 손실이 실제로 증가합니다. 결정 트리가 400개인 경우 학습 손실과 검증 손실 간의 격차가 매우 큽니다.

그림 29. 손실과 결정 트리 수 비교

 

학습 정확도 및 검증 정확도와 결정 트리 수를 비교한 도표 결정 트리의 수가 증가하면 학습 정확도가 점차 높아지며 결정 트리 400개에서 거의 1.0에 도달합니다. 검증 정확도는 결정 트리 40개에서 약 0.86으로 증가한 후 결정 트리 400개에서 약 0.83으로 감소합니다.

그림 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~3μs / 예).

단점

  • 결정 트리는 순차적으로 학습해야 하므로 학습 속도가 크게 느려질 수 있습니다. 그러나 결정 트리가 더 작기 때문에 학습 속도가 느려집니다.
  • 랜덤 포레스트와 마찬가지로 그래디언트 부스티드 트리는 내부 표현을 학습하고 재사용할 수 없습니다. 각 결정 트리 (및 각 결정 트리의 각 브랜치)는 데이터 세트 패턴을 다시 학습해야 합니다. 일부 데이터 세트, 특히 구조화되지 않은 데이터 (예: 이미지, 텍스트)가 포함된 데이터 세트에서는 그래디언트 부스티드 트리로 인해 다른 방법보다 열악한 결과가 표시됩니다.