← 9. 예측·머신러닝
그래디언트 부스팅
이 분석 해 보기 →

그래디언트 부스팅

여러 개의 예측모형을 순차적으로 추가하면서 전체 예측 오차를 줄이는 앙상블 학습 방법입니다.

손실함수학습률조기 종료XGBoost·LightGBM·CatBoost

25만20만실제 30만잔차+10만 원20만28.7만0123456나무 수

고객의 서비스 해지 여부를 예측하기 위해 의사결정나무를 만들었다고 가정해 보겠습니다. 이용 기간과 계약 유형을 기준으로 고객을 나누었지만, 일부 고객은 여전히 잘못 예측됩니다. 특히 이용 기간이 짧은 고객 중에서도 실제로 서비스를 유지하는 사람이 있고, 장기 고객 중에서도 갑자기 해지하는 사람이 있습니다.

처음 만든 모델이 이러한 차이를 충분히 설명하지 못한다면 어떻게 해야 할까요? 하나의 방법은 새로운 모델을 추가하여 기존 모델이 놓친 패턴을 학습하도록 하는 것입니다. 이러한 원리를 이용하는 대표적인 머신러닝 방법이 그래디언트 부스팅(Gradient Boosting)입니다.

그래디언트 부스팅은 여러 개의 예측모형을 순차적으로 추가하면서 전체 예측 오차를 줄이는 앙상블 학습(Ensemble Learning) 방법입니다. 일반적으로 작은 의사결정나무를 여러 개 결합하며, 앞서 만들어진 모델의 부족한 부분을 다음 모델이 보완하도록 학습합니다.

대표적인 알고리즘으로는 그래디언트 부스팅 머신(GBM), XGBoost, LightGBM, CatBoost가 있습니다. 이들은 모두 부스팅 계열에 속하지만 나무를 성장시키는 방식, 범주형 변수를 처리하는 방법, 학습 효율성과 과적합을 제어하는 기능 등에서 차이가 있습니다.

이번 글에서는 그래디언트 부스팅의 기본 개념부터 학습 원리, 실제 고객 이탈 예측 사례, XGBoost·LightGBM·CatBoost의 특징, 주요 하이퍼파라미터, 결과 해석과 예측 성능 평가 방법까지 살펴보겠습니다.

SECTION 1

그래디언트 부스팅의 개념과 학습 원리

그래디언트 부스팅이란 무엇인가요?

그래디언트 부스팅은 여러 개의 약한 학습기(Weak Learner)를 순차적으로 결합하여 하나의 예측모형을 만드는 머신러닝 방법입니다.

약한 학습기란 개별적으로는 비교적 단순한 모델을 의미합니다. 그래디언트 부스팅에서는 일반적으로 깊이가 얕은 의사결정나무를 사용하며, 각각의 나무가 전체 예측에 조금씩 기여하도록 구성합니다.

예를 들어 고객의 다음 달 구매 금액을 예측한다고 가정해 보겠습니다. 처음에는 모든 고객에게 비슷한 금액을 예측할 수 있습니다. 하지만 실제로는 구매 금액이 높은 고객과 낮은 고객이 존재하므로 예측 오차가 발생합니다.

그래디언트 부스팅은 이 오차를 줄이는 방향으로 새로운 나무를 추가합니다. 첫 번째 나무가 고객의 이용 기간과 구매 금액 사이의 관계를 학습했다면, 다음 나무는 기존 모델이 충분히 설명하지 못한 패턴을 추가로 학습할 수 있습니다. 이러한 과정을 반복하면서 여러 나무의 예측을 하나의 모델로 결합합니다.

중요한 점은 그래디언트 부스팅이 단순히 잘못 예측한 사례만 다시 학습하는 방법은 아니라는 것입니다. 선택한 손실함수(Loss Function)를 줄이는 방향으로 새로운 모델을 추가한다는 점이 핵심입니다.

그래디언트 부스팅은 어떤 원리로 작동하나요?

그래디언트 부스팅은 기존 모델에 새로운 모델을 순차적으로 더해 가면서 예측을 개선합니다.

연속형 수치를 예측하는 회귀 문제를 예로 들어보겠습니다. 고객의 실제 구매 금액이 각각 10만 원, 20만 원, 30만 원이라고 가정하겠습니다. 처음에는 세 고객 모두에게 평균 구매 금액인 20만 원을 예측할 수 있습니다.

고객실제 구매 금액최초 예측잔차
A10만 원20만 원-10만 원
B20만 원20만 원0만 원
C30만 원20만 원+10만 원
실제 30만20만25만20만28.7만0123456나무 수
단계별 예측 보정

제곱오차 손실함수를 사용하는 경우, 새로운 나무는 현재 예측값과 실제값의 차이를 줄이는 방향으로 학습할 수 있습니다. 예를 들어 첫 번째 나무가 고객 A에게는 -8만 원, 고객 B에게는 0원, 고객 C에게는 +8만 원의 보정값을 출력한다고 가정해 보겠습니다.

