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
'통계 > 머신러닝 MachineLearning' 카테고리의 다른 글
[ML] 주성분 분석 PCA와 차원의 저주 (1) | 2023.11.20 |
---|---|
[ML] Target Leakage / Data Leakage (데이터 누수) (0) | 2023.03.03 |
[ML] 지도학습, 비지도학습, 강화학습 (1) | 2022.11.28 |
[ML] 회귀 모델 성능 평가 지표 개념과 파이썬 코드 (MAE,MSE,RMSE,R2,MAPE,MPE) (0) | 2022.10.13 |
댓글