[Machine Learning] LightGBM이란? ✔ 설명 및 장단점
📌 Remind
LightGBM에 들어가기전에 복습 겸 reminding을 해보자.
Light GBM의 GBM은 Gradient Boosting Model로, tree를 기반으로 하는 학습 알고리즘이다. 이 GBM의 학습방식을 쉽게말하면, 틀린부분에 가중치를 더하면서 진행한다고 할 수 있다.
Gradient Boosting에서 Boosting은 여러개의 tree를 만들되, 기존에 있는 모델(tree)를 조금씩 발전시켜서 마지막에 이를 합하는 개념으로, Random Forest의 Bagging기법과 다른 방법이다.
Boosting하는 방식에도 크게 2가지가 있다.
1. AdaBoost와 같이 중요한 데이터(일반적으로 모델이 틀린 데이터)에 대해 weight를 주는 방식
2. GBDT와 같이 loss function처럼 정답지와 오답지간의 차이를 반복적으로 training하는 방식
(즉, gradient를 이용해서 모델을 개선하는 방식 (XGBoost와 LightGBM이 해당))
추가)
GBM 설명
: Gradient Boosting = Boosting with gradient decent
예를 들어,
첫번째 단계의 tree모델 1 을 통해 Y를 예측하고, residual(true-predicted)을 다시 두번째 단계 tree모델 2의 input으로 넣어주어 예측한다. 또 여기서 발생한 residual을 세번째 단계 tree모델 3의 input으로 넣어 예측한다. 이렇게 하면 residual은 점차 작아질 것이다.
이렇게 만들어진 tree모델 1 + tree모델 2 + tree모델 3이 우리의 Gradient Boosting Model이 된다.
📌 LightGBM 특징
기존의 tree기반 알고리즘은 level wise(균형 트리 분할) 방식을 사용했다. 즉, 최대한 균형이 잡힌 트리를 유지하면서 분할하기 때문에 tree의 깊이가 최소화가 될 수 있었다. 하지만 이는 균형을 맞추기 위한 시간이 필요하다는 것을 의미하기도 한다.
LightGBM의 leaf wise tree분할 방식은 tree의 균형을 고려하지 않고 최대 손실 값(max data loss)를 가지는 leaf node를 지속적으로 분할하면서 tree의 깊이가 깊어지고 비대칭적인 tree가 생성된다. 이와같이 최대 손실값을 가지는 leaf node를 반복 분할하는 방식은 level wise tree분할 방식보다 예측 오류 손실을 최소화할 수 있다.
level wise vs leaf wise
📌 LightGBM 장단점
장점)
- 학습하는데 걸리는 시간이 적다, 빠른 속도
- 메모리 사용량이 상대적으로 적은편이다
- categorical feature들의 자동 변환과 최적 분할
- GPU 학습 지원
단점)
- 작은 dataset을 사용할 경우 과적합 가능성이 크다 (일반적으로 10,000개 이하의 데이터를 적다고 한다)
👇 앙상블 기법에 대한 설명이 궁금하다면..!👇
2022.06.20 - [Computer Science/Data Science] - [Machine Learning] 앙상블 기법이란?