에듀테크 프로젝트 대시보드
그래디언트 부스팅 (Gradient Boosting)
랜덤 포레스트가 트리 여러 개를 독립적으로 만들어 평균 내는 것과 달리, 그래디언트 부스팅은
트리를 한 개씩 순서대로 만든다. 새 트리는 원본 정답이 아니라, 지금까지 모델이
못 맞힌 만큼(잔차, residual) 만 예측하도록 학습되고, 그 예측을 학습률 만큼만
살짝 더해 전체 예측을 조금씩 개선한다. 아래에서 얕은 트리(스텀프) 하나하나가 쌓이며
예측 곡선이 데이터에 맞춰지는 과정을 직접 조절해 보자.
점은 잡음이 섞인 1차원 데이터, 노란 계단선은 지금까지 쌓인 모델의 예측이다. 라운드 슬라이더를 올릴 때마다 잔차를 가장 잘 줄이는 스텀프(깊이 1 트리) 하나가 추가된다. 학습률이 작을수록 한 라운드의 영향은 작지만 더 부드럽게 수렴한다.
가장 단순하게, 모든 데이터에 대해 y의 평균값 하나로 예측을 시작한다.
지금 예측이 얼마나 틀렸는지를 잔차 = 실제값 − 현재 예측으로 구한다.
원래 y가 아니라 잔차를 새로운 정답 삼아, 얕은 트리(스텀프) 하나를 학습시킨다.
새 트리의 예측에 학습률(η)을 곱해 전체 예측에 더한다: 예측 += η × 새트리(x).
이 과정을 원하는 라운드 수만큼 반복한다.
캐글 상위권을 휩쓸었던 라이브러리들. 스텀프 대신 조금 더 깊은 트리를 쓰고, 정규화·병렬화 등을 더해 실전 성능을 끌어올렸을 뿐 핵심 원리는 동일하다.
포레스트는 트리들이 서로 독립(분산 감소), 부스팅은 트리들이 서로의 실수를 이어받는다(편향 감소).
검증 데이터 오차가 더는 줄지 않으면 라운드를 멈춰서 과적합을 막는 기법도 함께 쓰인다.