4-2
Shared on April 2, 2026
결정 트리·랜덤 포레스트·그래디언트 부스팅·XGBoost 강의 요약
개요
- 주제: 회귀와 분류에 사용되는 트리 기반 모델들의 원리, 학습 방식, 장단점
- 목적: 각 모델의 핵심 아이디어와 핵심 하이퍼파라미터를 이해하고, 실무에서의 적용 포인트를 파악
핵심 개념
| 모델 | 핵심 아이디어 | 주요 하이퍼파라미터 | 장점 | 단점 |
|---|---|---|---|---|
| 결정 트리 | 데이터 분할 → 리프에서 평균 예측 | max_depth, min_samples_split, min_samples_leaf | 직관적, 시각화 용이, 전처리 필요 없음 | 과적합 위험, 불안정 |
| 랜덤 포레스트 | 부트스트랩 + 랜덤 feature 선택 → 앙상블 | n_estimators, max_depth, max_features | 과적합 감소, OOB 검증 | 느리며 개별 트리 해석 어려움 |
| 그래디언트 부스팅 (GBM) | 순차적 트리 학습 → 잔차 보정 | n_estimators, learning_rate, max_depth | 높은 정확도, 다양한 손실 함수 지원 | 순차적 학습 → 병렬화 어려움, 튜닝 복잡 |
| XGBoost | GBM 개선 버전: 정규화, 자동 결측, 병렬화, early stopping | n_estimators, learning_rate, max_depth, subsample, colsample_bytree, reg_alpha, reg_lambda, early_stopping_rounds | 빠른 학습, 과적합 방지, 결측값 자동 처리 | 파라미터 수가 많아 튜닝 어려움 |
상세 내용
1. 결정 트리
- 학습: 각 노드에서 분산 감소(Δ) 를 최대화하는 분할을 선택(그리디 서치).
- 분산 계산:
[ \Delta = \text{Var(parent)} - \frac{N_L}{N}\text{Var}(L)-\frac{N_R}{N}\text{Var}(R) ] - 예측: 리프에 도달하면 리프 내 샘플 평균을 반환.
- 핵심 하이퍼파라미터
max_depth: 트리 깊이 제한min_samples_split: 분할 최소 샘플 수min_samples_leaf: 리프 최소 샘플 수
2. 랜덤 포레스트
- 부트스트랩: 원본 데이터에서 복원 추출 → 각 트리별 다른 데이터셋.
- 랜덤 feature 선택: 각 분기에서 전체 feature 중 일부만 후보로 사용.
- OOB (Out‑of‑Bag): 부트스트랩에서 제외된 37% 데이터를 내부 검증에 활용.
- 예측: 모든 트리 예측값 평균.
3. 그래디언트 부스팅 (GBM)
- 순차 학습:
- 초기 모델 (F_0) = 전체 평균.
- 각 단계 (t): 잔차 (r_i = y_i - F_{t-1}(x_i)) 를 학습 → 트리 (h_t).
- 업데이트: (F_t = F_{t-1} + \eta , h_t).
- 학습률(η): 1 → 과적합 위험, 0.1 → 점진적 보정, 0.01 → 많은 트리 필요.
- early stopping: 검증 오차가 일정 라운드 이상 개선되지 않으면 종료.
- 장점: 높은 정확도, 손실 함수 선택 자유.
- 단점: 순차적 → 병렬화 어려움, 튜닝 복잡.
4. XGBoost
- 개선 포인트
- 정규화: L1/L2 항(α, λ) 자동 포함 → 과적합 방지.
- 결측값 처리: 학습 시 자동으로 최적 방향으로 분기.
- 병렬 처리: 트리 내부 분기 탐색을 병렬화.
- Early Stopping: 검증 오차가
early_stopping_rounds만큼 개선되지 않으면 학습 중단. - 근사 분위수 탐색: 후보 분할점을 전체 데이터가 아닌 대표값(예: 4분위)만 사용 → 빠름.
- 핵심 하이퍼파라미터
n_estimators,learning_rate,max_depthsubsample,colsample_bytree(데이터/feature 샘플링 비율)reg_alpha,reg_lambda(정규화 강도)early_stopping_rounds
- 예측: 모든 트리 예측값을 가중합(학습률 적용).
5. 실무 팁
- 학습률과 트리 수: 학습률이 작을수록 트리 수를 늘려야 하며, 과적합 방지를 위해
early_stopping_rounds를 설정. - 하이퍼파라미터 탐색:
GridSearchCV또는RandomizedSearchCV활용. - 데이터 전처리: 트리 기반 모델은 정규화 필요 없음, 결측값은 XGBoost가 자동 처리.
- 모델 해석:
- 결정 트리: 구조 시각화
- 랜덤 포레스트: feature importance (OOB)
- GBM / XGBoost:
feature_importances_또는 SHAP 값
핵심 기억 포인트
- 분산 감소가 결정 트리의 분할 기준.
- 부트스트랩 + 랜덤 feature가 랜덤 포레스트의 과적합 방지 핵심.
- 잔차 학습이 그래디언트 부스팅과 XGBoost의 차별화 요소.
- 정규화와 자동 결측 처리가 XGBoost를 실무에서 가장 많이 쓰이는 이유.
- 학습률과 트리 수는 서로 상호 보완적이며, early stopping이 과적합 방지에 필수.