본문 바로가기
Artificial intelligence

[AI] 과소적합(underfitting)과 과잉적합(overfitting) / 바이어스(bias)와 분산(variance)

by @__100.s 2021. 9. 10.
반응형

과소적합 underfitting

  • 모델의 ‘용량이 작아’ 오차가 클 수밖에 없는 현상
  • 더 높은 차원의 다항식, 즉 비선형 모델을 사용하여 해결할 수 있음.

과잉적합 overfitting

  • 12차 다항식 곡선을 채택한다면 훈련집합에 대해 거의 완벽하게 근사화함
  • 하지만 ‘새로운’ 데이터를 예측한다면 큰 문제 발생
    • 예) x0에서 빨간 막대 근방을 예측해야 하지만 빨간 점을 예측
  • 이유는 ‘모델의 용량capacity이 크기’ 때문에 학습 과정에서 잡음까지 수용 → 과잉적합 현상
    • 훈련집합에 과몰입해서 단순 암기했기 때문임
  • 적절한 용량의 모델을 선택하는 모델 선택 작업이 필요함

  • 일반적으로 학습 데이터의 양이 충분하지 않은 경우, 특히 모델의 매개변수 수보다 적은 수의 데이터를 사용하는 경우 과잉적합이 쉽게 발생함. 학습 데이터 양을 늘리면 일반화 오류는 일반적으로 줄어듬.
    • 과잉적합이 해결될만큼 충분한 양의 데이터는 x가 y가 되는 모든 것들을 다 설명할 수 있을 만큼의 양인데, 이는 불가능 함. '데이터 양을 충분하게 수집한다.'라고 하는게 과잉적합의 문제를 낮추긴 하지만 완벽하게 해결한 것은 아님.

1차 ~ 12차 다항식 모델의 비교 관찰

  • 기계학습의 목표는 훈련집합에는 없는 새로운 데이터, 즉 테스트집합에 대해 높은 성능을 보장하는 프로그램을 만드는 것. 이러한 특성을 일반화 능력이라고 함.
  • 1~2차는 훈련집합과 테스트집합 모두 낮은 성능 : 과소적합
  • 12차는 훈련집합에 높은 성능을 보이나 테스트집합에서는 낮은성능 → 낮은 일반화 능력 : 과잉적합
  • 3~4차는 훈련집합에 대해 12차보다 낮겠지만 테스트집합에는 높은성능 → 높은 일반화 능력 : 적합모델 선택

모델의 일반화 능력과 용량 관계

  • 데이터에 비해서 모델의 용량이 작으면, 과소적합(underfitting)이 발생하고, 모델의 용량이 너무 크면 과잉적합(overfitting)이 발생
  • 데이터에 대해 모델의 용량을 적절하게 선택하는 것이 과잉적합(overfitting)과 과소적합(underfitting) 문제를 피하는 방법 중에 하나

바이어스와 분산

훈련집합을 여러 번 수집하여 1차~12차에 반복 적용하는 실험

  • 2차는 매번 큰 오차 → 바이어스(편향)이 큼. 하지만 비슷한 모델을 얻음 → 낮은 분산(변동)
  • 12차는 매번 작은 오차 → 바이어스(편향)이 작음. 하지만 크게 다른 모델을 얻음 → 높은 분산(변동)
  • 일반적으로 용량이 작은 모델은 바이어스(편향)이 크고 분산(변동)이 작음
  • 복잡한 모델은 바이어스(편향)이 작고 분산(변동)이 큼
  • 바이어스와 분산은 상충trade-off 관계

바이어스와 분산의 관계

  • 용량 증가 → 바이어스 감소, 분산 증가 경향
  • 일반화 오차 성능 (=바이어스 + 분산)은 U형의 곡선을 가짐.

기계학습의 목표

  • 일반화 오차를 만드는 요인은 바이오스와 분산
  • 과소적합은 바이오스, 과잉적합은 분산 때문에 생긴다고 할 수 있음
  • 낮은 바이어스과 낮은 분산을 가진 예측 모델을 만드는 것이 목표
  • 하지만 모델의 바이어스와 분산은 상충 관계
  • 따라서 바이어스를 최소로 유지하며 분산도 최대로 낮추는 전략 필요
  • 요즘은 크게 용량을 잡아놓고 용량을 깎는 방법으로 오차를 줄임.

  • 현재 기계학습 문제들은 일반적으로 모델이 고차원임. 신경망이 거의 주된 모델이기 때문에 과잉적합 문제가 대부분 발생함.

참고

반응형