잡학사전/머신러닝

[머신러닝] 오버피팅과 언더피팅

슬기나무 2022. 4. 4. 20:38
반응형

이번 포스팅에서는 오버피팅(Overfitting)과 언더피팅(underfitting)에 대해 알아보겠습니다.

(출처: 선형대수와 통계학으로 배우는 머신러닝 with 파이썬, 장철원 지음)

 

 오버피팅(Overfitting)과 언더피팅(underfitting)

머신러닝 모형이 실제 모형에 얼마나 가깝게 모델링되었는지와 관계된 용어인

 

오버피팅과 언더피팅은 각각 특정 data set에 과도하게/과소하게 적합된 것을 말합니다.

 

실제 데이터 모형이 $n$ 차원식이라고 했을 때 수식으로 나타내면 아래와 같습니다.

 

$$ y_i = w_nx^n+w_{n-1}x^{n-1}+...+w_1x+w_0$$

 

오버피팅은 특정 데이터셋에 과도하게 적합된 것을 말하며, 식으로 나타내면 아래와 같습니다.

 

$$y_i = w_{n+m}x^{n+m}+...+w_1x+w_0$$

 

이 때, $m>0$ 입니다.

 

이 경우 정확도가 매우 높아보일 수 있으나 알려지지 않은 데이터에 대한 예측력은 낮습니다.

 

데이터 오버피팅 예시

 

언더피팅은 특정 데이터셋에 과소하게 적합된 것을 말하며, 수식으로 나타내면 아래와 같습니다.

 

$$ y_i = w_{n-m}x^{n-m}+...+w_1x+w_0$$

 

이 경우 역시 데이터에 대한 예측력은 낮아지게 됩니다.

 

데이터 언더피팅 예시

 

따라서 우리는 주어진 데이터의 종류와 상관없이 일반화할 수 있는 모형을 생성하기 위해

 

적절하게 적합된 모형을 모델링하여야 합니다.

 

적절한 모형 예시

 

반응형