그래디언트 부스팅(XGBoost) (Gradient Boosting (XGBoost))

컴퓨터과학·AI
한 줄 정의: 손실 함수의 그래디언트를 이용해 이전 모델의 오차를 보완하는 트리를 순차적으로 추가해가는 부스팅 기법과 이를 고속화한 대표 라이브러리.

쉽게 풀면

그래디언트 부스팅은 부스팅 방식 중에서도 손실 함수의 경사(그래디언트) 정보를 이용해 다음 트리가 어느 방향으로 오차를 줄여야 할지 정확히 계산하며 트리를 하나씩 추가해가는 방법이에요. XGBoost는 이 그래디언트 부스팅을 매우 빠르고 정확하게, 그리고 과적합을 막는 규제 항까지 포함해 구현한 대표적인 라이브러리입니다. 정형 데이터(표 형태의 데이터)를 다루는 캐글 같은 데이터 분석 대회에서 압도적으로 많이 사용되며 뛰어난 성능을 보여왔어요. LightGBM, CatBoost 등도 비슷한 계열의 인기 있는 대안 라이브러리입니다.

왜 중요한가

정형(표 형태) 데이터를 다루는 실무와 연구에서는 딥러닝보다 XGBoost 같은 트리 기반 부스팅 모델이 더 안정적으로 높은 성능을 내는 경우가 많아, 의료 데이터 예측, 금융 리스크 평가, 추천 시스템의 순위화 등 다양한 응용 분야에서 표준적인 베이스라인이자 실제 배포 모델로 쓰입니다. 또한 병렬 처리와 규제 항 덕분에 대용량 데이터에서도 비교적 빠르고 과적합에 강해, 새로운 모델의 성능을 비교하는 논문에서 비교 대상으로 빠짐없이 등장합니다.

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

"정형 데이터에 대한 예측 모델로 XGBoost를 사용하였으며, 트리 개수는 300개, 최대 깊이는 6으로 설정하였다."

표 형태의 데이터를 다루는 데 강력한 XGBoost 알고리즘을 트리 300개, 깊이 6이라는 구체적 설정으로 사용했다는 뜻이다.

"임상 데이터를 이용한 질병 재입원 예측에서 XGBoost는 로지스틱 회귀 및 랜덤 포레스트보다 높은 AUC를 기록하였다."

의료 데이터 예측 과제에서 XGBoost가 다른 전통적 모델보다 더 나은 분류 성능을 보였다는 뜻이다.

"특징 중요도 분석 결과, XGBoost 모델에서 거래 금액과 계정 생성 이후 경과일이 이상거래 탐지에 가장 크게 기여하는 변수로 나타났다."

XGBoost가 예측뿐 아니라 어떤 변수가 결과에 크게 기여했는지 해석하는 데에도 활용되었다는 의미다.

조금 더 깊게 보면

XGBoost는 기본적인 그래디언트 부스팅에 손실 함수의 2차 미분 정보를 활용한 최적화, 트리 복잡도에 대한 규제 항, 결측치 자동 처리, 열/행 서브샘플링 등을 더해 속도와 일반화 성능을 함께 끌어올린 구현체입니다. 논문에서는 흔히 트리 개수, 학습률, 최대 깊이, 규제 계수 같은 하이퍼파라미터 설정을 함께 보고하며, 예측 성능 외에도 특징 중요도(feature importance)나 SHAP 값을 이용해 모델이 어떤 변수를 근거로 예측했는지 해석하는 경우가 많습니다. LightGBM, CatBoost 같은 후속 라이브러리들도 유사한 원리를 바탕으로 속도나 범주형 변수 처리 방식을 개선한 대안으로 함께 비교되곤 합니다.

주의할 점

XGBoost는 하이퍼파라미터 개수가 많아 성능 차이가 크게 날 수 있어, 성능을 제대로 비교하려면 베이지안 최적화 등으로 충분히 튜닝했는지 확인해야 한다.

관련 용어