Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

LightGBM

LightGBM은 특징 히스토그램을 바탕으로 리프 단위로 결정 트리를 성장시키는 그래디언트 부스팅 프레임워크로, 대규모 테이블형 데이터셋을 빠르게 학습합니다.

LightGBM(라이트 그래디언트 부스팅 머신)은 속도와 대규모 데이터셋의 낮은 메모리 사용량을 고려해 개발된 오픈 소스 그래디언트 부스팅 프레임워크로, 테이블 형식 데이터에서 앙상블 결정 트리를 학습합니다. Microsoft는 2016년에 이를 공개했으며, NeurIPS 2017 논문 LightGBM: 고효율 그래디언트 부스팅 결정 트리에서 알고리즘을 설명했습니다. 2026년 3월에는 동일한 유지관리자들이 공식 저장소를 lightgbm-org GitHub 조직으로 이전했습니다. LightGBM은 Python, R, C++ 및 명령줄에서 분류, 회귀, 랭킹을 지원하며, 여러 머신러닝 대회에서 우승 솔루션에 사용되었습니다. 약 10,000개 행의 중간 규모 테이블에서는 LightGBM과 같은 트리 앙상블이 여전히 딥러닝보다 성능이 뛰어난 경우가 많습니다.

LightGBM의 작동 방식#

그래디언트 부스팅은 트리를 하나씩 만듭니다. 새 트리는 현재 앙상블 예측값에 대한 손실 함수의 그래디언트에 맞춰 학습되며, 제곱 오차에서는 그래디언트가 잔차와 같습니다. 따라서 새 트리는 이전 트리들이 남긴 오류를 보정합니다. 모델 예측값은 모든 트리 출력에 학습률을 곱한 값을 합산한 결과입니다. 비용이 많이 드는 단계는 각 노드에서 최적의 분할을 찾는 과정이며, LightGBM은 네 가지 기법으로 이를 빠르게 처리합니다:

  • 히스토그램 기반 분할: 학습 전에 LightGBM은 각 연속형 특징을 최대 255개의 구간으로 나눕니다(max_bin). 분할 탐색은 정렬된 모든 값이 아니라 구간 경계를 스캔합니다. 또한 분할 후에는 더 큰 자식 노드의 히스토그램이 부모 노드에서 더 작은 자식 노드의 히스토그램을 뺀 값과 같으므로, 데이터에서 직접 구성하는 것은 더 작은 자식 노드의 히스토그램뿐입니다.
  • 리프 단위 성장: LightGBM은 트리가 num_leaves개의 리프(기본값 31개)에 도달할 때까지 손실을 가장 크게 줄이는 최적 분할을 가진 리프를 계속 분할합니다. 이는 더 깊은 단계로 내려가기 전에 같은 깊이의 모든 노드를 분할하는 방식과 다릅니다. 리프 수가 같을 때 이 방식은 레벨 단위 성장보다 손실을 더 낮추지만, 깊고 불균형한 트리를 생성하여 작은 데이터셋에서 과적합이 발생할 수 있습니다.
  • 그래디언트 기반 단측 샘플링(GOSS): 그래디언트가 큰 행은 모델이 여전히 예측을 잘하지 못하는 행입니다. data_sample_strategy="goss" 설정에서 LightGBM은 그래디언트가 가장 큰 행의 20%를 유지하고, 나머지에서 10%를 무작위로 추가 샘플링한 다음, 데이터 분포가 원본과 비슷하게 유지되도록 해당 샘플에 더 높은 가중치를 부여합니다.
  • 배타적 특징 번들링(EFB): 원-핫 열처럼 동시에 0이 아닌 값이 되는 경우가 드문 희소 특징들을 하나의 특징으로 병합해 구성해야 하는 히스토그램 수를 줄입니다.

각 트리는 리프 예산이 소진되거나 더 이상 효과적인 분할이 없을 때까지 분할 탐색을 반복해 성장하며, 부스팅은 매 라운드마다 이 과정을 반복합니다:

LightGBM은 categorical_feature에 나열된 정수 인코딩 범주형 특징도 직접 분할합니다. 원-핫 인코딩 없이 각 분할에서 범주를 그룹화하며, 결측값도 기본적으로 처리합니다. 학습은 CPU와 GPU(device_type="gpu" 또는 "cuda")에서 실행할 수 있으며, 분산 학습기를 사용해 여러 머신에서 실행할 수도 있습니다.

LightGBM 학습 및 튜닝#