이 보정값을 기존 예측에 더하면 예측 결과가 개선될 수 있습니다. 하지만 그래디언트 부스팅은 새로운 나무의 보정값을 반드시 전부 반영하지는 않습니다. 일반적으로 학습률(Learning Rate)을 적용하여 각 나무가 최종 예측에 기여하는 정도를 조절합니다.

예를 들어 학습률이 0.1이라면 새 나무의 보정값 중 10%에 해당하는 부분만 반영할 수 있습니다. 이렇게 조금씩 수정하면 여러 나무를 추가하면서 예측을 점진적으로 개선할 수 있습니다.

실제 그래디언트 부스팅에서는 손실함수의 음의 기울기, 즉 음의 그래디언트(Negative Gradient)를 이용해 다음 모델이 학습할 방향을 결정합니다. 제곱오차 손실에서는 이 값이 잔차와 연결되지만, 분류 문제에서 사용하는 로그 손실 등에서는 계산 방식이 달라집니다.

SECTION 2

배깅·부스팅의 차이와 손실함수

배깅과 부스팅은 어떻게 다른가요?

앙상블 학습에서는 여러 모델을 결합하는 방법에 따라 배깅(Bagging)과 부스팅(Boosting)을 구분할 수 있습니다.

배깅은 여러 학습 표본을 만들어 모델들을 비교적 독립적으로 학습한 뒤 예측을 결합합니다. 대표적인 알고리즘이 랜덤 포레스트(Random Forest)입니다. 반면 부스팅은 앞서 만들어진 모델을 바탕으로 다음 모델을 순차적으로 추가합니다.

배깅 · 랜덤 포레스트평균 · 투표부스팅 · 그래디언트 부스팅앞 나무의 오차를다음 나무가 학습
배깅과 부스팅
구분배깅(Bagging)부스팅(Boosting)
주요 원리여러 모델의 예측을 결합모델을 순차적으로 추가하여 손실 감소
학습 방식모델을 비교적 독립적으로 학습이전 단계의 예측을 반영
대표 알고리즘랜덤 포레스트그래디언트 부스팅
주요 특징예측 분산 완화점진적인 예측 개선
주요 설정나무 수, 분할 변수 수학습률, 나무 수, 나무 복잡도

예를 들어 랜덤 포레스트는 여러 나무가 각각 고객의 해지 여부를 예측하고 그 결과를 종합합니다. 반면 그래디언트 부스팅은 기존 모델이 만든 예측을 개선하도록 새로운 나무를 순차적으로 추가합니다.

그래디언트 부스팅은 복잡한 패턴을 학습하는 데 유용하지만, 학습을 지나치게 진행하면 학습 데이터의 잡음까지 반영할 수 있습니다. 따라서 학습률, 나무 수, 최대 깊이 등의 설정을 적절하게 조절해야 합니다.

손실함수(Loss Function)는 왜 중요한가요?

그래디언트 부스팅은 손실함수를 최소화하는 방향으로 학습합니다.

따라서 어떤 손실함수를 사용하는지에 따라 모델이 학습하려는 목표가 달라집니다. 예를 들어 구매 금액처럼 연속형 수치를 예측하는 문제에서는 평균제곱오차(MSE)를 사용할 수 있습니다. 반면 서비스 해지 여부처럼 두 범주 중 하나를 예측하는 문제에서는 로그 손실(Log Loss)을 사용할 수 있습니다.

예측 문제대표적인 손실함수주요 목적
회귀제곱오차 손실실제값과 예측값의 차이 감소
이항분류이항 로그 손실실제 범주에 대한 예측 확률 개선
다중분류다중분류 로그 손실여러 범주의 예측 확률 개선
강건 회귀절대오차 또는 Huber 손실 등큰 오차의 영향을 다르게 반영

예를 들어 고객 이탈을 예측하는 경우 단순히 해지와 유지를 맞히는 것뿐 아니라 실제 해지 고객에게 높은 예측 확률을 부여하도록 학습할 수 있습니다.

하지만 로그 손실을 최소화했다고 해서 예측 확률이 반드시 잘 보정되어 있다는 뜻은 아닙니다. 실제 사건 발생 비율과 예측 확률의 일치 정도는 별도로 확인해야 합니다.

또한 모든 손실함수가 동일한 그래디언트 부스팅 구현에서 지원되는 것은 아닙니다. 실제 분석에서는 선택한 라이브러리에서 지원하는 목적함수와 평가 지표를 구분해야 합니다.

SECTION 3

대표 알고리즘: XGBoost·LightGBM·CatBoost

XGBoost란 무엇인가요?

XGBoost(Extreme Gradient Boosting)는 그래디언트 부스팅을 효율적이고 안정적으로 학습할 수 있도록 설계된 대표적인 알고리즘입니다.

XGBoost는 손실함수를 줄이는 과정에서 모형의 복잡도를 고려하는 규제화(Regularization)를 지원합니다. 또한 여러 계산 최적화 기법을 활용하여 다양한 규모의 데이터에서 예측모형을 학습할 수 있습니다.

일반적인 그래디언트 부스팅과 마찬가지로 여러 나무를 순차적으로 추가하지만, 나무의 분할과 계수 추정 과정에서 손실함수의 기울기 및 이차 미분 정보를 활용하는 방식이 특징적입니다.

