출처: AI 엔지니어 기초 다지기 : 네이버 부스트캠프 AI Tech 준비과정
돌다리도 다시 두들겨보고 건너는 개념 복습 게시물
Overfitting: 전체 데이터 구조 = sample data set인 경우면 좋음. 그런데 이런 경우 거의 없음.
정확도가 train은 좋은데 test가 엉망(음수)인 경우 = 실질 예측성 떨어짐
Underfitting: 정확도가 train은 엉망인데 test가 좋은 경우; 또는 두 점수 모두 너무 낮은 경우
why?) model is too simple!! or data set is too small! -> not trained well
Underfitting 대응법: 더 많은 데이터, 더 많은 feature 반영, variance가 높은 ML 모델 사용 등
Overfitting 대응법: Regularization(Early stopping, Parameter norm penalty, Data augmentation, Noise robustness, Label somoothing, Dropout, Batch normalization)
여기서 밑줄친 4개 기법은 정형데이터에서도 활용이 가능하다.
1. Early Stopping
validation error가 최소지점일 때 stop!
최적의 결과를 찾는 과정 = tradeoff 관계에 있음
2. Parameter norm penalty (L1 = Lasso, L2 = Ridge)
3. Data augmentation: 데이터를 의도적으로 증강시켜 모델을 다양한 학습을 유
의미있는 데이터가 많을 수록 용이하다. 정형데이터는 SMOTE를 사용한다.
4. Dropout: 모든 피쳐를 사용않고 피쳐 일부부만 사용하는 것
정형데이터에서는 트리모델의 가지치기 개념
Validation strategy
Validation set: 내가 만든 model의 성능을 test set 적용 전에 파악하기위해 사용하는 것. 최대한 test set과 유사한 것이 좋다. test set을 알 수 없는 경우 (내일의 주식가격 예측 등), 그에 맞춰서 기존에 가지고 있는 데이터로 잘 구성해야 함
비율 조정(stratify)도 중요 -> stratified split
보통 쪼개는 기준은 8:2이지만 경우에 따라 7:3(test를 많이 해야하는 경우), 9:1 하는 경우도 있다.
단점: 초반 train data는 부족할 수 있음
Reproducibility(재현성): 매번 random하면 정량평가가 어려우므로 seed를 고정한다. random state 번호 고정이 그 예가 된다.
'Programming > Python' 카테고리의 다른 글
기본 개념 정리 3 (features) (0) | 2024.01.30 |
---|---|
트리 모델, TabNet (0) | 2024.01.27 |
기본 개념 정리 1 (데이터, EDA, 데이터 전처리) (1) | 2024.01.16 |
ETL (Extract, Transform, Load) with command-line tools (1) | 2024.01.03 |
[DL] over(under)fitting 최적, Dropout, Callback (0) | 2023.09.20 |