Overfitting은 학습 데이터의 잡음 양에 비해 모델이 너무 복잡할 때 발생할 수 있다.
지나치게 학습데이터에 맞게 최적화된 형태이다.
Overfitting의 해결 방법
- 파라미터 수가 더 적은 모델을 선택한다.
- 학습 데이터에 있는 불필요한 특성을 제거하거나, 특성 수를 줄인다.
- 모델에 제약(regularization)을 추가해서 단순화시킨다. (ex. 특정 모델 파라미터의 값이 0이 되도록 해서 곡선 -> 직선으로 만드는 방법 / 또는 파라미터 값의 범위에 제한을 둬서 좀 더 단순화할 수도 있다. / 학습 알고리즘의 하이퍼파라미터 조정을 통해 제한을 줄 수 있음 )
- 학습 데이터를 더 많이 수집한다.
- 학습데이터의 noise를 줄인다. (이상치 제거, 오류 데이터 수정)
Underfitting은 반대로 모델이 너무 단순해서 데이터를 학습하지 못할 때 발생한다.
Underfitting의 해결 방법
- 파라미터가 더 많은 복잡한 모델을 선택한다.
- 더 좋은 특성을 제공한다. (feature engineering - 기존에 있는 특성들을 결합해서 만드는 경우도 있다.)
- 규제 하이퍼파라미터를 감소시키는 등의 방법으로 모델 제약을 줄인다.