XGBoost의 주요 특징

XGBoost는 분류와 회귀 문제에 모두 사용할 수 있으며, 나무의 깊이와 학습률, 행·열 샘플링, 규제 강도 등 다양한 설정을 조절할 수 있습니다. 또한 결측값을 처리하기 위한 분할 방향 학습 기능과 조기 종료(Early Stopping) 등을 지원합니다.

이러한 특징 때문에 고객 이탈 예측, 신용위험 분석, 매출 예측 등 여러 정형 데이터 분석에서 널리 활용됩니다.

다만 XGBoost가 모든 상황에서 다른 알고리즘보다 높은 성능을 보이는 것은 아닙니다. 데이터의 구조와 설정에 따라 랜덤 포레스트, LightGBM, CatBoost 또는 더 단순한 모델이 우수할 수 있습니다.

LightGBM이란 무엇인가요?

LightGBM(Light Gradient Boosting Machine)은 대규모 데이터에서 효율적으로 학습할 수 있도록 설계된 그래디언트 부스팅 알고리즘입니다.

LightGBM은 히스토그램 기반 분할과 리프 중심(Leaf-wise) 나무 성장 방식을 사용하는 것이 대표적인 특징입니다.

리프 중심 성장이란 무엇인가요?

의사결정나무를 성장시키는 방식에는 여러 종류가 있습니다.

깊이 중심리프 중심대칭 나무층별로 고르게한쪽 가지가 깊게층마다 같은 분할
나무 성장 방식

일부 나무 성장 방식은 같은 깊이에 있는 노드들을 중심으로 나무를 확장합니다. 반면 LightGBM의 기본적인 리프 중심 방식은 현재 존재하는 리프 중 손실을 가장 크게 줄일 수 있는 리프를 우선적으로 분할합니다. 이러한 방법은 제한된 분할 횟수에서 손실을 효율적으로 줄이는 데 도움이 될 수 있습니다.

하지만 특정 가지가 다른 가지보다 훨씬 깊어질 수 있기 때문에 데이터가 적거나 설정이 적절하지 않으면 과적합이 발생할 가능성도 있습니다.

LightGBM의 주요 특징

LightGBM은 많은 관측값과 여러 설명변수가 존재하는 정형 데이터에서 효율적인 학습을 기대할 수 있습니다. 또한 범주형 변수에 대한 자체적인 처리 기능도 제공합니다.

다만 모든 데이터에서 학습 속도가 가장 빠르거나 예측 정확도가 가장 높다고 보장할 수는 없습니다. 실제 성능은 데이터의 크기, 범주형 변수의 구성, 하드웨어, 하이퍼파라미터 등에 따라 달라집니다.

CatBoost란 무엇인가요?

CatBoost(Categorical Boosting)는 범주형 변수를 효과적으로 처리하는 기능을 중요하게 고려하여 설계된 그래디언트 부스팅 알고리즘입니다.

예를 들어 고객 이탈을 예측하기 위해 계약 유형, 지역, 상품 종류, 이용 채널 등의 변수를 사용한다고 가정해 보겠습니다. 이러한 변수들은 숫자 크기 자체보다 범주 구분이 중요한 범주형 데이터입니다.

일반적인 머신러닝 분석에서는 범주형 변수를 원-핫 인코딩(One-Hot Encoding) 등의 방법으로 변환하는 경우가 많습니다. CatBoost는 범주형 변수를 처리하기 위한 자체적인 알고리즘을 제공하여 이러한 전처리 작업을 줄일 수 있습니다.

CatBoost의 주요 특징

CatBoost는 범주형 변수에 대한 통계 기반 변환과 순서화된 학습 절차 등을 활용하여 예측모형을 구성합니다. 특히 범주형 변수 처리 과정에서 타깃 정보를 사용할 때 발생할 수 있는 편향과 누수 문제를 완화하도록 설계된 접근법을 사용합니다.

또한 대칭적인 나무 구조(Oblivious 또는 Symmetric Trees)를 기본적인 학습 방식으로 활용할 수 있습니다. 이러한 특징 때문에 범주형 변수가 많은 정형 데이터에서 유용한 선택지가 될 수 있습니다.

다만 범주형 변수를 자동으로 처리한다고 해서 데이터 준비나 검증이 불필요한 것은 아닙니다. 변수의 의미와 결측값, 범주 수, 데이터 분할 구조 등을 여전히 확인해야 합니다.

SECTION 4

XGBoost·LightGBM·CatBoost 비교

XGBoost·LightGBM·CatBoost는 어떻게 다른가요?

세 알고리즘은 모두 그래디언트 부스팅 계열이지만 나무를 성장시키는 방식과 데이터 처리 방법, 계산 최적화에서 차이가 있습니다.

