모델이 학습 데이터의 패턴조차 제대로 잡아내지 못하는 상태다. 학습 데이터에서의 오차도 크고, 새로운 데이터에서의 오차도 크다.

반대는 overfitting 으로, 학습 데이터는 거의 완벽하게 맞히지만 새로운 데이터에서 오차가 커지는 상태다. 두 오차를 함께 보면 어느 쪽인지 구분된다.

학습 오차검증 오차
underfitting크다크다
적절작다작다
overfitting아주 작다크다

bias 와의 관계

underfitting 은 high bias 상태다. bias 는 모델이 표현할 수 있는 함수들의 평균이 참값에서 얼마나 떨어져 있는지를 말하는데, 모델이 애초에 데이터의 구조를 담을 만큼 유연하지 않으면 데이터를 아무리 많이 줘도 이 거리가 좁혀지지 않는다.

휘어진 관계를 직선으로 맞추려는 경우가 전형적이다. 데이터를 늘리거나 학습을 더 오래 시켜도 직선이라는 형태가 담을 수 없는 부분은 그대로 남는다.

무엇을 바꿔야 하나

원인이 모델의 표현력 부족이므로, 데이터를 늘리는 것은 도움이 되지 않는다.

  • 모델을 키운다 — 층·유닛 수를 늘리거나 더 유연한 모델로 바꾼다
  • 특징을 추가한다 — 다항 항, 상호작용 항, 도메인 지식으로 만든 변수
  • regularization 을 줄인다 — ridge regression 처럼 계수를 억누르는 값이 너무 크면 인위적으로 underfitting 을 만든다
  • 더 오래 학습한다 — 아직 수렴하지 않은 것과 표현력이 부족한 것은 다르므로, 학습 곡선이 아직 내려가는 중인지 먼저 확인한다