Gradient Boosting은 이전 모델이 틀린 부분을 다음 모델이 보완하도록 약한 학습기를 순차적으로 쌓는 앙상블 방법입니다.
Random Forest와 비교하면 Gradient Boosting은 병렬로 여러 트리를 만드는 방식이 아니라, 앞선 예측의 오류를 줄이는 방향으로 다음 트리를 학습합니다.
핵심 정리
Random Forest와 Gradient Boosting은 둘 다 트리 기반 앙상블이지만 학습 방식이 다릅니다. Random Forest는 여러 트리를 독립적으로 학습시키고 결과를 모아 예측합니다. 반면 Gradient Boosting은 한 모델의 오류를 다음 모델이 이어서 보정하는 순차 학습 구조입니다. 이 때문에 잘 맞추면 높은 성능을 기대할 수 있지만, 학습률, 트리 깊이, 반복 횟수 같은 설정을 조심하지 않으면 과적합이나 느린 학습이 문제가 될 수 있습니다.
- Random Forest는 배깅 방식으로 여러 트리를 독립적으로 학습합니다.
- Gradient Boosting은 부스팅 방식으로 이전 모델의 오류를 다음 모델이 보완합니다.
- Random Forest는 병렬화가 비교적 쉽고 기본 성능이 안정적인 편입니다.
- Gradient Boosting은 순차 학습이라 느릴 수 있지만 세밀한 성능 조정 여지가 큽니다.
- 규제, 학습률, 트리 깊이, 반복 횟수가 과적합 방지에 중요합니다.
- XGBoost는 Gradient Boosting 계열 아이디어에 여러 최적화와 규제 기능을 더한 구현으로 볼 수 있습니다.
원문은 Random Forest와의 차이를 중심으로 잘 잡고 있었습니다. 이번 보강은 배깅과 부스팅의 차이를 첫 화면에서 바로 보이게 하고, XGBoost가 어디에 연결되는지 짧게 정리했습니다.
비슷한 글을 여기서도 작성한 적 있다.
랜덤포레스트와의 차이점을 통해 그레디언트 부스팅의 특징을 파악해보자.
랜덤 포레스트와 그래디언트 부스팅은 둘 다 트리 기반의 앙상블 학습 방법이지만,
학습 방식과 특징에 있어서 다음과 같은 차이점이 있다.
앙상블 방식:
랜덤 포레스트는 배깅(bagging)이라는 앙상블 방식을 사용.
- 여러 개의 결정 트리를 독립적으로 학습시키고, 그 예측을 집계하여 최종 예측을 생성.
그래디언트 부스팅은 부스팅(boosting)이라는 앙상블 방식을 사용.
- 단 한개의 시드 트리로 부터, 이전 트리의 오류를 줄이는 방향으로 학습되며, 이는 순차적인 과정.
과적합 방지:
랜덤 포레스트는 트리의 무작위성으로 인해 자연스럽게 과적합을 방지합니다.
그래디언트 부스팅은 규제(Regularization) 기능을 제공하여 과적합을 방지.
성능:
그래디언트 부스팅은 일반적으로 랜덤 포레스트보다 더 높은 예측 성능을 제공
랜덤 포레스트는 병렬 학습이 가능하므로 큰 데이터셋에 대해 빠르게 학습할 수 있습니다.
그래디언트 부스팅은 순차적인 학습 방식을 사용하므로 랜덤 포레스트보다 학습 속도가 느릴 수 있다.
XGBoost:
그래디언트 부스팅과 XGBoost는 기본적으로 같은 앙상블 학습 방법을 사용하지만,
XGBoost에는 이런저런 최적화 기능이 포함되어 있음
'AI, ML > ML' 카테고리의 다른 글
| Binning 개념과 데이터 구간화: Label Encoding, One-Hot Encoding (0) | 2023.12.28 |
|---|---|
| Decision Tree, Random Forest, XGBoost 실습: Wine 데이터 교차검증 (0) | 2023.10.16 |
| 랜덤 포레스트(random forest) (1) | 2023.10.15 |
| Windows ML 환경 구축 메모: CUDA, PyTorch, WSL Ubuntu (0) | 2022.03.09 |
| Keras 기본 사용법: Sequential, compile, fit 흐름 (0) | 2020.04.13 |
