AIS8 week14
23.3.20 - 3.22
머신러닝 with Gradient Boosting,
머신러닝 워크플로우
1. 문제 정의
2. 데이터 수집 및 EDA
3. 데이터 전처리
4. Feature 선택 및 추출
5. 모델 선택과 학습
6. 모델의 성능 평가
7. 모델 개선
Gradient Boosting
XGBoost(Extreme Gradient Boosting)
- 손실함수를 토대로 매 iteration마다 하나의 leaf로부터 가지를 늘려나감
- 손실 함수가 최대한 감소하도록 하는 split point(분할점)를 찾는 것이 XGBoost의 목표
- GBM 대비 빠른 수행시간(병렬 처리)
- Early Stopping(조기 종료) 기능이 있음
- 모델의 Overfitting
- 학습시간이 느림
- 과적합 방지를 위해 조정해야하는 것
- n_estimators 높이기
- learning rate 낮추기
- max_depth 낮추기
- min_child_weight 높이기
- gamma 높이기
- subsample, colsample_bytree 낮추기
LightGBM(Light Gradient Boosting Machine)
- GOSS(Gradient based One Side Sampling)와 EFB(Exclusive Feature Bundling)를 적용,
- XGBoost와 비교시 정확도는 유지, 학습 시간 단축 모델
- 리프 중심 트리 분할(Leaf Wise) 방식
- overfitting (과적합)에 민감하고
- 작은 데이터에 대해서 과적합되기 쉬움
- 균형을 맞추지 않고 최대 손실 값(max delta loss)을 가지는 리프 노드를 지속적으로 분할
- 트리가 깊어지고 비대칭적인 트리 구조 생성하여 예측 오류 손실을 최소화
CatBoost
- 과적합을 극복하기 위해 부스팅 정렬(순서가 있는 부스팅 사용)
- 범주형 기능에 대한 기본 처리
- 더 빠른 실행을 위해 Oblivious Trees 또는 Symmetric Trees 사용
- 희소 행렬을 지원하지 않음
- 수평트리(Level-wise Tree)
- 정렬된 부스팅(Orderd Boosting)
- 임의 순열(Random Permutation)
- 정렬된 대상 인코딩(Ordered Target Encoding)
- 범주형 Feauture 조합(Categorical Feauture Combinations)
- 원핫 인코딩(One-hot Encoding)
- 최적화된 파라미터 튜닝(Optimized Parameter tuning)
cf) Oblivious Trees?
- 모든 리프노드는 같은 수준에 있음
- 모든 내부 노드의 차수는 최대 3
- 트리에서 가장 오른쪽 경로에 있는 노드만 차수가 1일 수 있음
Confusion Matrix
분류 평가 지표
'멋쟁이사자처럼 AI School 8기(fin) > WIL(Week I Learn' 카테고리의 다른 글
[멋쟁이사자처럼 AI스쿨] week13 - WIL (0) | 2023.03.16 |
---|---|
[멋쟁이사자처럼 AI스쿨] week12 - WIL (0) | 2023.03.09 |
[멋쟁이사자처럼 AI스쿨] 3월 1주 WIL (0) | 2023.03.02 |
[멋쟁이사자처럼 AI스쿨] Week8 - WIL (0) | 2023.02.09 |
[멋쟁이사자처럼 AI스쿨] Week7 - WIL (0) | 2023.02.02 |