Files
ResearchProject/FESurrogateModelTutorial/docs/theory/05_gradient_boosting.md
T
2026-05-21 17:03:51 +09:00

3.1 KiB

Gradient Boosting Surrogate

핵심 아이디어

Gradient Boosting은 약한 예측기, 보통 shallow decision tree를 순차적으로 더해 손실함수를 줄이는 additive model이다. 각 단계의 tree는 이전 모델의 오차를 보정하는 방향으로 학습된다.

F_M(x) = F_0(x) + sum_{m=1}^{M} nu h_m(x)
  • F_M: 최종 모델.
  • h_m: m번째 weak learner.
  • nu: learning rate.

Friedman의 2001년 논문은 gradient boosting machine을 함수공간에서의 greedy approximation으로 설명한다.

FEM surrogate에서의 의미

Gradient Boosting은 Random Forest보다 bias를 더 적극적으로 줄이는 경우가 많다. Beam surrogate에서 낮은 차수 RSM이 놓치는 비선형성을 tree ensemble이 순차적으로 보정할 수 있다.

구현 선택

이 튜토리얼에서는 scikit-learn의 GradientBoostingRegressor를 사용한다.

기본 설정 예:

GradientBoostingRegressor(
    loss="squared_error",
    learning_rate=0.05,
    n_estimators=300,
    max_depth=3,
    subsample=0.9,
    random_state=20260521
)

learning_raten_estimators는 함께 조정해야 한다. 작은 learning rate는 더 많은 tree를 요구하지만 과적합을 완화할 수 있다.

Notebook 실습 포인트

notebooks/04_gradient_boosting_surrogate.ipynb는 다음을 보여준다.

  1. 동일 dataset과 split 로드.
  2. learning_raten_estimators tradeoff.
  3. staged prediction으로 train/test error curve 확인.
  4. parity plot과 residual plot.
  5. permutation importance 또는 built-in feature importance 비교.
  6. Random Forest와 오차 패턴 비교.

장점

  • tabular regression에서 높은 성능을 내기 쉽다.
  • 비선형성과 interaction을 잘 포착한다.
  • model size와 성능의 tradeoff를 조절하기 쉽다.
  • staged prediction으로 과적합 진행을 관찰할 수 있다.

한계와 실패 모드

  • hyperparameter에 Random Forest보다 민감하다.
  • noise가 큰 데이터에서는 오차를 과도하게 따라갈 수 있다.
  • tree 기반 모델이므로 외삽은 약하다.
  • 학습 순서가 sequential하므로 Random Forest보다 병렬화 이점이 작다.
  • 너무 복잡한 설정은 교육용 notebook을 흐리게 만들 수 있다.

구조해석 해석 기준

Gradient Boosting이 좋은 선택인 경우:

  • 정확도가 중요한 tabular surrogate가 필요하다.
  • 입력 변수 수가 적거나 중간 규모다.
  • 해석 응답이 비선형이지만 불연속은 아니다.
  • 최종 비교에서 강한 classical ML baseline이 필요하다.

주의할 경우:

  • uncertainty가 핵심 요구사항이다.
  • 모델 해석성이 RSM 수준으로 필요하다.
  • 데이터 수가 매우 적다.

References