구분XGBoostLightGBMCatBoost
알고리즘 계열그래디언트 부스팅그래디언트 부스팅그래디언트 부스팅
주요 특징규제화와 다양한 학습 설정효율적인 학습과 리프 중심 성장범주형 변수 처리와 순서화된 학습
대표 나무 성장 방식설정에 따라 다양한 방식기본적으로 리프 중심기본적으로 대칭 나무
범주형 변수 처리버전과 설정에 따라 자체 지원자체 지원자체 처리 기능이 주요 특징
분류·회귀모두 지원모두 지원모두 지원
주요 고려 사항설정의 복잡도작은 데이터의 과적합 가능성범주형 처리 설정과 학습 비용

어떤 알고리즘이 가장 적절한지는 데이터의 규모와 변수 구성, 예측 목표에 따라 달라집니다.

예를 들어 범주형 변수가 매우 많은 데이터에서는 CatBoost를 우선 검토할 수 있습니다. 관측값이 많은 데이터에서 학습 효율성이 중요하다면 LightGBM을 고려할 수 있고, 다양한 규제화와 모델 설정을 활용하려면 XGBoost도 좋은 선택지가 될 수 있습니다.

그러나 이러한 특징만으로 특정 알고리즘이 반드시 더 빠르거나 정확하다고 판단해서는 안 됩니다. 실제 분석에서는 동일한 학습·검증 조건과 평가 지표를 사용하여 여러 후보 모델을 비교하는 것이 좋습니다.

SECTION 5

고객 이탈 예측 사례와 PR-AUC

실제 사례: 고객의 서비스 해지 여부를 예측한다면?

한 구독 서비스 기업에서 고객 5,000명의 데이터를 이용해 다음 달 서비스 해지 여부를 예측한다고 가정해 보겠습니다.

전체 고객 중 650명은 서비스를 해지했고, 4,350명은 서비스를 유지했습니다. 해지 고객의 비율은 13%입니다. 분석에는 다음과 같은 변수를 사용했습니다.

변수데이터 형태설명
이용 기간수치형서비스 이용 개월 수
월 요금수치형월별 결제 금액
계약 유형범주형월 단위·연 단위 등
서비스 이용 횟수수치형최근 30일의 이용 횟수
고객센터 문의 횟수수치형최근 90일의 문의 횟수
결제 방식범주형카드·계좌이체 등
해지 여부이항 범주형해지·유지

연구 질문은 다음과 같습니다.

"고객의 이용 기록을 바탕으로 다음 달 해지 가능성을 예측할 때 어떤 부스팅 알고리즘이 가장 좋은 성능을 보일까?"

데이터를 학습용 4,000명과 최종 평가용 1,000명으로 나누었다고 가정하겠습니다. 모형의 하이퍼파라미터는 학습 데이터 내부의 교차검증에서 선택하고, 마지막에 최종 평가 데이터에서 성능을 확인했습니다.

모델별 예측 성능

알고리즘ROC-AUCPR-AUC로그 손실
XGBoost0.870.530.286
LightGBM0.860.510.294
CatBoost0.880.550.279

이 수치는 알고리즘 사이의 실제 성능 순위를 의미하지 않습니다.

ROC-AUC높을수록 좋음PR-AUC높을수록 좋음로그 손실낮을수록 좋음XGBoost0.870.530.286LightGBM0.860.510.294CatBoost0.880.550.279
세 알고리즘 성능 비교

이 예시에서는 CatBoost가 ROC-AUC와 PR-AUC 모두 가장 높았으며 로그 손실도 가장 낮게 나타났습니다. 따라서 세 모델 중 CatBoost가 해당 평가 데이터에서 상대적으로 우수한 결과를 보였다고 설명할 수 있습니다.

하지만 ROC-AUC가 0.87인 XGBoost와 0.88인 CatBoost 사이의 차이는 크지 않습니다. 실제 연구에서는 평가 표본의 변동에 따른 불확실성을 고려하고, 필요에 따라 신뢰구간이나 반복 평가 결과 등을 함께 확인할 수 있습니다.

또한 최종 평가 데이터의 결과를 반복적으로 확인하면서 알고리즘을 다시 선택하면 평가 데이터에 간접적으로 과적합될 수 있습니다.

따라서 최종 모델은 학습 데이터 내부의 검증 결과를 중심으로 선택하고, 별도로 보관한 평가 데이터는 일반화 성능을 확인하는 데 사용하는 것이 좋습니다.

PR-AUC는 왜 중요한가요?

고객 이탈 예측처럼 관심 사건의 비율이 낮은 데이터에서는 정확도만으로 예측 성능을 판단하기 어렵습니다.

앞선 사례에서는 전체 고객의 13%만 서비스를 해지했습니다. 모든 고객을 유지로 예측하는 모델이라도 정확도는 87%가 됩니다. 하지만 실제 해지 고객을 한 명도 찾아내지 못하므로 고객 이탈 대응에 활용하기 어렵습니다.

이러한 경우 정밀도(Precision), 재현율(Recall), PR-AUC 등을 함께 확인하는 것이 좋습니다. 정밀도는 해지 위험 고객으로 예측한 사람 중 실제로 해지한 비율이고, 재현율은 실제 해지 고객 중 모형이 찾아낸 비율입니다.

