AI Study/머신러닝(ML)

주니어 PM 혼자 AI 기초 공부: 머신러닝 - LightGBM

Brownee 2025. 12. 22. 10:53
반응형

요약

 

LightGBM은 Microsoft가 개발한 그래디언트 부스팅 라이브러리로, 트리 기반 학습을 통해 대규모 데이터셋에서 효율적인 머신러닝 작업을 수행합니다. 연구에 따르면 XGBoost보다 속도와 메모리 효율성이 우수하지만, 데이터 규모에 따라 최적화가 필요할 수 있습니다.

  • LightGBM은 리프 중심 트리 성장과 히스토그램 기반 기법을 통해 빠르고 메모리 효율적인 모델링을 제공하지만, 작은 데이터셋에서는 과적합 위험이 있을 수 있습니다.
  • 경쟁력 면에서 대규모 데이터 처리 속도가 탁월하며, 금융 및 의료 분야에서 실무 적용이 증가하고 있지만, 해석 가능성에 대한 논란이 있습니다.
  • 활용 사례는 사기 탐지와 판매 예측이 주를 이루며, 최근 하이브리드 모델이 한계를 보완하고 있습니다.
  • 한계로 인해 모든 시나리오에 적합하지 않으며, 지속적인 연구가 진행 중입니다.

pip를 통해 설치하세요(예: pip install lightgbm), 데이터를 테이블 형식으로 준비하고 학습률 및 최대 깊이와 같은 주요 매개변수에 집중하세요. scikit-learn과 같은 도구와 함께 파이프라인에서 사용하면 엔드-투-엔드 워크플로를 만들 수 있습니다.


LightGBM; 더 가볍고 빠른 그래디언트 부스팅

LightGBM(Light Gradient Boosting Machine)은 2017년 Microsoft가 개발한 오픈소스 그래디언트 부스팅 라이브러리로, 트리 기반 학습 알고리즘을 통해 분류, 회귀, 랭킹 등의 작업을 효율적으로 수행합니다.
LightGBM은 대규모 데이터 처리에 아주 효과적입니다. XGBoost같은 전통적인 그래디언트 부스팅 방법에 비해 훈련 속도가 최대 20배 빠르고, 메모리 사용량이 적고, 더 높은 정확도를 달성할 수 있습니다. 그러나 작은 데이터셋에서는 오버피팅을 피하기 위해 튜닝이 필요할 수 있습니다. Python과 잘 통합되고 빠른 프로토타이핑을 지원하기 때문에 간단한 데이터셋으로 실험을 시작할 수 있습니다.

 

핵심 개념

  • 리프 중심 트리 성장(Leaf-Wise Tree Growth)
    • 다른 부스팅 알고리즘은 레벨 중심 트리 성장 모델입니다. 트리를 층별로 구축합니다.
    • LightGBM은 오차를 가장 많이 줄일 수 있는 리프를 골라 집중적으로 분할해서 트리를 성장시킵니다.
    • 적은 노드로 더 깊고 정확한 트리를 만들 수 있고, 대규모 데이터셋에서 더 빠른 모델 훈련이 가능합니다.
    • 작은 데이터셋에서는 오버피팅의 위험이 있습니다.
  • 히스토그램 기반 비닝(Histogram-Based Binning)
    • 연속되는 특징을 몇 개의 빈(bin; 히스토그램)으로 묶어서 분할 찾기를 가속화합니다.
    • 다른 모델에 비해 계산 시간과 메모리가 획기적으로 줄어듭니다.
    • 고객 행동 로그와 같은 고차원 데이터의 실제 시나리오에서 특히 유용하고, 모든 데이터 포인트를 스캔하는 것이 비효율적일 때 효과적입니다.
  • 그래디언트 기반 일측 샘플링(GOSS, Gradient-Based One-Side Sampling)
    • 더 큰 그래디언트(오류)를 가진 데이터 인스턴스를 더 많이 샘플링하고 작은 그래디언트를 가진 것은 일부만 무작위로 샘플링해서, 더 어려운 예측 사례에 계산을 집중합니다.
    • 불균형 데이터셋의 비즈니스 애플리케이션에서 최적화됩니다.
    • 희귀 이벤트가 중요한 사기 탐지와 같은 경우에 유용합니다.
  • 배타적 특징 번들링(EFB, Exclusive Feature Bundling)
    • 상호 배타적(희소) 특징을 번들링하여 차원을 줄이고 메모리를 절약하면서도, 정보를 잃지 않습니다.
    • 전자상거래 산업의 광범위한 데이터셋을 처리할 때 핵심이며, '사용자 클릭'과 같은 희소한 특징을 다룹니다.

 

참고) 상호 배타적(희소) 특징의 번들링

'과일 종류'의 예를 들면, 다음과 같이 5가지의 질문 중 하나만 참입니다.
사과인가? [1, 0, 0, 0, 0]
바나나인가? [0, 1, 0, 0, 0]
오렌지인가? [0, 0, 1, 0, 0]
포도인가? [0, 0, 0, 1, 0]
딸기인가? [0, 0, 0, 0, 1]

한 번에 딱 하나만 1이고, 나머지는 다 0이지요. 상호 배타적이라는 말은 '동시에 참일 수 없다' 는 뜻입니다. 이런 특징은 대부분이 0이라서 희소(sparse)하다고 합니다.

위의 경우 5개의 특징을 저장하기 위해 5칸이 필요하고, 과일이 1,000개가 되면 5,000칸이 필요합니다. 대부분의 특징이 0이라 메모리가 엄청나게 낭비됩니다. 그래서 이를 번들링(Bundling; 묶기) 해서 5개의 특징을 1개로 줄입니다.

