Light GBM 모형
LightGBM은 그 이름 Light에서도 알 수 있듯이 computational cost를 줄이기 위해 여러 가지 고급기술?을 도입하였다고 합니다.
그 중 하나인 Gradient based one sided sampling에 대해 직관적으로 이해해봅시다.
위에서 gradient boosting 기법을 다시 한번 생각해보면 각 data row마다 residual을 계산하여 learning rate를 이용한 예측값을 갱신하는 과정이 있었습니다.
이것은 마치 data row가 가지는 gradient로부터 gradient descent를 하는 과정을 연상시키죠.
그런데 Gradient based one sided sampling은 이름에서도 알 수 있듯이 gradient를 기반으로 필요없는 데이터는 버리겠다는 것입니다.
기본적인 gradient boosting이 모든 data row에 대해 residual을 업데이트하는 과정을 거치는데 이것이 비효율적인 cost를 낳는다고 생각한 것이죠
gradient가 클수록 더 많은 정보를 반영하고 있다는 것을 딥러닝을 많이 공부하셨다면 직관적으로? 어느정도 이해하고 있다고 생각합니다.
gradient가 클수록 gradient descent update과정에서 weight에 더 크게 반영이 돼서 그렇습니다. (반드시 그렇냐고 묻는다면 조금 애매한 부분이 있는 것 같습니다만은..)
LightGBM은 이 아이디어에 기반하여 gradient가 큰 데이터는 예측값을 갱신하여 tree를 생성해나가고 적은 데이터는 버려서 효율적으로 gradient boosting을 수행하겠다는 알고리즘입니다.
'정형데이터' 카테고리의 다른 글
의사결정나무(decision tree)의 생성 원리 (0) | 2021.12.06 |
---|---|
CatBoost 모형 (0) | 2021.11.03 |
XGBoost 모델 (0) | 2021.11.02 |
Gradient boosting 모형 (0) | 2021.11.01 |
Adaboost 모형 (0) | 2021.11.01 |