PR-AUC는 여러 분류 기준값에서 나타나는 정밀도와 재현율의 관계를 요약합니다. 예를 들어 해지율이 13%인 데이터에서 무작위 순위에 대한 기대 정밀도는 약 13%입니다. 따라서 PR-AUC를 해석할 때는 전체 양성 비율을 함께 고려해야 합니다.

다만 PR-AUC가 높다고 해서 특정 기준값에서 정밀도와 재현율이 모두 높다는 뜻은 아닙니다. 실제 운영에서는 고객에게 어떤 조치를 취할지에 따라 분류 기준값을 선택하고, 해당 기준값에서의 성능을 별도로 확인해야 합니다.

SECTION 6

하이퍼파라미터·학습률·조기 종료

그래디언트 부스팅에서는 어떤 설정이 중요한가요?

그래디언트 부스팅 모델의 성능은 하이퍼파라미터 설정에 영향을 받습니다.

대표적으로 학습률, 나무 수, 최대 깊이, 최소 리프 표본 수, 행·열 샘플링 비율, 규제 강도 등이 있습니다.

설정의미
학습률(Learning Rate)새 나무가 최종 예측에 기여하는 정도
나무 수(Number of Trees)순차적으로 추가할 나무의 개수
최대 깊이(Max Depth)개별 나무의 복잡도 제한
리프 수(Number of Leaves)개별 나무의 리프 개수 제한
행 샘플링(Subsampling)학습 과정에서 사용할 관측값 비율
변수 샘플링(Column Sampling)학습 또는 분할에서 사용할 변수 비율
L1·L2 규제계수나 리프 값 등에 대한 페널티
조기 종료(Early Stopping)검증 성능이 개선되지 않을 때 학습 중단

설정값은 알고리즘마다 지원 여부와 구체적인 의미가 다를 수 있습니다. 예를 들어 LightGBM에서는 리프 수가 중요한 설정 중 하나이며, XGBoost와 CatBoost에서는 나무 깊이나 규제 관련 설정이 중요한 역할을 할 수 있습니다.

하이퍼파라미터는 무조건 크게 또는 작게 설정하는 것이 아니라 데이터와 예측 목적에 맞춰 조정해야 합니다.

학습률과 나무 수는 어떤 관계가 있나요?

그래디언트 부스팅에서 학습률과 나무 수는 서로 밀접하게 관련되어 있습니다.

학습률은 새로운 나무의 예측 기여도를 조절합니다. 나무 수는 학습 과정에서 몇 개의 나무를 순차적으로 추가할지 결정합니다. 일반적으로 학습률을 낮추면 각 나무가 예측을 조금씩 수정하므로 비슷한 수준의 학습 성능에 도달하기 위해 더 많은 나무가 필요할 수 있습니다.

학습률 0.30학습률 0.10학습률 0.03나무 수 →손실
학습률별 손실 감소

반대로 학습률을 높이면 적은 수의 나무로 손실을 빠르게 줄일 수 있지만, 학습 과정이 지나치게 공격적으로 진행되거나 일반화 성능이 떨어질 위험이 있습니다. 예를 들어 다음과 같은 설정을 비교할 수 있습니다.

모델학습률최대 나무 수
A0.30100
B0.10300
C0.031,000

세 설정의 성능이 동일하다는 뜻은 아닙니다.

실제 분석에서는 학습률과 나무 수를 함께 조정해야 합니다. 특히 조기 종료를 이용하면 검증 성능이 더 이상 개선되지 않는 시점에서 학습을 중단할 수 있습니다.

하지만 가장 작은 학습률과 가장 많은 나무가 언제나 좋은 결과를 만드는 것은 아닙니다. 학습 시간과 계산 자원, 데이터 구조를 함께 고려해야 합니다.

조기 종료(Early Stopping)는 무엇인가요?

그래디언트 부스팅은 나무를 순차적으로 추가하면서 학습 데이터의 손실을 줄입니다.

하지만 학습 데이터에서 손실이 계속 감소하더라도 새로운 데이터에 대한 예측 성능은 어느 시점부터 나빠질 수 있습니다. 이러한 문제를 완화하기 위한 방법이 조기 종료입니다.

예를 들어 최대 1,000개의 나무를 추가하도록 설정했지만, 검증 데이터에서 PR-AUC가 250번째 나무 이후 개선되지 않는다고 가정해 보겠습니다. 조기 종료를 적용하면 일정 횟수 동안 성능이 개선되지 않을 때 학습을 중단하거나 가장 좋은 검증 성능을 보인 시점의 모델을 선택할 수 있습니다.

나무 수에 따른 성능 예시

나무 수학습 PR-AUC검증 PR-AUC
500.520.44
1500.710.51
2500.800.55
4000.890.53
6000.960.49
0.400.450.500.550.600.440.510.550.530.49최고 · 250개50150250400600나무 수검증 PR-AUC
조기 종료 지점

이 사례에서는 250개의 나무를 사용했을 때 검증 PR-AUC가 가장 높았습니다. 이후 나무 수를 늘리면서 학습 데이터의 성능은 개선되었지만 검증 데이터의 성능은 낮아졌습니다. 따라서 조기 종료를 활용하면 불필요한 학습을 줄이고 과적합을 완화하는 데 도움이 됩니다.

