← AI 용어집

AI 용어집 · 기초 · 전통 ML·추천·검색

그래디언트 부스팅 Gradient Boosting, XGBoost

그래디언트 부스팅은 작은 결정 트리를 하나씩 차례로 더하면서, 새 트리가 앞선 트리들이 틀린 만큼을 메우도록 학습시켜 강한 예측 모델을 만드는 기법입니다. XGBoost, LightGBM, CatBoost가 대표적인 구현입니다.

쉽게 말하면 오답 노트로 공부하는 것과 비슷합니다. 첫 시험을 본 뒤 틀린 문제만 골라 다시 공부하고, 다음 시험에서 또 틀린 부분을 보충하는 식으로 조금씩 실력을 쌓아 갑니다.

어떻게 작동하나

먼저 아주 단순한 예측(예를 들어 전체 평균)에서 시작합니다. 실제 값과 예측 사이의 차이, 즉 오차를 계산한 뒤, 다음 트리는 원래 답이 아니라 이 오차를 맞히도록 학습합니다. 새 트리의 예측을 기존 예측에 한꺼번에가 아니라 조금씩(학습률만큼) 더해 오차를 줄여 나갑니다. 이 과정을 수백 번 반복하면 하나하나는 약한 트리들이 합쳐져 정교한 모델이 됩니다. 이름의 '그래디언트'는 손실 함수를 가장 빨리 줄이는 방향을 따라간다는 뜻으로, 경사 하강법과 같은 생각을 트리 쌓기에 적용한 것입니다.

오차를 메우며 트리 쌓기

  1. 1. 현재 예측 처음엔 평균 등 단순한 값
  2. 2. 오차 계산 실제 값과의 차이
  3. 3. 새 트리 학습 오차를 맞히도록
  4. 4. 조금씩 더하기 학습률만큼 반영
한 바퀴마다 트리가 하나 늘어나고, 검증 성능이 더 좋아지지 않으면 반복을 멈춥니다.

왜 중요한가

고객 정보, 거래 기록, 센서 값처럼 행과 열로 정리된 표 형태 데이터에서는 지금도 딥러닝만큼, 또는 그보다 더 잘 맞히는 경우가 많습니다. 그래서 데이터 분석 대회와 금융·커머스 현장에서 기본 무기처럼 쓰입니다. 학습과 예측이 비교적 빠르고, 어떤 항목(피처)이 예측에 많이 쓰였는지 중요도를 보여 줄 수 있어 결과를 설명하기도 쉽습니다. 거대한 GPU 없이 일반 서버에서도 돌릴 수 있다는 점도 실무에서 큰 장점입니다.

알아 둘 점

트리를 너무 많이 쌓거나 너무 깊게 만들면 학습 데이터의 잡음까지 외워 과적합이 생깁니다. 그래서 따로 떼어 둔 검증 데이터의 성능이 더 나아지지 않으면 학습을 멈추는 '조기 종료'를 흔히 씁니다. 트리 수, 깊이, 학습률 등 조정할 설정값이 많아 손이 꽤 갑니다. 이미지·글·음성처럼 구조가 없는 데이터에서는 딥러닝이 대체로 유리하며, 트리를 순서대로 쌓아야 하므로 여러 트리를 동시에 만드는 랜덤 포레스트보다 병렬 처리가 까다롭습니다.

예시

이커머스 회사는 고객의 방문 횟수, 최근 구매일, 장바구니 이용 기록 같은 표 데이터를 XGBoost나 LightGBM에 넣어 '다음 달에 이탈할 고객'을 예측하고, 위험도가 높은 고객에게 쿠폰을 보냅니다. 은행의 대출 심사 점수, 광고 클릭 예측, 수요 예측에서도 그래디언트 부스팅 모델이 널리 쓰이며, 피처 중요도를 함께 보고해 왜 그런 판단이 나왔는지 설명하는 데 활용합니다.

함께 보면 좋은 용어