scikit-learn 스타일의 LGBMClassifier, LGBMRegressor, LGBMRanker 클래스로 대부분의 용도를 처리할 수 있습니다. 리프 단위 트리는 매우 깊게 성장할 수 있으므로 과적합을 막는 주요 제어 항목은 num_leaves, min_child_samples(리프당 기본값 20개 행), max_depth입니다. 여기에 학습률과 트리 수를 더한 설정은 일반적으로 하이퍼파라미터 튜닝이나 검증 세트 기반 조기 종료를 통해 결정합니다. 히스토그램과 리프 단위 성장의 이점은 20,000개 행과 40개 특징으로 구성된 합성 테이블에서 scikit-learn의 기존 정확 분할 그래디언트 부스팅과 비교하면 확인할 수 있습니다:

import time

import lightgbm as lgb
from sklearn.datasets import make_classification
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split

X, y = make_classification(n_samples=20_000, n_features=40, n_informative=15, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 200 trees each: exact split search vs. LightGBM's histograms and leaf-wise growth
for model in (GradientBoostingClassifier(n_estimators=200), lgb.LGBMClassifier(n_estimators=200, verbose=-1)):
    start = time.perf_counter()
    model.fit(X_train, y_train)
    seconds = time.perf_counter() - start
    print(f"{type(model).__name__}: {seconds:.1f} s, accuracy {model.score(X_test, y_test):.3f}")

Apple M5 Pro CPU에서 LightGBM은 최대 31개 리프를 가진 트리 200개를 1초 이내에 생성하는 반면, scikit-learn은 깊이 3의 정확 분할 트리 200개를 생성하는 데 약 20초가 걸립니다. 또한 LightGBM의 더 큰 트리는 테스트 정확도 0.956을 달성해 scikit-learn의 0.901보다 높습니다. 학습된 모델은 텍스트 또는 JSON으로 저장할 수 있으며, onnxmltools를 사용하면 Python 외부에서 서빙할 수 있도록 ONNX로 변환할 수 있습니다.

  • XGBoost: 2014년에 정규화된 2차 부스팅을 널리 알린 그래디언트 부스팅 라이브러리입니다. 기본적으로 깊이가 제한된 트리를 성장시키고(max_depth=6), grow_policy="lossguide"를 사용해 리프 단위 성장을 지원합니다. 버전 2.0 이후에는 히스토그램 기반 분할 탐색을 기본으로 사용하므로 두 라이브러리는 이제 대부분의 기법을 공유합니다.
  • CatBoost: 2017년에 공개된 Yandex의 부스팅 라이브러리입니다. 대칭 트리를 구성하고 범주형 특징을 순서형 타깃 통계로 인코딩해 타깃 누수를 줄입니다.
  • 랜덤 포레스트: 부트스트랩 샘플에서 깊은 트리를 독립적으로 학습하고 예측값을 평균하여 분산을 줄입니다.
  • HistGradientBoosting: scikit-learn의 HistGradientBoostingClassifier 및 HistGradientBoostingRegressor은 LightGBM에서 영감을 받은 구현으로, 같은 방식으로 특징을 구간화해 히스토그램을 만듭니다.
  • 테이블 형식 데이터용 파운데이션 모델: TabPFN과 같은 사전 학습된 Transformer는 데이터셋별 학습 과정 없이 한 번의 순전파로 작은 테이블의 예측을 수행합니다.

실제 적용 사례#

  • 사기 및 신용 위험: 은행은 계정 내역, 가맹점, 금액, 시점 특징을 바탕으로 거래와 대출 신청의 위험도를 평가합니다. LightGBM의 빠른 추론은 거래별 의사결정에 적합합니다.
  • 수요 예측: 소매업체는 과거 판매량, 가격, 프로모션, 달력 특징을 바탕으로 제품과 매장별 판매량을 예측합니다. 유동 인구는 흔히 사용하는 입력입니다. Ultralytics YOLO26 객체 계수는 매장 영상에서 선을 통과하는 사람을 추적하고 클래스별 입장 및 퇴장 수를 보고합니다. 이 수치를 시간별로 합산하면 LightGBM 인력 배치 예측의 특징으로 활용할 수 있습니다.
  • 검색 및 추천 랭킹: LGBMRanker은 기본적으로 LambdaRank 목적 함수를 사용해 학습합니다. 각 쿼리 그룹 내 문서나 제품의 순위를 정렬하여 정규화 할인 누적 이득(NDCG)을 최적화합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요