다만 조기 종료에 사용한 검증 데이터는 모델 학습 절차의 일부입니다. 최종 성능 평가에는 조기 종료와 모델 선택에 사용하지 않은 별도의 데이터를 사용하는 것이 적절합니다.

SECTION 7

클래스 불균형 처리

클래스 불균형은 어떻게 처리하나요?

그래디언트 부스팅은 고객 이탈, 부정거래 탐지, 희귀 사건 예측처럼 클래스 불균형이 있는 데이터에도 자주 사용됩니다.

예를 들어 고객 10,000명 중 500명만 서비스를 해지했다고 가정해 보겠습니다. 해지 고객의 비율은 5%이므로 모델이 다수 범주인 유지 고객을 잘 예측하더라도 해지 고객을 충분히 찾아내지 못할 수 있습니다.

이러한 경우에는 클래스 가중치(Class Weight), 양성 범주 가중치, 재표본추출(Resampling), 분류 기준값 조정 등을 고려할 수 있습니다.

클래스 가중치는 적은 범주의 예측 오류가 학습 과정에 더 크게 반영되도록 하는 방법입니다. XGBoost에서는 이항분류 문제에 사용할 수 있는 scale_pos_weight와 같은 설정이 있으며, LightGBM과 CatBoost도 관련 가중치 설정을 지원합니다.

다만 클래스 가중치를 높인다고 해서 실제 해지 고객을 항상 더 정확하게 예측할 수 있는 것은 아닙니다. 가중치를 변경하면 모형의 순위 성능뿐 아니라 예측 확률의 보정 상태도 달라질 수 있습니다.

따라서 해지 고객을 더 많이 찾아내는 것이 중요한지, 불필요한 조치를 줄이는 것이 중요한지에 따라 적절한 지표와 기준값을 선택해야 합니다. 또한 재표본추출을 사용한다면 학습 데이터 내부에서만 적용하여 평가 데이터의 정보가 누수되지 않도록 해야 합니다.

SECTION 8

변수 중요도 해석

그래디언트 부스팅의 변수 중요도는 어떻게 확인하나요?

그래디언트 부스팅 모델은 여러 나무의 분할을 이용하므로 변수 중요도를 계산할 수 있습니다.

하지만 어떤 중요도 계산 방법을 사용하는지에 따라 결과의 의미가 달라집니다.

분할 기반 중요도

변수가 나무의 분할에서 얼마나 자주 사용되었는지 계산하는 방법입니다. 예를 들어 이용 기간이 여러 나무에서 자주 분할 조건으로 사용되었다면 높은 중요도를 가질 수 있습니다. 다만 자주 사용되었다는 사실만으로 예측 성능에 크게 기여했다고 단정할 수는 없습니다.

손실 감소 기반 중요도

변수가 분할에 사용되었을 때 손실함수 또는 분할 평가 기준이 얼마나 개선되었는지 계산하는 방법입니다. XGBoost에서는 Gain과 같은 중요도 지표를 확인할 수 있습니다. 이는 해당 변수가 분할 과정에서 예측 개선에 얼마나 기여했는지 나타내지만, 실제 결과에 대한 인과적 영향력과는 다릅니다.

순열 중요도(Permutation Importance)

특정 변수의 값을 무작위로 섞은 뒤 모델의 예측 성능이 얼마나 감소하는지 계산합니다. 예를 들어 계약 유형을 섞었더니 PR-AUC가 0.55에서 0.43으로 감소했다면 원래 계약 유형 정보가 모델의 예측 성능에 중요했을 가능성이 있습니다.

그러나 서로 높은 상관관계를 가진 변수가 존재하면 개별 변수의 중요도가 왜곡될 수 있으므로 주의해야 합니다.

SECTION 9

SHAP·PDP·ALE로 예측 설명하기

SHAP으로 개별 고객의 예측을 설명할 수 있나요?

그래디언트 부스팅 모델은 여러 나무를 결합하므로 하나의 규칙만으로 예측 결과를 설명하기 어렵습니다.

이때 SHAP(Shapley Additive Explanations)을 이용하면 특정 관측값의 예측에 각 변수가 어떻게 기여했는지 살펴볼 수 있습니다. 예를 들어 어떤 고객의 해지 예측 확률이 72%로 나타났다고 가정해 보겠습니다.

해당 고객의 이용 기간이 짧고 월 단위 계약을 사용하며 고객센터 문의 횟수가 많다면 이러한 특성이 예측 점수를 높이는 데 기여했을 수 있습니다. 반대로 최근 서비스 이용 횟수가 많다면 해지 예측 점수를 낮추는 방향으로 기여했을 수도 있습니다.

SHAP은 이러한 기여도를 변수별로 나누어 설명하는 데 도움이 됩니다. 다만 SHAP 값이 항상 확률의 증가·감소분을 직접 나타내는 것은 아닙니다. 많은 나무 기반 분류모형에서는 로그 오즈나 원시 점수 척도에서 SHAP 값을 계산하기도 합니다.

