그래디언트 부스팅 (XGBoost, LightGBM)
1. 개요
1. 개요
그래디언트 부스팅은 앙상블 학습 기법 중 하나로, 여러 개의 약한 예측 모델(주로 의사결정나무)을 순차적으로 결합하여 강력한 예측 모델을 만드는 방법이다. 이 기법은 각 단계에서 이전 모델의 오차(잔차)를 보완하는 새로운 모델을 학습시키는 방식으로 작동한다. XGBoost와 LightGBM은 그래디언트 부스팅 프레임워크의 대표적인 구현체로, 높은 예측 성능과 계산 효율성으로 인해 데이터 과학 및 머신러닝 분야에서 널리 사용된다.
이 두 프레임워크는 전통적인 그래디언트 부스팅 머신(GBM)의 개념을 기반으로 하면서도, 성능과 속도를 극대화하기 위한 다양한 최적화 기법을 도입했다. XGBoost는 정규화, 결측치 처리, 병렬 처리 등을 통해 모델의 일반화 성능과 학습 속도를 향상시켰다. LightGBM은 GOSS(Gradient-based One-Side Sampling)와 EFB(Exclusive Feature Bundling) 같은 혁신적인 알고리즘과 리프 중심 트리 성장 방식을 채택하여 대규모 데이터셋을 처리할 때의 속도와 메모리 효율성을 크게 개선했다.
그래디언트 부스팅 모델은 구조화된 데이터(테이블 형식 데이터)를 처리하는 데 특히 뛰어난 성능을 보인다. 이로 인해 Kaggle과 같은 데이터 과학 경진대회에서 자주 우승을 차지했으며, 금융, 마케팅, 추천 시스템 등 다양한 산업 분야의 실무 문제 해결에 효과적으로 적용되고 있다. 모델의 복잡도를 제어하는 풍부한 하이퍼파라미터를 제공하여 사용자가 문제에 맞게 세밀하게 튜닝할 수 있다는 점도 주요 장점이다.
2. 기본 원리
2. 기본 원리
그래디언트 부스팅은 앙상블 학습 기법 중 하나인 부스팅의 발전된 형태이다. 이 방법은 여러 개의 약한 예측 모델, 주로 결정 트리를 순차적으로 결합하여 강력한 예측 모델을 구축한다. 핵심 아이디어는 이전 모델의 예측 오차를 새로운 모델이 학습하여 전체 오차를 점진적으로 줄여나가는 것이다.
부스팅과 그래디언트 부스팅의 차이는 오차를 보정하는 방식에 있다. 전통적인 에이다부스트 같은 알고리즘은 잘못 분류된 샘플의 가중치를 높이는 방식으로 오차에 집중한다. 반면, 그래디언트 부스팅은 잔차를 직접 예측하는 대신, 손실 함수의 그래디언트(기울기)를 계산하여 이를 새로운 목표값으로 삼는다. 즉, 각 단계에서 새로 추가되는 트리는 손실 함수의 음의 그래디언트 방향으로 예측값을 업데이트하도록 학습한다. 이는 함수 공간에서의 경사 하강법으로 해석될 수 있다.
손실 함수와 잔차 학습 과정은 다음과 같이 요약할 수 있다. 먼저, 초기 예측값(예: 목표값의 평균)을 설정한다. 이후 m번째 단계에서는 다음 과정을 반복한다.
1. 현재 모델의 예측값에 대한 각 데이터 포인트의 잔차(손실 함수의 1차 편미분, 즉 그래디언트)를 계산한다.
2. 이 계산된 잔차(음의 그래디언트)를 목표값으로 삼아 새로운 결정 트리를 학습시킨다.
3. 새 트리의 예측값에 학습률(보통 0.01 ~ 0.3 사이의 작은 값)을 곱하여 기존 모델의 예측값에 더한다.
이 과정은 사전에 정의된 트리의 개수만큼 반복되거나, 검증 데이터셋에서의 성능이 더 이상 개선되지 않을 때 중단된다. 최종 예측은 모든 트리의 예측값을 합산한 결과이다.
2.1. 부스팅과 그래디언트 부스팅
2.1. 부스팅과 그래디언트 부스팅
부스팅은 여러 개의 약한 학습기(weak learner)를 순차적으로 결합하여 강한 학습기(strong learner)를 만드는 앙상블 학습 기법이다. 각 학습기는 이전 학습기가 잘못 예측한 샘플에 더 높은 가중치를 부여받아 학습하며, 최종 예측은 모든 학습기의 예측을 가중합하여 수행한다. 그래디언트 부스팅은 이 부스팅 아이디어에 경사 하강법을 접목한 알고리즘이다. 이전 모델의 예측 오차, 즉 잔차(residual)를 직접 학습하는 대신, 손실 함수(loss function)의 그래디언트(기울기)를 새로운 목표값으로 설정하여 다음 모델을 학습시킨다.
구체적으로, 그래디언트 부스팅은 다음과 같은 과정을 거친다. 먼저, 초기 예측값(예: 목표값의 평균)으로 구성된 단순한 모델(보통 하나의 값)을 만든다. 이후, 각 반복(iteration) 또는 단계(stage)에서 현재 모델의 예측과 실제 값 사이의 손실 함수의 음의 그래디언트(-gradient)를 계산한다. 이 계산된 값을 "잔차" 또는 "의사 잔차(pseudo-residual)"로 간주한다. 다음으로, 이 의사 잔차를 목표값으로 하는 결정 트리와 같은 약한 학습기를 훈련시킨다. 마지막으로, 이 새로 학습된 트리의 예측값에 학습률(learning rate)을 곱한 값을 기존 모델의 예측에 더하여 모델을 업데이트한다. 이 과정은 사전에 정의된 횟수만큼 또는 오차가 수렴할 때까지 반복된다.
개념 | 설명 |
|---|---|
약한 학습기를 순차적으로 학습시켜 오차를 보정하며 강한 학습기를 만드는 앙상블 방법. | |
손실 함수의 그래디언트를 이용하여 모델을 순차적으로 보정하는 부스팅의 한 종류. | |
의사 잔차 | 손실 함수의 음의 그래디언트로, 각 단계에서 새로운 트리가 학습해야 할 목표값이 된다. |
학습률 | 각 트리의 기여도를 조절하는 하이퍼파라미터로, 과적합을 방지하고 일반화 성능을 높인다. |
이 방식의 핵심 장점은 다양한 손실 함수(제곱 오차, 로지스틱 손실, 힌지 손실 등)를 유연하게 적용할 수 있다는 점이다. 회귀, 분류, 순위 문제 등에 동일한 프레임워크로 접근이 가능하다. 또한, 각 단계에서 그래디언트를 따라 손실을 최소화하는 방향으로 모델이 업데이트되기 때문에 최적화 관점에서 견고한 이론적 배경을 가진다. XGBoost와 LightGBM은 이 그래디언트 부스팅 프레임워크를 기반으로 계산 효율성과 성능을 극대화하기 위해 다양한 최적화 기법을 도입한 대표적인 라이브러리이다.
2.2. 손실 함수와 잔차 학습
2.2. 손실 함수와 잔차 학습
그래디언트 부스팅의 핵심 학습 메커니즘은 손실 함수를 최소화하는 방향으로 순차적으로 결정 트리를 추가하는 것이다. 이 과정은 각 단계에서 현재 모델의 예측값과 실제값 사이의 오차, 즉 잔차를 새로운 트리가 학습하도록 구성된다. 일반적인 부스팅 알고리즘이 가중치를 조정하며 잘못 분류된 샘플에 집중하는 반면, 그래디언트 부스팅은 손실 함수의 그래디언트(기울기)를 잔차로 사용하여 보다 일반적인 최적화 문제로 접근한다.
구체적인 학습 단계는 다음과 같다. 먼저 초기 모델(예: 상수값)을 설정한 후, 각 반복(트리 추가) 단계에서 다음을 수행한다.
1. 현재 모델의 예측값에 대해 모든 관측치의 손실 함수의 음의 그래디언트(-∇L)를 계산한다. 이 값은 모델이 맞추어야 할 목표값으로 작용하며, 이를 '의사 잔차'라고 부른다.
2. 계산된 의사 잔차를 목표값으로 하는 새로운 결정 트리를 학습시킨다.
3. 새로 학습된 트리의 출력값(리프 노드의 값)을 최적의 스텝 크기(학습률)로 조정하여 기존 모델에 추가한다.
이 과정은 손실 함수를 최소화하기 위해 경사 하강법을 함수 공간에서 수행하는 것과 동일하다. 사용하는 손실 함수에 따라 알고리즘의 행동이 달라지며, 제곱 오차 손실을 사용하면 의사 잔차가 일반적인 잔차(실제값 - 예측값)와 정확히 일치한다.
손실 함수 (Task) | 손실 L(y, ŷ) | 음의 그래디언트 (-∂L/∂ŷ) | 비고 |
|---|---|---|---|
제곱 오차 (회귀) | (y - ŷ)² | 2(y - ŷ) | 실제 잔차에 비례 |
이진 교차 엔트로피 (분류) | -[y log(ŷ) + (1-y)log(1-ŷ)] | (y - ŷ) | 로지스틱 함수 출력 ŷ에 대한 그래디언트 |
절대 오차 (회귀) | \ | y - ŷ\ |
이러한 접근법은 모델이 데이터의 국지적인 패턴뿐만 아니라 전반적인 손실 함수의 형태를 고려하여 유연하게 성장하도록 한다. 각 트리는 잔차를 줄이는 데 기여하며, 이들의 가중치 합이 최종 예측 모델을 구성한다.
3. XGBoost
3. XGBoost
XGBoost는 그래디언트 부스팅 알고리즘을 기반으로 한 오픈소스 소프트웨어 라이브러리이다. 천치천이 개발한 이 라이브러리는 분류와 회귀 분석 문제를 포함한 다양한 머신러닝 작업에서 높은 예측 성능과 효율성을 제공하는 것으로 유명하다. 그 이름은 "eXtreme Gradient Boosting"의 약자로, 기존 그래디언트 부스팅 프레임워크의 한계를 극복하고 성능을 극대화하는 데 초점을 맞췄다.
XGBoost의 핵심 특징은 계산 효율성과 모델 성능을 동시에 최적화하는 여러 기법을 통합한 데 있다. 주요 최적화 기법으로는 병렬 처리와 트리 가지치기가 있다. 알고리즘은 기계 학습의 그래디언트 부스팅 프레임워크를 구현하지만, 결정 트리를 구성할 때 병렬 처리를 활용하여 학습 속도를 크게 향상시킨다. 또한, 정규화 항을 목적 함수에 명시적으로 추가하여 과적합을 방지한다. 이 정규화는 트리의 복잡도(예: 리프 노드의 가중치와 트리 깊이)에 페널티를 부과한다.
결측치 처리와 분할 탐색 방식에서도 효율성을 추구한다. XGBoost는 결측값을 위한 자동 처리 방식을 내장하고 있다. 알고리즘은 각 분할점에서 결측값을 왼쪽 또는 오른쪽 자식 노드로 보내는 최적의 방향을 학습한다. 이는 데이터 전처리 단계에서 결측값을 별도로 채울 필요를 줄여준다. 또한, 모든 가능한 분할점을 평가하는 대신, 분위수를 기반으로 한 근사 알고리즘을 사용하여 후보 분할점을 제안함으로써 계산 비용을 절감한다.
이러한 설계 선택 덕분에 XGBoost는 대규모 데이터셋에서도 뛰어난 성능을 발휘하며, 수많은 Kaggle과 같은 머신러닝 경진대회에서 우승을 차지하는 데 기여했다. 그 성능과 유연성은 다양한 산업과 연구 분야에서 사실상의 표준 도구로 자리 잡게 했다.
3.1. 특징과 최적화 기법
3.1. 특징과 최적화 기법
XGBoost는 그래디언트 부스팅 알고리즘의 효율성과 성능을 극대화하기 위해 여러 가지 특징과 최적화 기법을 도입했다. 그 핵심은 정규화된 목적 함수를 사용하고, 이 목적 함수를 근사하여 계산 효율성을 높이는 것이다. 목적 함수는 기존의 손실 함수에 모델의 복잡도를 제한하는 정규화 항을 추가하여 구성된다. 이 정규화 항은 트리의 리프 노드 개수와 리프 노드의 가중치(출력값) 제곱에 페널티를 부여하여 과적합을 방지한다.
계산 속도 최적화를 위해 XGBoost는 근사 알고리즘을 활용한다. 연속형 특징을 분할할 때, 모든 가능한 분할점을 탐색하는 것은 비효율적이다. 따라서 각 특징의 값 분포를 기반으로 분위수를 계산하여 후보 분할점을 제안한다. 이는 히스토그램 기반 알고리즘과 유사한 아이디어로, 계산 복잡도를 크게 줄인다. 또한, 데이터를 메모리에 저장할 때 압축 열 저장 형식을 사용하여 메모리 사용량을 최소화하고 캐시 효율성을 높인다.
시스템 설계 측면에서도 중요한 최적화가 이루어졌다. 병렬 처리는 특징 수준에서 이루어지며, 각 특징에 대한 최적 분할점 탐색을 독립적으로 수행하여 멀티코어 CPU를 효율적으로 활용한다. 결측치 처리는 알고리즘에 내장되어 있어, 모델은 각 분할에서 결측값을 어느 방향(왼쪽 또는 오른쪽 자식 노드)으로 보낼지 최적으로 학습한다. 이는 데이터 전처리 부담을 덜어준다.
XGBoost는 Out-of-Core 컴퓨팅도 지원한다. 대용량 데이터셋이 메모리에 한번에 올라가지 않을 경우, 데이터를 블록 단위로 디스크에서 읽어 처리할 수 있다. 이 과정에서 디스크 I/O를 최적화하기 위해 데이터 압축과 블록 셔플링 기법을 사용한다. 이러한 종합적인 최적화 덕분에 XGBoost는 정확도와 속도 모두에서 뛰어난 성능을 보이며, 다양한 머신러닝 대회와 실무에서 표준 도구로 자리 잡았다.
3.2. 정규화와 결측치 처리
3.2. 정규화와 결측치 처리
XGBoost는 과적합을 방지하고 일반화 성능을 높이기 위해 정규화를 적극적으로 도입한 그래디언트 부스팅 구현체이다. 이는 기존 그래디언트 부스팅 머신과 구별되는 핵심 특징 중 하나이다. 정규화는 주로 두 가지 형태로 적용된다. 첫째는 트리의 복잡도에 직접적으로 패널티를 부여하는 L1 정규화와 L2 정규화이다. 이는 리프 노드의 가중치(출력값)가 지나치게 커지는 것을 억제한다. 둘째는 트리 구조 자체를 제한하는 파라미터들이다. 최대 깊이, 리프 노드당 최소 데이터 수, 분할 시 손실 감소량에 대한 최소 임계값 등의 파라미터를 통해 모델의 복잡도를 사전에 통제한다.
결측치 처리 측면에서 XGBoost는 내부 알고리즘을 통해 자동으로 최적의 방향을 학습한다. 각 분기점에서 모델은 결측값을 왼쪽 자식 노드로 보낼지 오른쪽 자식 노드로 보낼지 결정하는 기본 방향을 학습한다[1]. 이 과정은 모든 가능한 분할을 평가할 때 결측값을 포함한 손실 함수의 기대 개선도를 계산하여 이루어진다. 따라서 사용자는 결측값을 별도로 대체(imputation)할 필요 없이 그대로 데이터를 입력할 수 있으며, 모델은 해당 특징에서 결측치가 유의미한 패턴을 가질 경우 이를 활용한다.
이러한 접근 방식은 실무 데이터 처리에 큰 장점을 제공한다. 정규화 항을 목적 함수에 명시적으로 포함시킴으로써, 단순히 훈련 데이터에 맞추는 것을 넘어 보이지 않는 테스트 데이터에서도 안정적인 성능을 발휘하는 모델을 구축할 수 있다. 결측치 자동 처리 기능은 전처리 부담을 줄이고, 특히 결측이 무작위가 아닌 시스템적 원인으로 발생하는 경우 이를 유용한 정보로 활용할 수 있게 한다.
4. LightGBM
4. LightGBM
LightGBM은 마이크로소프트에서 개발한 그래디언트 부스팅 프레임워크이다. 효율성과 확장성을 중점으로 설계되어 대규모 데이터셋에서도 빠른 학습 속도를 제공한다. 기존 의사결정나무 기반 부스팅 알고리즘의 계산 비효율성을 해결하기 위해 두 가지 핵심 알고리즘인 GOSS와 EFB를 도입했다.
GOSS는 그래디언트 기반 일방향 샘플링의 약자로, 모든 데이터 포인트를 사용하는 대신 그래디언트가 큰 데이터는 모두 유지하고, 그래디언트가 작은 데이터는 무작위로 샘플링하여 학습에 사용한다. 이는 정보 이득이 큰 샘플에 집중함으로써 계산량을 크게 줄이면서도 정확도를 유지하는 기법이다. EFB는 배타적 기능 번들링의 약자로, 서로 배타적인 특징들을 하나의 번들로 묶어 차원을 축소한다. 이는 희소한 특징 공간에서 특히 효과적이며, 학습 속도를 가속화한다.
LightGBM은 리프 중심 트리 성장 방식을 채택한다. 기존 알고리즘이 트리의 깊이를 균형 있게 증가시키는 수평적 트리 성장 방식을 사용하는 반면, LightGBM은 손실을 가장 크게 줄이는 리프 노드를 선택하여 분할한다. 이 방식은 더 복잡한 모델을 더 빠르게 생성할 수 있게 해준다. 그러나 과적합의 위험이 있을 수 있어 최대 깊이나 리프 노드의 최소 데이터 수와 같은 매개변수 조절이 필요하다.
특징 | 설명 |
|---|---|
주요 알고리즘 | |
트리 성장 방식 | |
장점 | 대용량 데이터 처리 속도 빠름, 메모리 사용 효율적 |
단점 | 작은 데이터셋에서 과적합 가능성, 매개변수 튜닝 필요 |
이러한 설계로 인해 LightGBM은 수천만 개의 데이터 포인트와 수백 개의 특징을 가진 데이터셋에서 XGBoost보다 종종 더 빠른 학습 속도를 보인다. 특히 범주형 특징을 기본적으로 지원하며, GPU 학습도 가능하다.
4.1. GOSS와 EFB 알고리즘
4.1. GOSS와 EFB 알고리즘
LightGBM은 대규모 데이터셋과 고차원 특성을 효율적으로 처리하기 위해 Gradient Boosting 프레임워크에 두 가지 핵심 알고리즘인 GOSS(Gradient-based One-Side Sampling)와 EFB(Exclusive Feature Bundling)를 도입했다.
GOSS 알고리즘은 모든 데이터를 사용하는 대신 그래디언트(기울기)의 크기에 따라 데이터를 샘플링하여 학습 속도를 높인다. 원리는 그래디언트가 큰 데이터 포인트는 정보를 많이 가지고 있다고 가정하고, 이들은 거의 모두 유지한 채 그래디언트가 작은 데이터 포인트는 무작위로 일부만 샘플링하는 것이다. 이를 통해 전체 데이터를 사용할 때와 유사한 정확도를 유지하면서도 계산 비용을 크게 줄일 수 있다. 구체적으로, 상위 a%의 큰 그래디언트를 가진 데이터는 모두 사용하고, 나머지 데이터에서 b%만 무작위로 추출하여 사용한다[2]. 샘플링된 데이터에 대해서는 가중치를 조정하여 원본 데이터 분포를 보정한다.
EFB 알고리즘은 고차원 데이터에서 발생하는 희소성(Sparsity) 문제를 해결하여 메모리 사용량과 계산 시간을 절감한다. 많은 특성들이 서로 배타적이며 동시에 0이 아닌 값을 가지지 않는다는 관찰에 기반한다. 예를 들어, 원-핫 인코딩으로 생성된 특성들은 동시에 하나만 활성화된다. EFB는 이러한 배타적인 특성들을 하나의 번들로 묶어, 실제로는 하나의 새로운 특성처럼 처리한다. 이 과정은 그래프 채색 문제(Graph Coloring Problem)에 기반한 휴리스틱 알고리즘으로 근사적으로 해결되어, 수천 개의 특성을 수백 개의 번들로 효과적으로 압축할 수 있다. 결과적으로 특성의 차원이 줄어들어 학습 속도가 빨라지고 메모리 효율성이 향상된다.
알고리즘 | 목적 | 핵심 메커니즘 | 주요 효과 |
|---|---|---|---|
GOSS | 데이터 샘플링 최적화 | 큰 그래디언트 데이터는 보존, 작은 그래디언트 데이터는 무작위 하위 샘플링 | 계산 비용 감소, 학습 속도 향상 |
EFB | 특성 차원 축소 | 상호 배타적인 희소 특성들을 하나의 번들로 결합 | 메모리 사용량 감소, 처리 효율 향상 |
이 두 알고리즘의 조합은 LightGBM이 기존의 XGBoost나 다른 그래디언트 부스팅 구현체에 비해 더 빠른 학습 속도와 더 낮은 메모리 점유율을 가능하게 하는 기술적 토대를 제공한다.
4.2. 리프 중심 트리 성장
4.2. 리프 중심 트리 성장
LightGBM은 의사결정나무를 성장시키는 방식으로 리프 중심 트리 성장 방식을 채택한다. 이는 기존의 레벨 중심 트리 성장 방식과 구별되는 특징이다. 레벨 중심 방식은 트리의 각 레벨(깊이)을 균일하게 채우며 성장시키는 반면, 리프 중심 방식은 손실을 가장 크게 감소시킬 수 있는 하나의 리프 노드를 선택하여 비대칭적으로 트리를 확장한다.
이 방식의 구체적인 알고리즘은 다음과 같이 동작한다. 먼저, 현재 트리의 모든 리프 노드 중에서 정보 이득 또는 손실 함수의 감소폭이 가장 큰 리프 노드를 찾는다. 그런 다음 해당 리프 노드만을 분할하여 두 개의 새로운 자식 리프 노드를 생성한다. 이 과정에서 트리의 다른 부분은 변경되지 않은 채로 유지된다. 결과적으로 트리는 균형이 맞지 않을 수 있지만, 각 분할이 손실 감소에 대한 효율성을 극대화한다.
리프 중심 트리 성장 방식은 몇 가지 장점을 제공한다. 첫째, 동일한 수의 분할(리프 노드 생성)을 수행할 때, 레벨 중심 방식보다 일반적으로 더 큰 손실 감소를 달성한다. 둘째, 과적합을 더 잘 제어할 수 있다. 균형 잡힌 트리보다 복잡도가 낮은 모델을 생성하는 경향이 있기 때문이다. 셋째, GOSS 알고리즘과 결합될 때, 계산 비용을 줄이면서도 중요한 데이터 포인트에 집중하여 분할을 수행할 수 있다.
성장 방식 | 분할 기준 | 트리 구조 | 주요 장점 |
|---|---|---|---|
동일 깊이의 모든 노드 분할 | 균형 잡힌 트리 | 구현이 간단하고 병렬화 용이 | |
손실 감소가 최대인 단일 리프 노드 분할 | 불균형 트리 | 동일 분할 수 대비 더 큰 손실 감소, 과적합 감소 효과 |
이러한 접근법은 특히 데이터가 많거나 특징의 차원이 높은 대규모 데이터셋에서 효율적인 학습을 가능하게 하는 LightGBM의 핵심 설계 요소 중 하나이다.
5. XGBoost vs LightGBM
5. XGBoost vs LightGBM
두 알고리즘은 모두 그래디언트 부스팅 프레임워크를 기반으로 하지만, 설계 철학과 최적화 전략에서 차이를 보인다. 이로 인해 데이터의 특성과 하드웨어 환경에 따라 성능, 속도, 메모리 효율성에서 서로 다른 장점을 가진다.
비교 항목 | XGBoost | LightGBM |
|---|---|---|
트리 성장 방식 | 깊이 우선 탐색 기반의 레벨(수평) 중심 트리 성장 | 리프 중심 트리 성장 방식(리프 우선 분할) |
속도 | 일반적으로 상대적으로 느림 | 대부분의 경우 더 빠름, 특히 대용량 데이터에서 두드러짐 |
메모리 사용량 | 상대적으로 높음 | 그래디언트 기반 일방향 샘플링과 독점 기능 번들링으로 메모리 효율이 높음 |
과적합 방지 | 리프 중심 성장으로 인해 깊은 트리가 생성될 수 있어, 최대 깊이 제한 등 파라미터 조절이 중요 | |
결측치 처리 | 자체 알고리즘을 통해 자동으로 최적의 방향을 학습 | 입력 전에 결측치를 미리 처리해야 함 |
소규모 데이터 | 안정적이고 강력한 성능 | 과적합 가능성이 상대적으로 높을 수 있음 |
속도와 메모리 측면에서 LightGBM은 대용량 데이터와 고차원 데이터를 처리할 때 확실한 이점을 가진다. 그래디언트 기반 일방향 샘플링은 중요도가 낮은 데이터 인스턴스를 무작위로 제거하고, 독점 기능 번들링은 서로 배타적인 특성들을 하나로 묶어 차원을 축소한다. 반면, XGBoost는 더 정교한 정규화와 결측치 자동 처리 덕분에 소규모 또는 중간 규모의 데이터셋에서 더욱 견고하고 해석 가능한 모델을 구축하는 데 유리하다. 정확도는 데이터와 작업에 크게 의존하지만, 일반적으로 양자는 적절한 튜닝을 통해 비슷한 수준의 예측 성능에 도달한다.
5.1. 성능 및 속도 비교
5.1. 성능 및 속도 비교
XGBoost와 LightGBM의 성능 및 속도 차이는 주로 트리 구성 알고리즘과 데이터 처리 방식에서 기인한다. 일반적으로 LightGBM은 대용량 데이터셋에서 더 빠른 학습 속도를 보이는 반면, XGBoost는 소규모 또는 중간 규모 데이터셋에서 더 높은 정확도를 달성할 가능성이 있다.
속도 측면에서 LightGBM은 GOSS와 EFB 알고리즘을 통해 계산 효율성을 극대화한다. GOSS는 그래디언트가 큰 데이터 포인트에 집중하여 샘플링함으로써 전체 데이터를 사용하지 않고도 정확한 정보 게인 추정이 가능하게 한다. EFB는 희소한 특성들을 효과적으로 병합하여 계산 복잡도를 줄인다. 또한 리프 중심 트리 성장 방식을 채택하여 불균형 트리 깊이를 허용함으로써 더 낮은 손실을 달성하는 동시에 트리 생성을 가속화한다. 반면 XGBoost는 예측 기반 정렬과 같은 정교한 최적화를 수행하지만, 기본적으로는 수평적으로 모든 리프 노드를 동시에 분할하는 수평적 트리 성장 방식을 사용하므로, 데이터 규모가 커질수록 LightGBM에 비해 상대적으로 학습 시간이 더 길어질 수 있다.
성능(정확도) 비교는 데이터의 특성과 문제의 종류에 크게 의존한다. XGBoost는 정규화 항을 손실 함수에 명시적으로 포함시키고, 가지치기를 통해 더 보수적으로 모델을 구성하는 경향이 있다. 이는 과적합을 잘 방지하고 일반화 성능을 높이는 데 도움을 준다. 특히 데이터의 노이즈가 많거나 특성 수가 상대적으로 적은 경우에 안정적인 결과를 제공한다. LightGBM은 빠른 학습 속도를 위해 데이터를 샘플링하고 리프 중심으로 성장시키기 때문에, 소규모 데이터셋에서는 샘플링으로 인한 정보 손실이나 리프 중심 성장으로 인한 과적합 위험이 상대적으로 높을 수 있다. 따라서 데이터셋의 크기가 작을수록 XGBoost가 미세하게 더 나은 성능을 보이는 경우가 많다.
다음 표는 두 알고리즘의 주요 비교 요소를 요약한다.
비교 요소 | XGBoost | LightGBM |
|---|---|---|
주요 트리 성장 방식 | 수평적(레벨 단위) 성장 | 리프 중심(잎사귀 단위) 성장 |
대용량 데이터 처리 속도 | 상대적으로 느림 | 매우 빠름 |
소규모 데이터 정확도 | 일반적으로 안정적이고 높음 | 빠르지만 과적합 가능성 있음 |
메모리 사용 효율성 | 상대적으로 높은 사용량 | EFB 등으로 인해 효율적 |
알고리즘 핵심 | 예측 기반 정렬, 정규화 |
결론적으로, 속도가 최우선인 대규모 데이터 환경에서는 LightGBM이, 정확도와 모델 안정성이 더 중요한 소규모 또는 중간 규모의 정교한 문제에서는 XGBoost가 선호되는 경향이 있다. 그러나 이는 절대적인 기준이 아니며, 실제 성능은 하이퍼파라미터 설정에 크게 영향을 받는다.
5.2. 메모리 사용량과 정확도
5.2. 메모리 사용량과 정확도
XGBoost는 예측 과정에서 모든 데이터 포인트에 대한 잔차를 계산하고, 이를 기반으로 결정 트리를 성장시킨다. 이 과정은 정확하지만, 모든 데이터를 메모리에 로드하고 정렬된 히스토그램을 생성해야 하므로 상대적으로 높은 메모리 사용량을 요구한다. 특히 고차원의 희소 행렬 데이터를 다룰 때 메모리 사용량이 크게 증가할 수 있다. 반면, LightGBM은 GOSS와 EFB라는 두 가지 핵심 알고리즘을 통해 메모리 효율성을 극대화한다. GOSS는 그래디언트가 큰 데이터를 우선적으로 샘플링하고, 그래디언트가 작은 데이터는 무작위로 추출하여 사용함으로써 전체 데이터를 사용하지 않고도 효율적인 학습이 가능하게 한다. EFB는 원-핫 인코딩 등으로 생성된 많은 수의 희소 특성을 서로 배타적인 번들로 묶어 실제 특성의 수를 줄인다. 이 두 기법은 학습 속도를 높일 뿐만 아니라, 필요한 메모리 공간을 상당히 절감한다.
정확도 측면에서는 일반적으로 두 알고리즘 모두 강력한 성능을 보인다. XGBoost는 레벨 와이즈 트리 성장 방식을 사용하여 과적합을 방지하고 깊이 있는 최적화를 수행하므로, 특히 중소규모 데이터셋이나 노이즈가 적은 데이터에서 매우 높은 정확도를 달성할 수 있다. LightGBM은 리프 중심 트리 성장 방식을 채택하여 리프 노드를 중심으로 비대칭적으로 트리를 확장한다. 이 방식은 동일한 잎 노드 개수 대비 더 큰 손실 감소를 얻을 수 있어, 종종 더 낮은 오차를 기록한다. 그러나 매우 작은 데이터셋에서는 리프 중심 성장이 과적합을 유발할 수 있어, XGBoost가 더 안정적인 결과를 보여주는 경우도 있다.
두 라이브러리의 메모리 사용량과 정확도는 데이터의 특성과 규모에 따라 상이한 양상을 보인다. 아래 표는 주요 차이점을 비교한 것이다.
비교 항목 | XGBoost | LightGBM |
|---|---|---|
기본 트리 성장 방식 | 레벨 와이즈 (균형 잡힌 성장) | 리프 중심 (비대칭 성장) |
메모리 사용 효율 | 상대적으로 높음 (전체 데이터 기반) | 상대적으로 낮음 (GOSS/EFB로 샘플링 및 특성 압축) |
대용량 데이터 처리 | 제한적 (메모리 제약 가능성) | 우수함 (메모리 효율성 높음) |
소규모 데이터 정확도 | 일반적으로 매우 안정적이고 높음 | 과적합 가능성 있음 (파라미터 조정 필요) |
학습 속도 대비 정확도 | 느린 학습 속도, 높은 정확도 가능 | 빠른 학습 속도, 유사하거나 더 높은 정확도 가능 |
종합하면, 메모리 자원이 제한적이거나 대용량 데이터를 처리해야 하는 경우 LightGBM이 압도적인 효율성을 보인다. 반면, 데이터 규모가 크지 않고 최대한의 정확도와 모델 안정성을 추구할 경우, XGBoost가 여전히 강력한 선택지가 될 수 있다. 최적의 선택은 데이터의 크기, 특성의 차원, 하드웨어 제약 조건 및 정확도 요구사항을 종합적으로 고려하여 결정해야 한다.
6. 하이퍼파라미터 튜닝
6. 하이퍼파라미터 튜닝
그래디언트 부스팅 모델의 성능은 적절한 하이퍼파라미터 설정에 크게 의존한다. XGBoost와 LightGBM은 각각 고유한 파라미터 세트를 가지며, 이를 체계적으로 튜닝함으로써 과적합을 방지하고 일반화 성능을 극대화할 수 있다.
주요 파라미터는 트리 구조 제어, 학습 과정 제어, 정규화 관련 파라미터로 구분된다. 트리 구조와 관련된 핵심 파라미터는 다음과 같다.
파라미터 | 설명 | XGBoost | LightGBM |
|---|---|---|---|
| 부스팅 반복 횟수(트리 개수) |
|
|
| 개별 트리의 최대 깊이 |
|
|
| 리프 노드에 필요한 최소 가중치 합 |
|
|
| 각 트리 생성 시 사용할 데이터 샘플 비율 |
|
|
| 각 트리 생성 시 사용할 피처 샘플 비율 |
|
|
학습률(learning_rate 또는 eta)은 각 트리의 기여도를 조절하며, 일반적으로 n_estimators와 반비례 관계로 조정한다. 낮은 학습률과 많은 트리 개수를 사용하면 성능이 안정화되지만 학습 시간이 증가한다. 정규화 파라미터로는 XGBoost의 gamma(리프 분할을 위한 최소 손실 감소량), lambda(L2 정규화 가중치), alpha(L1 정규화 가중치) 등이 있다. LightGBM은 lambda_l1, lambda_l2 파라미터로 L1/L2 정규화를 적용한다.
튜닝 방법론으로는 그리드 서치와 랜덤 서치가 기본적이다. 그리드 서치는 정의된 파라미터 그리드의 모든 조합을 평가하므로 계산 비용이 높지만 철저하다. 랜덤 서치는 무작위 샘플링을 통해 광범위한 공간을 더 효율적으로 탐색한다. 최근에는 베이지안 최적화 도구(Optuna, Hyperopt)가 널리 사용된다. 이 방법은 이전 평가 결과를 바탕으로 유망한 파라미터 조합을 예측하여 더 적은 시도로 최적점에 도달하도록 한다. 튜닝 시에는 k-폴드 교차 검증을 사용하여 검증 세트의 성능을 안정적으로 추정하는 것이 중요하다.
6.1. 주요 파라미터 설명
6.1. 주요 파라미터 설명
XGBoost와 LightGBM의 성능을 최적화하기 위해서는 핵심 하이퍼파라미터를 이해하고 조정하는 것이 중요하다. 이들은 과적합을 방지하고, 학습 속도와 예측 정확도 사이의 균형을 맞추는 데 결정적인 역할을 한다.
두 알고리즘은 공통적으로 트리의 복잡성을 제어하는 파라미터를 공유한다. 주요 파라미터는 다음과 같다.
파라미터 (XGBoost / LightGBM) | 설명 | 일반적인 역할 |
|---|---|---|
| 생성할 결정 트리의 개수이다. | 값이 클수록 모델이 복잡해지지만 과적합 위험이 증가한다. |
| 개별 트리의 최대 깊이이다. | 트리의 복잡도를 직접 제어하며, 과적합 방지에 핵심적이다. |
| 각 트리의 기여도를 조절하는 스텝 사이즈이다. | 작은 값은 안정적인 학습을 유도하지만 더 많은 트리가 필요하다. |
| 각 트리를 학습할 때 사용할 데이터의 샘플링 비율이다. | 배깅을 통해 다양성을 높이고 과적합을 줄인다. |
| 각 트리를 분할할 때 고려할 특징의 샘플링 비율이다. | 무작위성과 다양성을 추가하여 과적합을 방지한다. |
XGBoost에는 고유한 정규화 파라미터가 존재한다. gamma는 리프 노드 추가 분할을 위한 최소 손실 감소 임계값으로, 값이 클수록 보수적인 트리 성장을 유도한다. lambda (L2 정규화)와 alpha (L1 정규화)는 가중치에 대한 정규화 항으로, 모델의 복잡도를 추가로 제어한다. 한편, LightGBM은 효율적인 학습을 위한 독자적인 파라미터를 제공한다. num_leaves는 트리의 최대 리프 개수를 제어하는 주요 파라미터로, max_depth와 연동되어 조정해야 한다[3]. min_data_in_leaf는 하나의 리프에 필요한 최소 데이터 수로, 값이 크면 과적합 방지에 도움이 된다. bagging_freq는 배깅을 수행할 빈도를 설정하여, 0보다 큰 값으로 지정하면 해당 주기마다 데이터를 재샘플링한다.
효율적인 튜닝을 위해 n_estimators와 learning_rate는 종종 함께 조정된다. 많은 트리(n_estimators)와 작은 학습률(learning_rate)의 조합은 성능은 우수하지만 계산 비용이 높은 반면, 적은 트리와 큰 학습률은 빠르지만 불안정할 수 있다. max_depth나 num_leaves와 같은 복잡도 파라미터는 검증 데이터의 성능을 모니터링하며 점진적으로 증가시키는 것이 일반적이다.
6.2. 튜닝 방법론
6.2. 튜닝 방법론
그래디언트 부스팅 모델의 성능을 극대화하기 위해서는 체계적인 하이퍼파라미터 튜닝이 필수적이다. 일반적으로 사용되는 방법론은 다음과 같다.
방법론 | 설명 | 장점 | 단점 |
|---|---|---|---|
그리드 서치 | 사전에 정의한 파라미터 조합을 모두 탐색 | 탐색 범위 내 최적해 보장, 구현 간단 | 계산 비용이 매우 높음, 연속형 파라미터에 비효율적 |
랜덤 서치 | 파라미터 공간에서 무작위로 샘플링하여 탐색 | 그리드 서치보다 효율적, 넓은 영역 탐색 가능 | 최적해 보장 불가, 샘플링 수에 의존적 |
베이지안 최적화 | 이전 평가 결과를 바탕으로 유망한 파라미터를 탐색 | 적은 시도로 좋은 성능 달성 가능, 지능적 탐색 | 구현 복잡, 초기 샘플링에 민감 |
가장 실용적인 접근법은 먼저 넓은 범위로 랜덤 서치를 수행하여 유망한 파라미터 영역을 좁힌 후, 해당 영역에서 그리드 서치를 세밀하게 적용하는 것이다. 최근에는 베이지안 최적화를 구현한 Optuna나 Hyperopt 같은 라이브러리의 사용이 증가하고 있다. 이들은 목적 함수를 정의하면 자동으로 파라미터를 제안하고 평가 결과를 학습하여 효율적인 탐색을 수행한다.
튜닝 과정에서는 k-폴드 교차 검증을 반드시 적용하여 모델의 과적합을 방지하고 일반화 성능을 평가해야 한다. 또한, 학습률(learning_rate)과 트리의 수(n_estimators)는 서로 긴밀하게 연관되어 있으므로, 학습률을 낮출 경우 트리의 수를 늘려주는 것이 일반적이다. 중요한 것은 모든 파라미터를 동시에 튜닝하기보다는, 트리의 깊이(max_depth)나 리프 노드의 최소 데이터 수(min_child_weight) 같은 트리 구조 파라미터를 먼저 결정한 후, 정규화 관련 파라미터를 조정하는 순차적인 접근이 효과적이다.
7. 실무 적용 사례
7. 실무 적용 사례
그래디언트 부스팅 알고리즘은 다양한 산업 분야의 실무 문제 해결에 널리 적용된다. 특히 XGBoost와 LightGBM은 구조화된 데이터를 처리하는 데 탁월한 성능을 보이며, Kaggle과 같은 데이터 과학 경진대회에서도 우승 모델의 핵심 구성 요소로 자주 사용된다[4]. 이들의 주요 적용 분야는 크게 분류 문제와 회귀 분석 문제로 나눌 수 있다.
분류 문제에서의 대표적인 적용 사례는 신용 평가 모델과 부정 거래 탐지 시스템이다. 금융 기관은 고객의 거래 내역, 인구통계학적 정보, 과거 대출 이력 등 수백 개의 특징을 활용해 기본점수를 예측한다. XGBoost나 LightGBM은 복잡한 비선형 관계를 포착하고, 다양한 특징 간의 상호작용을 모델링하여 정확한 위험 등급을 부여할 수 있다. 또한, 이메일 스팸 필터링이나 제조업의 불량품 검출과 같은 이진 분류 작업에도 효과적으로 적용된다.
회귀 문제에서는 주로 수치형 타겟 값을 예측하는 데 사용된다. 대표적인 예로 수요 예측과 주택 가격 예측이 있다. 소매업체는 과거 판매 데이터, 계절성, 프로모션 활동, 경제 지표 등을 입력 변수로 사용하여 미래 제품 수요를 예측한다. LightGBM의 빠른 학습 속도는 대규모 시계열 데이터를 처리하는 데 유리하다. 부동산 분야에서는 방의 개수, 위치, 크기, 건축 연도 등의 특징을 기반으로 주택의 시장 가격을 추정하는 모델을 구축하는 데 활용된다.
적용 분야 | 문제 유형 | 주요 사용 특징 예시 | 알고리즘 선택 고려사항 |
|---|---|---|---|
신용 평가 | 이진 분류 | 소득, 채무 이력, 고용 기간, 거래 빈도 | 모델의 해석 가능성과 높은 정확도가 필요. 정규화 파라미터 튜닝이 중요. |
수요 예측 | 회귀 | 과거 판매량, 요일, 휴일, 광고 비용 | 대용량 시계열 데이터 처리 속도가 중요. LightGBM이 유리할 수 있음. |
부정 거래 탐지 | 이진 분류 (불균형 데이터) | 거래 금액, 위치, 시간, 사용자 평균 패턴 | 데이터의 심한 불균형을 처리하기 위해 F1-score 최적화나 가중치 설정이 필요. |
주택 가격 예측 | 회귀 | 방 수, 평수, 지리적 좌표, 학군 등급 |
이러한 적용 사례에서 성공적인 모델 구축을 위해서는 도메인 지식을 반영한 특징 공학과, 과적합을 방지하기 위한 적절한 하이퍼파라미터 튜닝이 필수적이다. 또한, 모델의 출력을 비즈니스 의사결정에 활용하기 위해서는 SHAP 값과 같은 도구를 통한 모델 해석 과정도 실무에서 중요한 부분을 차지한다.
7.1. 분류 문제 예시
7.1. 분류 문제 예시
그래디언트 부스팅 알고리즘, 특히 XGBoost와 LightGBM은 구조화된 데이터를 다루는 분류 문제에서 높은 예측 성능을 보여주며 널리 사용된다. 대표적인 적용 분야로는 신용 평가, 광고 클릭률 예측, 질병 진단, 이탈 고객 예측 등이 있다. 이들은 복잡한 비선형 관계를 모델링하고, 과적합을 효과적으로 제어하며, 범주형 변수의 처리가 용이하다는 공통된 장점을 지닌다.
구체적인 예시로, 금융 기관의 대출 심사 모델을 들 수 있다. 이 모델은 고객의 연령, 소득, 직업, 기존 대출 이력, 신용 카드 사용 패턴 등 수백 개의 특징을 입력받아 해당 고객이 대출 상환을 이행할지(양성 클래스) 아니면 부도를 낼지(음성 클래스)를 이진 분류한다. XGBoost와 LightGBM은 이러한 다양한 특징들 간의 상호작용을 포착하고, 어떤 특징이 최종 결정에 중요한 영향을 미치는지 특징 중요도를 제공하여 모델의 해석성을 높인다.
다중 클래스 분류 문제에도 효과적으로 적용된다. 예를 들어, 제조업에서 센서 데이터를 기반으로 생산된 제품의 품질 등급을 '양호', '보통', '불량'으로 분류하는 경우가 있다. 모델은 온도, 압력, 진동 등 시계열 형태의 센서 데이터를 특징으로 사용하여 각 제품의 최종 등급을 예측한다. LightGBM의 GOSS 알고리즘은 이러한 대규모 데이터셋에서 중요한 샘플에 집중하여 학습 속도를 높이고, EFB 알고리즘은 수많은 센서 특징들을 효율적으로 묶어 메모리 사용량을 줄인다.
적용 분야 | 문제 유형 | 주요 특징(입력 변수) 예시 | 목표(출력) |
|---|---|---|---|
신용 사기 탐지 | 이진 분류 | 거래 금액, 시간, 지역, 가맹점 정보, 이전 거래 패턴 | 정상 거래(0) / 사기 거래(1) |
이미지 분류(간단) | 다중 클래스 분류 | 이미지에서 추출한 히스토그램, 질감 특징 | 개, 고양이, 자동차 등 객체 클래스 |
고객 세분화 | 다중 클래스 분류 | 구매 빈도, 구매 금액, 최근 구매 시점, 웹사이트 행동 데이터 | 고객 라이프스타일 또는 가치 세그먼트 |
실무에서는 Python의 scikit-learn API와 호환되는 xgboost 및 lightgbm 라이브러리를 주로 사용한다. 데이터 전처리 후, XGBClassifier 또는 LGBMClassifier 객체를 생성하고, 하이퍼파라미터 튜닝을 통해 트리의 최대 깊이(max_depth), 학습률(learning_rate), 트리 개수(n_estimators) 등을 최적화한다. 최종 모델은 테스트 세트에서 정확도, 정밀도, 재현율, ROC-AUC 등의 지표로 평가된다.
7.2. 회귀 문제 예시
7.2. 회귀 문제 예시
그래디언트 부스팅 알고리즘은 회귀 분석 문제에서도 높은 예측 성능을 보인다. 주택 가격 예측, 수요 예측, 시계열 데이터 기반의 값 예측 등 다양한 영역에서 활용된다. XGBoost와 LightGBM은 모두 회귀를 위한 목적 함수(objective)를 제공하며, 주로 제곱 오차(MSE)나 절대 오차(MAE) 등을 손실 함수로 사용한다.
주택 가격 예측을 위한 데이터셋에는 방의 개수, 평수, 위치, 건축 연도 등의 특징(feature)이 포함된다. 모델은 이러한 특징과 실제 주택 가격 사이의 복잡한 비선형 관계를 학습한다. 학습 과정에서 각 의사결정나무는 이전 나무들의 예측 잔차(오차)를 줄이는 방향으로 순차적으로 생성된다. 최종 예측값은 모든 나무의 예측값을 합산한 것이다.
적용 분야 | 예측 대상 | 주요 사용 특징 예시 |
|---|---|---|
금융 | 주식 수익률, 위험 가치(VaR) | 과거 가격, 거래량, 시장 지표, 변동성 |
제조/유통 | 제품 수요량, 재고 수준 | 과거 판매 데이터, 계절성, 프로모션 정보, 경쟁사 가격 |
에너지 | 전력 부하, 재생 에너지 발전량 | 시간, 기온, 습도, 공휴일 정보, 과거 소비 패턴 |
실무에서는 교차 검증을 통해 모델의 일반화 성능을 평가하고, 하이퍼파라미터 튜닝을 수행하여 과적합을 방지한다. 특히 LightGBM의 GOSS와 EFB 알고리즘은 대규모 데이터셋을 사용한 회귀 문제에서 학습 속도를 크게 향상시킨다. 회귀 문제에서의 성능 평가는 주로 RMSE, MAE, R-squared 등의 지표를 사용한다.
8. 장단점
8. 장단점
그래디언트 부스팅 알고리즘의 구현체인 XGBoost와 LightGBM은 각각의 설계 철학에 따라 뚜렷한 장점과 단점을 지닌다.
XGBoost의 주요 장점은 높은 예측 정확도와 강력한 정규화 기능이다. 과적합을 방지하기 위한 L1/L2 정규화 항이 손실 함수에 명시적으로 포함되어 있으며, 트리 복잡도에 대한 페널티를 주는 감마 파라미터 등 세밀한 제어가 가능하다. 또한, 결측치를 자동으로 처리하고 병렬 처리를 지원하여 대용량 데이터셋에서도 안정적인 성능을 보인다. 반면, 단점으로는 상대적으로 느린 학습 속도와 큰 메모리 사용량을 꼽을 수 있다. 모든 데이터에 대해 모든 가능한 분할점을 평가하는 정확한 그리디 알고리즘 방식을 사용하기 때문에 계산 비용이 높다.
LightGBM의 가장 큰 장점은 빠른 학습 속도와 낮은 메모리 사용량이다. GOSS 알고리즘은 그래디언트가 큰 데이터 포인트에 집중하여 샘플링하고, EFB 알고리즘은 희소한 원-핫 인코딩 특성들을 효율적으로 묶어 계산 효율을 극대화한다. 또한 리프 중심 트리 성장 방식을 채택해 깊이보다는 넓이 방향으로 트리를 확장하여 과적합 위험을 줄인다. 단점은 작은 데이터셋에서 과적합되기 쉬우며, GOSS 샘플링으로 인해 그래디언트가 작은 데이터를 무시할 경우 정확도가 약간 떨어질 수 있다는 점이다. 또한, 최대 깊이 파라미터에 민감하게 반응할 수 있어 튜닝이 필요하다.
비교 항목 | XGBoost 장점 | XGBoost 단점 | LightGBM 장점 | LightGBM 단점 |
|---|---|---|---|---|
속도/메모리 | - | 학습 속도가 상대적으로 느림, 메모리 사용량이 큼 | 학습 속도가 매우 빠름, 메모리 효율이 좋음 | - |
정확도/과적합 | 일반적으로 높은 정확도, 강력한 정규화로 과적합 방지 효과가 좋음 | - | - | 데이터 양이 적을 때 과적합 가능성이 높음 |
알고리즘 특징 | 결측치 자동 처리, 안정적인 성능 | - | GOSS, EFB로 효율적 처리, 리프 중심 성장 | 샘플링으로 인해 일부 정보 손실 가능 |
종합하면, XGBoost는 정확도와 안정성이 가장 중요한 경우나 데이터 크기가 중간 규모일 때 유리하다. LightGBM은 대규모 데이터셋을 빠르게 처리해야 하거나 메모리 제약이 있는 환경, 실시간 예측 시스템 구축에 더 적합하다.
