과대적합(overfitting) vs 과소적합(underfitting):모델이 너무 똑똑하거나, 너무 멍청하다면?

알고리즘을 학습하다 보면 자주 과소적합과 과대적합이 발생하게 됩니다. 왜 이런 경우가 생기는 이유와 어떻게 하면 Overfitting, Underfitting을 찾아서 조치할 수 있는지에 대해 이야기 해 보겠습니다. 

 

Underfitting(과소적합)이란

Underfitting이 발생하는 이유 뭘까요?

모델이 충분히 학습되지 않았거나 데이터가 부족할 때 발생합니다. 모델이 데이터의 복잡한 패턴을 충분히 학습하지 못했기 때문이죠. 이는 단순한 선형 관계만 학습하는 현상입니다. 

모델이 데이터를 설명하기에 충분한 유연성을 갖추지 못한 상태이기 때문에 모델의 편향이 높은데요. 모델이 특정 가정이나 제약에 의해 너무 단순화되어 실제 데이터를 정확하게 반영하지 못하는 상태라고 할 수 있습니다. 

 

그런데 Underfitting을 어떻게 확인하냐구요?

모델의 성능 측정을 하면 알 수 있습니다. 학습 데이터와 테스트 데이터에서 모두 낮은 정확도를 보이는 경우는 의심해 봐야 합니다. 

또 학습 곡선이 조기에 수렴하여 더 이상 성능이 향상되지 않는 경우도 과소적합에 해당합니다. 그리고 예측값과 실제값 사이의 차이가 크고, 규칙성이 없는 경우입니다. 

 

Overfitting(과대적합)이란

과대적합이 발생하는 이유는?

모델이 특정 데이터에만 과도하게 적합하게 되면, 새로운 데이터에 대한 예측 성능이 떨어지는 현상이 발생합니다. 

데이터의 본질적인 특징을 제대로 파악하지 못하고, 학습 데이터에만 지나치게 맞춰져 새로운 데이터에는 잘 적용되지 않는 현상입니다.

모델이 마치 시험 문제를 외워서 암기한 학생처럼 데이터의 노이즈까지 학습하여 실제 문제 해결 능력이 떨어지는 경우입니다. 

모델이 너무 복잡하여 데이터의 미세한 변화까지 모두 학습하려고 하다 보니, 실제 환경에서 일반적인 패턴을 놓치는 경우입니다.

 

그런데 과대적합을 어떻게 확인하냐구요?

학습 데이터에서는 매우 높은 정확도를 보이지만, 테스트 데이터에서는 정확도가 현저히 낮아지는 경우입니다. 

학습 곡선이 학습 데이터에서는 계속해서 감소하지만, 테스트 데이터에서는 특정 시점부터 오히려 증가하는 현상이죠. 

실제 값과 예측 값 사이의 차이가 학습 데이터에서는 매우 작지만, 테스트 데이터에서는 크고 불규칙적인 패턴을 보이는 경우입니다. 

과대적합을 해소하는 방법은?

구분 일반화 기법 설명
모델의 복잡도 감소 모델의 파라미터 수 감소 모델을 단순화하여 불필요한 학습을 방지
정규화(Regularization) L1, L2 정규화 등을 사용하여 모델의 복잡도를 제한
Early Stopping 학습을 조기에 중단하여 과도한 학습을 방지
데이터의 질 향상 데이터 증강 기존 데이터를 변형하여 더 많은 학습 데이터를 확보
feature selection(특성 선택) 중요한 특징만을 선별하여 모델의 복잡도를 줄임
앙상블 기업 여러 개의 모델을 결합하여 모델의 일반화 성능을 향상

 

과대적합과 과소적합의 균형을 위한 심층 분석

1. 과대적합과 과소적합의 상호작용

모델이 너무 단순하면 과소적합, 너무 복잡하면 과대적합이 발생합니다. 최적의 모델은 데이터의 복잡성을 충분히 반영하면서도 불필요한 노이즈는 학습하지 않는 적절한 복잡도를 가져야 합니다.

데이터가 부족하면 모델은 일반화하기 어려워 과대적합될 가능성이 높아집니다. 충분한 데이터를 확보하여 모델이 다양한 패턴을 학습할 수 있도록 해야 합니다. L1, L2 정규화와 같은 기법을 활용하여 모델의 복잡도를 제한하고 과대적합을 방지할 수 있습니다.

 

2. 탐색적 데이터 분석(EDA)의 중요성

EDA(탐색적 분석)를 통해 데이터의 분포, 상관관계, 이상치 등을 파악하여 모델링에 필요한 정보를 얻을 수 있습니다.

불필요한 특징을 제거하고 중요한 Feature만을 선택하게 되면, 모델의 성능을 향상시킬 수 있습니다. 결측치 처리, 이상치 제거, 스케일링 등을 통해 데이터의 질을 높이고 모델 학습 효과를 높일 수 있습니다.

 

3. 모델 평가 지표

RMSE, MAE, 분류 문제의 경우 정확도, 정밀도, 재현율 등 다양한 지표를 활용하여 모델 성능을 평가해야 합니다. 

데이터를 여러 부분으로 나누어 학습과 평가를 반복하여 모델의 일반화 성능을 측정하여 Overfitting이나 Underfitting이 발생하지 않았는지 검토합니다. 

학습 데이터와 검증 데이터에 대한 오차를 그래프로 나타내어 과대적합 또는 과소적합 여부를 판단할 수 있습니다.

 

마치며

과대적합과 과소적합은 모델 성능을 저하시키는 주요 원인입니다. 이를 해결하기 위해서는 데이터 품질 향상, 모델 복잡도 조절, 적절한 평가 지표 선택 등 다양한 노력이 필요합니다.

 

Leave a Comment