따라서 SHAP 결과를 해석할 때는 어떤 출력 척도를 기준으로 계산했는지 확인해야 합니다. 또한 SHAP 값은 모형이 예측에 활용한 관계를 설명할 뿐이며, 변수의 값을 실제로 바꾸었을 때 결과가 같은 크기로 변화한다는 인과적 의미는 아닙니다.

PDP와 ALE는 무엇인가요?

그래디언트 부스팅에서는 변수와 예측 결과 사이의 관계를 시각적으로 살펴보기 위해 부분의존도(PDP)와 누적국소효과(ALE)를 사용할 수 있습니다.

부분의존도(PDP)

PDP(Partial Dependence Plot)는 특정 변수의 값을 변화시키면서 모델의 평균적인 예측이 어떻게 달라지는지 보여줍니다. 예를 들어 이용 기간을 3개월, 6개월, 12개월, 24개월로 바꾸어 가며 평균 예측 해지 확률이 어떻게 달라지는지 확인할 수 있습니다.

이를 통해 이용 기간이 길어질수록 해지 위험이 감소하는지, 특정 구간에서 변화가 큰지 등 모델이 학습한 관계를 살펴볼 수 있습니다. 하지만 이용 기간과 계약 유형이 강하게 관련되어 있다면 현실적으로 드문 변수 조합을 이용해 예측을 계산할 수 있다는 한계가 있습니다.

누적국소효과(ALE)

ALE(Accumulated Local Effects)는 특정 변수의 실제 관측 구간에서 예측 변화량을 계산하고 이를 누적하여 변수의 효과 패턴을 요약합니다. PDP와 비교했을 때 변수 간 상관관계가 존재하는 상황에서 현실적으로 드문 조합의 영향을 줄이는 데 도움이 될 수 있습니다.

다만 ALE 역시 모형이 학습한 예측 관계를 설명하는 방법이지 인과효과를 추정하는 방법은 아닙니다.

SECTION 10

그래디언트 부스팅과 랜덤 포레스트 비교

그래디언트 부스팅과 랜덤 포레스트 중 무엇을 선택해야 할까요?

그래디언트 부스팅과 랜덤 포레스트는 모두 정형 데이터 예측에 많이 사용하는 알고리즘입니다.

두 방법은 여러 의사결정나무를 결합하지만 학습 방식과 주요 설정에서 차이가 있습니다.

구분랜덤 포레스트그래디언트 부스팅
기본 방식여러 나무의 예측을 결합손실을 줄이도록 나무를 순차적으로 추가
주요 목적예측 분산 완화예측 손실의 점진적 감소
대표 설정나무 수, 분할 변수 수, 최대 깊이학습률, 나무 수, 최대 깊이, 규제
학습 방식나무 간 병렬화가 비교적 쉬움순차적 의존성이 존재
대표 알고리즘Random ForestXGBoost, LightGBM, CatBoost

예를 들어 학습 시간이 제한되어 있고 하이퍼파라미터 조정을 간단하게 시작하고 싶다면 랜덤 포레스트를 기준모형으로 사용할 수 있습니다. 반면 여러 설정을 조정하면서 높은 예측 성능을 탐색하려는 경우 그래디언트 부스팅을 함께 비교할 수 있습니다.

하지만 데이터에 따라 랜덤 포레스트가 더 높은 성능을 보일 수도 있습니다. 따라서 알고리즘의 복잡도만으로 우열을 판단해서는 안 됩니다. 실제로는 동일한 데이터 분할과 평가 지표를 이용해 여러 후보 모델을 비교하는 것이 좋습니다.

SECTION 11

데이터 누수와 검증 시 주의사항

그래디언트 부스팅에서 데이터 누수는 왜 위험한가요?

그래디언트 부스팅은 복잡한 변수 조합을 학습할 수 있기 때문에 데이터 누수(Data Leakage)에 특히 주의해야 합니다.

데이터 누수는 실제 예측 시점에 사용할 수 없는 정보가 모델의 학습이나 평가에 포함되는 문제입니다. 예를 들어 다음 달 고객의 서비스 해지를 예측하는 모델에 다음 달 해지 신청 여부를 입력변수로 포함했다면, 모델은 실제 운영에서는 사용할 수 없는 정보를 활용하게 됩니다.

이러한 경우 평가 성능이 매우 높게 나타날 수 있지만 실제 고객을 사전에 예측하는 데는 사용할 수 없습니다. 전처리 과정에서도 누수가 발생할 수 있습니다. 전체 데이터에서 결측값을 대체하거나 변수 선택을 수행한 뒤 학습·평가 데이터를 나누면 평가 데이터의 정보가 학습 과정에 반영될 수 있습니다.

따라서 데이터를 먼저 분할하고, 전처리 기준과 모델 설정은 학습 데이터에서만 결정해야 합니다. 또한 동일 고객의 반복 관측값이 존재한다면 그룹 기준 분할을 고려하고, 미래 결과를 예측한다면 시간 기준 분할을 사용하는 것이 적절할 수 있습니다.

SECTION 12

분석 결과 보고하기

그래디언트 부스팅 결과는 어떻게 보고하나요?