원래 (5개 특징)
사과=1, 바나나=0, 오렌지=0, 포도=0, 딸기=0
사과=0, 바나나=1, 오렌지=0, 포도=0, 딸기=0

번들링 후 (1개 특징)
과일 = 1 (사과를 의미)
과일 = 2 (바나나를 의미)
과일 = 3 (오렌지를 의미)

[1,0,0,0,0] 이던 특징을 '1번째가 1' , '2번째가 1' 이라는 식으로, 완전히 같은 정보를 표현 방식만 바꿨습니다. 메모리를 크게 절약하고, 계산 속도가 빨라지면서도, 정보 손실은 없습니다.

 

 

이미지

리프 중심의 트리 성장 방식.

이미지 출처:

https://lightgbm.readthedocs.io/en/latest/Features.html

 

 

등장 배경

LightGBM은 XGBoost와 같은 초기 그래디언트 부스팅 프레임워크의 한계를 극복하기 위해 개발되었습니다. 전통적인 방법은 메모리 소비가 높고 훈련 시간이 길었으며, 데이터의 규모가 커질수록 문제가 증폭되었습니다.
LightGBM은 히스토그램 기반 접근, GOSS를 통한 똑똑한 샘플링, EFB를 통한 특징 감소를 도입해서 최대 20배의 속도 향상과 메모리 절감을 달성하면서도 정확도를 유지하거나 개선했습니다.

 

활용 사례

LightGBM은 속도와 확장성이 중요한, 대규모의 구조화된 테이블 데이터를 사용하는 비즈니스 분야에서 가장 효과적입니다. 금융, 전자상거래, 의료, 제조업 등에서 고차원의 특징이나 불균형 클래스를 가진 예측 모델링 작업에 탁월합니다.

  • Microsoft 맬웨어 탐지
    • 대회 및 생산 시스템에서 파일 특징으로부터 맬웨어를 분류하는 데 사용됩니다.
    • 수십억 개의 샘플을 효율적으로 처리하여, 사이버 보안에서 높은 정확도와 낮은 지연으로 위협에 대응합니다.
  • 소매업 판매 예측
    • 전자상거래 판매 예측 연구에서 다른 모델을 능가합니다.
    • 계절의 추세와 대규모 거래 로그를 처리하여, 재고 관리를 개선하고 재고 부족 상황을 줄입니다.
  • 도서관 건축 설계 최적화
    • 건물 성능 평가에서 에너지 효율성과 사용자의 편안함 지표를 설계 매개변수로부터 예측합니다.
    • 지속 가능한 건물 프로젝트에서 빠르게 반복할 수 있도록 합니다.
 

Key Words

  • 그래디언트 부스팅(Gradient Boosting): 모델을 순차적으로 구축하며 각 모델이 이전의 오류를 수정하여 손실을 최소화하는 앙상블 기법—라이트GBM의 반복적 개선의 핵심.
  • 리프 중심 분할(Leaf-Wise Split): 최고의 오류 감소 잠재력을 가진 리프를 확장하여 트리를 성장시키며, 비대칭 트리를 만들지만 더 효율적입니다.
  • 히스토그램 비닝(Histogram Binning): 연속 데이터를 이산 빈으로 그룹화하여 특징이 많은 데이터셋에서 분할 계산 시간을 줄입니다.
  • GOSS (Gradient-based One-Side Sampling): 큰 그래디언트(높은 오류)를 가진 인스턴스를 우선 샘플링하며, 어려운 예측에 초점을 맞춥니다.
  • EFB (Exclusive Feature Bundling): 희소하고 비중복 특징을 번들링하여 메모리 사용을 줄이면서 정보를 유지합니다.
  • 오버피팅(Overfitting): 모델이 노이즈를 학습하는 경우, 리프 중심 성장의 위험—max_depth와 같은 매개변수로 완화.
  • 학습률(Learning Rate): 각 트리가 최종 모델에 기여하는 정도를 제어하는 하이퍼파라미터; 낮은 값은 오버피팅을 방지하지만 수렴을 늦춥니다.
  • Num Leaves: 트리당 최대 리프 수, 복잡성과 속도를 균형.
  • Bagging Fraction: 각 트리 훈련에 사용되는 데이터 비율, 일반화를 위해 무작위성을 추가.
  • Feature Fraction: 분할당 고려되는 특징의 하위 집합, 고차원 데이터에서 오버피팅 감소.

 

한계

  • 작은 데이터셋 또는 노이즈가 많은 데이터셋에서의 오버피팅 위험이 높음.
    • 극복: 데이터 증강 기법(예: Tabular Variational Autoencoders).
  • 광범위한 튜닝을 요구하는 하이퍼파라미터 민감성.
  • 단순 모델에 비해 내재적 해석 가능성이 낮음.
  • 이미지와 같은 비구조화 입력에서는 데이터 전처리가 필요함.

 

퀴즈

  • Q1) LightGBM의 트리 성장과 전통적인 레벨 중심 방법의 주요 차이는 무엇인가요?
  • Q2) GOSS가 LightGBM의 효율성을 어떻게 개선하나요?
  • Q3) LightGBM이 오버피팅될 수 있는 시나리오와 이를 완화하는 방법은?
  •  
  • A1) LightGBM은 오차를 가장 많이 줄일 수 있는 리프를 분할하는 리프 중심 성장을 사용하며, 더 빠르지만 더 깊은 트리를 생성할 수 있습니다.
  • A2) 큰 그래디언트를 가진 인스턴스를 더 많이 샘플링하고 쉬운 것을 무작위로 버려서, 어려운 예시에 계산을 집중하여 시간을 절약합니다.
  • A3) 작은 데이터셋에서의 공격적인 리프 분할로 인한 오버피팅. => max_depth, 조기 중지, 또는 더 높은 정규화로 완화시킵니다.

 

References

반응형