통계/머신러닝 MachineLearning

[ML] ChatGPT로 알아보는 LightGBM

sseozytank 2023. 5. 12.

datarobot으로 모델링을 진행하면서, 모델 별 기본 원리와 어떤 특징을 가지고 있는지 알기 위해 챗 지피티와 함께 공부해보았다. 

우선은 그 중 LightGBM에 대해 알아보았다! 

 

LightGBM (Light Gradient Boosting Machine)  

<기본 설명> 

- GOSS, EFB라는 새로운 알고리즘을 통해서 데이터 셋의 크기를 줄이고 수행 속도를 큰 폭으로 높임 

    i. GOSS : 데이터셋의 샘플 수를 줄이는 알고리즘 (축소한 데이터셋이라도 어느 수준 이상으로 차이가 발생하지 않는다) 

    ii.  EFB : 데이터셋의 Feature 수를 줄이는 알고리즘 ( 상호 배타적인 변수들을 하나의 bucket으로 묶어서 줄이는 방식) 

- Tree 기반 학습 알고리즘 

- 수직적으로 확장되는 leaf-wise로 level-wise이 다른 알고리즘과 다르게 수직적으로 확장 

 

Light GBM (좌) / 다른 알고리즘 작동방식 (우) 

 

  • leaf-wise 트리 분할: 트리의 균형을 맞추지 않고, 최대 손실값(max delta loss)을 가지는 리프 노드 분할 -> 예측 오류 손실을 최소화 할 수 있음(대신 트리의 깊이가 깊어지고 비대칭적임)
  • level-wise 트리 분할: 균형 잡힌 트리 모양을 유지함으로써 트리의 깊이를 효과적으로 줄임 -> overfitting에 강함(대신 트리 균형을 맞추는 데에 시간이 소요됨)

< 언제 사용할까? >

1. 대규모 데이터 처리 : 대용량 데이터에 대한 분산 학습을 지원하며, 빠른 속도로 학습이 가능하기 때문에 대규모 데이터를 다루는 경우 적합 (권장 데이터 수 10,000 이상의 row, 데이터양이 적으면 과적합 우려) 

2. 카테고리형 변수 처리 : 카테고리형 변수를 처리하는 기능이 있어, 범주형 데이터를 다루는 데 효과적

3. 빠른 예측 속도 : 빠른 속도로 예측할 수 있기 때문에  실시간 예측이 필요한 경우에 적합 

 

<장점> 

1. 효율적인 데이터 분할 알고리즘을 적용하여 빠른 속도로 학습 가능 

2. L1, L2 규제를 적용하여 과적합 방지 가능 

3. 범주형 데이터를 처리하는 기능이 있으며, 이를 자동으로 처리하여 모델의 정확도를 높일 수 있음 

4. 대규모 데이터를 처리하는 데 효과적 

 

<단점> 

1. 대용량 데이터를 다루기 때문에, 메모리 사용량이 많아질 수 있습니다. 

2. 다양한 하이퍼 파라미터를 가지고 있어 적절한 하이퍼파라미터를 설정하는 것이 필요 

 - LightGBM에 대한 파라미터는 추가 포스팅 예정 

3. 학습이 복잡하여 해석이 어렵다. 

 

<평가지표 > 

confusion, accuracy, precision, recall, F1, AUC 등   

 

 

참고자료 

https://nurilee.com/2020/04/03/lightgbm-definition-parameter-tuning/

https://databoom.tistory.com/entry/LightGBM%EC%84%A4%EB%AA%85

https://kicarussays.tistory.com/38

https://heeya-stupidbutstudying.tistory.com/entry/ML-GBM-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%8F-LightGBM-%EC%86%8C%EA%B0%9C-%EA%B8%B0%EB%B3%B8%EA%B5%AC%EC%A1%B0-parameters

댓글