그래디언트 부스팅을 이용한 예측 연구에서는 모델 이름뿐 아니라 데이터 분할 방식, 입력변수, 하이퍼파라미터 탐색 과정, 주요 평가 지표 등을 함께 제시해야 합니다.

앞서 살펴본 고객 이탈 예측 사례를 이용하면 다음과 같이 작성할 수 있습니다.

결과 보고 예시

고객의 다음 달 서비스 해지 여부를 예측하기 위해 XGBoost, LightGBM, CatBoost 분류모형을 구축하였다. 전체 5,000명의 고객 중 4,000명을 학습에 사용하고 1,000명을 최종 평가에 활용하였다. 각 모델의 하이퍼파라미터는 학습 데이터 내부의 교차검증을 통해 선택하였다. 최종 평가 결과 XGBoost의 ROC-AUC는 0.87, PR-AUC는 0.53으로 나타났으며, LightGBM은 각각 0.86과 0.51, CatBoost는 0.88과 0.55로 나타났다. 이 예시에서는 CatBoost가 비교한 세 모델 중 가장 높은 순위 구분 성능을 보였다.

실제 연구에서는 평가 데이터의 클래스 비율과 사용한 주요 설정, 성능의 불확실성 등을 함께 보고하는 것이 좋습니다. 또한 예측 확률을 실제 업무에 활용하려는 경우 확률 보정 결과와 선택한 분류 기준값에서의 정밀도, 재현율 등을 추가로 확인해야 합니다.

SECTION 13

주요 활용 분야

그래디언트 부스팅은 어디에 활용할 수 있나요?

그래디언트 부스팅은 여러 특성이 복잡하게 연결되어 있는 정형 데이터 예측 문제에서 폭넓게 활용됩니다.

마케팅 및 고객 분석

고객의 서비스 해지 가능성, 구매 여부, 재구매 금액, 고객 생애가치 등을 예측할 수 있습니다. 특히 계약 유형과 이용 기간처럼 여러 변수의 상호작용이 중요한 문제에 활용할 수 있습니다.

금융 및 경제

대출 연체 가능성, 채무불이행 위험, 부정거래 탐지, 기업 재무성과 예측 등에 사용할 수 있습니다. 다만 금융 의사결정에서는 관련 규정과 모델 공정성, 설명 가능성도 함께 고려해야 합니다.

보건 및 의료 연구

여러 검사 결과와 환자 특성을 이용해 위험 수준이나 특정 건강 결과를 예측하는 연구에 활용할 수 있습니다. 실제 의료 현장에 적용하려면 충분한 외부 검증과 안전성 평가가 필요합니다.

교육 연구

학생의 학업 성취도, 중도 탈락 가능성, 교육 프로그램 수료 여부 등을 예측할 수 있습니다.

제조업 및 품질관리

제품 불량 여부, 설비 고장 가능성, 생산 품질, 유지보수 필요성 등을 예측하는 데 활용할 수 있습니다.

서비스 운영 및 정보기술

시스템 장애 가능성, 고객 문의량, 서비스 이용 패턴, 이상거래 여부 등을 예측할 수 있습니다. 이처럼 그래디언트 부스팅은 분류뿐 아니라 연속형 수치를 예측하는 회귀 문제에도 활용할 수 있으며, 다양한 수치형·범주형 변수가 포함된 데이터에서 유용하게 사용됩니다.

✓마무리

그래디언트 부스팅은 여러 나무를 순차적으로 추가해 예측을 개선합니다.

그래디언트 부스팅은 여러 예측모형을 순차적으로 학습하고 결합하여 전체 손실을 줄이는 앙상블 머신러닝 방법입니다.


랜덤 포레스트가 여러 나무의 예측을 결합하여 변동성을 완화하는 데 중점을 둔다면, 그래디언트 부스팅은 새로운 나무를 추가할 때마다 기존 모델의 예측을 개선하는 방향으로 학습합니다.

대표적인 구현인 XGBoost, LightGBM, CatBoost는 모두 이러한 원리를 바탕으로 하지만 나무의 성장 방식과 범주형 변수 처리, 학습 효율성과 규제화 기능에서 차이가 있습니다.

어떤 알고리즘이 가장 좋은지는 데이터의 크기와 변수의 특성, 평가 지표, 학습 환경에 따라 달라집니다. 따라서 동일한 조건에서 여러 모델을 비교하고, 학습률과 나무 수 등을 적절하게 조정하며, 최종 평가 데이터에서 일반화 성능을 확인해야 합니다.

또한 예측 정확도만큼 중요한 것이 어떤 오류를 줄이려는지 명확하게 정의하는 일입니다. 고객 이탈이나 부정거래처럼 특정 사건의 비율이 낮은 경우에는 PR-AUC와 정밀도, 재현율 등을 함께 살펴보는 것이 좋습니다.

KEY TAKEAWAY

그래디언트 부스팅의 핵심은 단순히 나무를 많이 결합하는 것이 아니라, 이전 모델이 충분히 설명하지 못한 패턴을 점진적으로 학습하여 새로운 데이터에서도 유용한 예측을 만들어 내는 데 있습니다.