본문 바로가기

멋쟁이사자처럼 AI School 8기(fin)/WIL(Week I Learn

[멋쟁이사자처럼 AI스쿨] week14 - WIL

 

 

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

 

 

 

분류 평가 지표