728x90
반응형
머신러닝 LightGBM이 XGBoost보다 좋은 이유
안녕하세요.
로스윗의 코딩 캠프입니다.
오늘은 XGBoost와 그 후속작인 LightGBM과의 차이점에 대해서
간략하게 포스팅 하는 시간을 가져보겠습니다.
- LightGBM이 왜 XGBoost보다 빠른가?
그 이유는 GOSS라는 핵심기법에 차이가 있습니다.
LightGBM이 XGBoost 보다 빠른이유는 바로
XGBoost는 level-wise tree를 사용하고
LightGBM은 leaf-wise tree를 사용하기 때문입니다.
쉽게 설명드려보겠습니다.
처음에 데이터가 전부 root에 있고, 2분할을 계속합니다.
LightGBM 이전의 모델은 데이터를 왼쪽으로 나눈 다음에 바로 오른쪽을 나누었습니다.
그렇게 밸런스 트리라는 것을 만들면서 스플릿을 합니다.
트리가 한 쪽으로 안 치우치게 하는 거죠.
이것을 level-wise tree라고 합니다. 같은 레벨이 되게끔 만드는 것을.
그런데 LightGBM은 그렇게 하면 느리다는 생각에서 출발합니다.
트리를 level 별로 나누는게 아니고 loss가 많이 줄어들 것 같은 것을 계속 분할하는 겁니다.
그렇게 나누다보면 밸런스르 맞추는 level이 중심이 아니라 leaf를 중심으로 계속해서 나누게 됩니다.
이게 GOSS기법입니다.
이 방법을 사용했더니 LightGBM이 XGBoost보다 더 좋은 성능을 내더라는 것입니다.
이 둘은 비슷한 모델이지만 Level-wise냐 leaf-wise냐에 따라 약간의 성능차이를 보이는 것입니다.
728x90
반응형
'머신러닝' 카테고리의 다른 글
머신러닝 성능 평가 지표 완벽 이해(ft. Accuracy, Precision, Recall) (0) | 2022.10.04 |
---|---|
로스윗의 스윗~한 머신러닝 로지스틱 회귀(Logistic Regression) (0) | 2022.09.14 |
한 눈에 이해하는 머신러닝 전과정 (0) | 2022.09.02 |
머신러닝이란 도대체 무엇일까? (0) | 2022.09.01 |
머신러닝 차원의 저주, 발생 원인과 해결 방안 (0) | 2022.08.20 |