LightGBM is a gradient boosting framework that uses tree based learning algorithms.
간단히, 기존 GBM들보다 훨씬 더 빠르게 학습이 되는 모델이다
이미지 출처 : https://lightgbm.readthedocs.io/en/latest/Features.html
- 기존의 GBM들은 Level-wise 방식으로 Tree를 빌드했다
- Level-wise : DT가 학습을 할 때, 같은 level에 있는 노드들을 모두 split한 뒤 다음 level로 넘어가는 방식 (Breadth-First Search)
- 깊이가 너무 커지면 overfitting될 가능성이 높으므로 level을 제한하여 최대한 모델을 키우는 방식을 사용해왔다 (Model Generalization)
이미지 출처 : https://lightgbm.readthedocs.io/en/latest/Features.html
- Level-wise 방식이나, Leaf-wise 방식이나 모두 최적화(optimal)를 만들게 된다면 비슷한 DT를 만들게 될 것
- 다만, Leaf-wise를 사용하면 훨씬 더 빠른 시간에 optimal을 찾을 수 있다
- 전체 Loss가 줄어드는 방향으로 노드를 선정하여 split. Level을 유지하려는 경향을 버린다
- 필요한 노드들만 split하면 되기 때문에, 기존의 GBM들에 비해 훨씬 빠르게 학습 가능
- 적은 데이터를 사용하게 되면 overfitting이 될 가능성이 높음 (10,000 rows 이상일 때 사용 권장)
- 다른 GBM들에 비해 하이퍼파라미터에 민감함 (특히 max_depth)