- Underfitting & Overfitting
- Underfitting: 모델이 데이터를 설명하지 못함(학습 부족, 적은 데이터양 등)
- Overfitting: 모델이 Train set에서는 좋은 성능을 내지만 Validation set에서 낮은 성능을 내는 경우
- 일반적으로 우리가 사용하는 데이터셋은 전체의 아주 작은 일부분(Sample dataset)
- Underfitting 방지
- 더 많은 데이터로 더 오래 훈련
- 피쳐를 더 많이 반영
- Variance가 높은 머신러닝 모델 사용
- Overfitting 제어
- Early stopping: 검증 데이터셋에 대한 오차가 증가하는 시점에서 학습을 조기종료(모델의 성능을 보장하지는 않음)
- Parameter norm penalty: 파라미터 값에 제약을 주어 모델의 복잡도를 낮추는 방법
- Data augmentation: 데이터를 의도적으로 증가시키는 것
- Smote: 데이터가 부족할 때 클래스 간 불균형을 해결하기 위한 오버샘플링 기법
- Dropout: 피쳐의 일부분만 사용하여 모델 생성
- Validation strategy
- 테스트 데이터셋(test dataset): 가장 중요한 데이터셋으로 많은 노력 필요, 최대한 전체 데이터를 대표할 수 있어야 함
→지속적으로 바뀌어선 안됨: validation dataset을 조절하는 것이 이상적 - 검증용 데이터셋(validation dataset): 모델의 성능을 파악하기 위해 선정하는 데이터셋, 테스트 데이터셋과 최대한 유사하게 구성→해결하려는 문제의 배경을 바탕으로 전체 데이터셋과 유사하게
- 훈련용 데이터셋(train dataset): 머신러닝 모델을 학습하는 데이터셋, 확보한 데이터의 품질에 따라 노이즈 포함 여부 고민
- Hold-out Validation: 하나의 검증 데이터셋과 훈련 데이터셋을 사용
- Cross Validation: 여러 개의 데이터셋으로 검증과 훈련 진행(K-Fold, Stratified K-Fold,Group K-Fold)
- 테스트 데이터셋(test dataset): 가장 중요한 데이터셋으로 많은 노력 필요, 최대한 전체 데이터를 대표할 수 있어야 함
- 재현성
- 측정한 결과가 다시 나타나는 성질
- 자신 이외의 사람이 똑같은 데이터와 학습 코드, 알고리즘과 파라미터 등으로 학습해서 실행할 경우 큰 차이가 없는 모델을 만들 수 있어야함
본 포스트의 학습 내용은 부스트클래스
<AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정>
강의 내용을 바탕으로 작성되었습니다.