그래디언트 부스팅

컴퓨터과학·AI
한 줄 정의: 성능이 낮은 여러 개의 모델을 순차적으로 만들면서, 이전 모델이 틀린 부분을 다음 모델이 집중적으로 보완하도록 이어 붙여 전체 성능을 높이는 학습 방법입니다.

쉽게 풀면

시험 오답노트를 만드는 과정을 떠올려봅시다. 첫 번째 모의고사를 보고 나서 틀린 문제 위주로 다시 공부하고, 두 번째 모의고사에서도 여전히 틀리는 문제가 있으면 그 부분만 콕 집어 또 보완합니다. 이렇게 몇 번을 반복하면 처음엔 어설펐던 실력이 점점 정교해집니다. 그래디언트 부스팅도 비슷합니다. 먼저 단순한 모델(주로 얕은 결정 트리) 하나를 만들어 예측하고, 그 예측이 정답과 얼마나 차이 나는지(오차)를 계산합니다. 그다음 모델은 전체 문제를 새로 푸는 게 아니라 "바로 이 오차를 줄이는 방향"으로만 학습됩니다. 이 과정을 계속 반복하면서 여러 개의 약한 모델이 오차를 조금씩 깎아내며 강력한 하나의 모델처럼 작동하게 됩니다.

왜 중요한가

그래디언트 부스팅은 여러 개의 단순한 모델을 결합해 강력한 예측 성능을 얻는 앙상블 학습의 핵심 원리를 보여주는 대표적인 방법이라서, 머신러닝 방법론을 다루는 논문에서 이론적 배경으로나 실제 비교 모델로 자주 등장합니다. 랜덤 포레스트와 함께 결정 트리 기반 앙상블의 양대 축을 이루며, 이후 등장한 XGBoost, LightGBM 같은 고성능 라이브러리들이 모두 이 원리를 확장한 것이어서 관련 연구를 읽으려면 기본 개념으로 반드시 짚고 넘어가야 합니다.

논문에서는 이렇게 쓰입니다

"제안한 예측 모델의 성능을 검증하기 위해 그래디언트 부스팅 알고리즘을 베이스라인으로 사용하였으며, 결정 트리를 약한 학습기로 채택하였다."

이 문장은 "비교 대상 모델로 그래디언트 부스팅을 사용했고, 그 안에서 오차를 줄여나가는 기본 단위 모델로는 결정 트리를 썼다"는 뜻입니다.

"학습률을 낮추고 트리 개수를 늘린 그래디언트 부스팅 모델이 학습률을 높게 설정한 모델보다 검증 데이터에서 더 안정적인 성능을 보였다."

학습 속도를 천천히 가져가면서 트리를 많이 쌓는 설정이 과적합을 줄이고 더 안정적인 결과를 낳았다는 뜻이다.

"신용평가 데이터셋에서 그래디언트 부스팅 모델은 단일 결정 트리 대비 예측 정확도가 큰 폭으로 향상되었다."

단일 모델보다 여러 트리를 순차적으로 보완하는 부스팅 방식이 훨씬 높은 예측 성능을 보였다는 의미다.

조금 더 깊게 보면

그래디언트 부스팅이라는 이름은 각 단계에서 새로운 모델이 예측값과 실제값의 차이(잔차)를 직접 맞추는 대신, 손실 함수를 가장 빠르게 줄이는 방향인 그래디언트(경사)를 학습 대상으로 삼는 데서 나왔습니다. 이 때문에 손실 함수를 회귀, 분류 등 문제 상황에 맞게 바꾸기만 하면 같은 프레임워크로 다양한 문제에 적용할 수 있다는 유연성이 있습니다. 실제 적용에서는 학습률(learning rate), 트리 개수, 트리 깊이라는 세 가지 요소를 함께 조절하며 성능과 과적합 사이의 균형을 맞추는 것이 일반적입니다.

주의할 점

그래디언트 부스팅은 여러 모델을 동시에 독립적으로 학습해 평균 내는 앙상블 학습의 배깅 방식과 달리, 모델을 순차적으로 이어 붙이기 때문에 학습에 시간이 오래 걸리고 이전 모델의 오차에 지나치게 맞추다 보면 과적합이 발생하기 쉬워 학습 강도(학습률, 트리 개수 등)를 신중히 조절해야 합니다.

관련 용어