📖

과적합란 무엇인가요?

과적합은 머신러닝 모델이 일반화 가능한 패턴을 학습하는 대신 학습 데이터를 암기할 때 발생하며, 새로운 데이터에 대한 성능을 저하시킵니다.

과적합은 모델이 실제 근본 관계가 아니라 학습 데이터의 무작위 노이즈와 고유한 세부 사항을 포착할 때 발생하는 머신러닝의 흔한 문제입니다. 결과적으로 모델은 학습된 데이터에서는 매우 뛰어난 성능을 보이는 것처럼 보이지만, 새로운 예제에 적용하면 정확하지 않은 예측을 합니다. 이것은 암기와 진정한 학습 사이의 고전적인 trade-off입니다.

과적합의 작동 원리

학습 과정에서 모델은 일련의 예제에 대한 오차를 최소화하기 위해 내부 파라미터를 조정합니다. 학습 데이터의 크기나 다양성에 비해 모델의 파라미터가 너무 많거나 너무 오래 학습되면, 데이터의 무작위 변동을 의미 있는 신호인 것처럼 취급하기 시작합니다. 산점도에 매끄러운 곡선을 피팅한다고 상상해 보세요. 저차 다항식은 일반적인 추세를 포착하는 반면, 고차 다항식은 이상치를 포함한 모든 단일 점을 지나도록 휘어질 수 있습니다. 그 휘어진 곡선이 과적합된 것입니다. 이는 추세를 학습하는 대신 본질적으로 데이터를 암기한 것이므로, 그 휘어진 모양에서 벗어나는 새로운 점은 잘못 예측됩니다.

정보 이론적 관점에서 보면, 모델은 데이터가 정당화할 수 있는 것보다 더 많은 "용량"을 사용하여 신호만이 아닌 신호와 노이즈를 모두 피팅합니다. 학습 오차와 검증 오차 사이의 격차가 가장 명확한 증상입니다. 학습 오차는 계속 떨어지는 반면 검증 오차는 정체되거나 상승합니다.

중요성

과적합은 머신러닝 프로젝트가 프로덕션에서 가치를 제공하는 데 실패하는 가장 흔한 이유 중 하나입니다. 벤치마크에서 99%의 정확도를 보이는 모델도 벤치마크에 과적합되었다면 실제 데이터에서는 쓸모가 없을 수 있습니다. 따라서 과적합을 탐지하고 제어하는 것은 데이터 수집부터 배포까지 모든 단계에 영향을 미치는 모델 개발의 핵심 관심사입니다.

이는 일반화가 중요한 도메인, 즉 의료 진단, 사기 탐지, 자율 주행 및 아직 보지 못한 입력을 처리해야 하는 모든 시스템에서 가장 중요합니다. 과적합을 이해하면 더 많은 데이터, 더 간단한 모델, 또는更强的 정규화가 문제에 더 큰 신경망을 던지는 것보다 종종 더 나은 이유를 설명할 수도 있습니다.

주요 징후와 일반적인 해결책

  • 학습-검증 격차: 학습 데이터에서는 정확도가 높지만 보류된 검증 세트에서는 눈에 띄게 낮습니다.
  • 교차 검증: k-겹 교차 검증을 사용하여 모델이 다양한 데이터 슬라이스에 걸쳐 일반화되는지 확인합니다.
  • 정규화: L1, L2(가중치 감쇠) 또는 드롭아웃과 같은 기법은 모델 복잡성에 불이익을 주어 암기를 방지합니다.
  • 더 많은 데이터: 학습 세트를 확장하면 모델에 더 많은 신호가 제공되어 암기할 유인이 줄어듭니다.
  • 데이터 증강: 현실적인 변형(회전, 의역, 노이즈)을 통해 학습 데이터를 인위적으로 확장하면 견고성이 향상됩니다.
  • 조기 종료: 검증 오차가 상승하기 시작하면 학습을 중단하여 모델이 노이즈를 피팅하는 것을 방지합니다.
  • 더 간단한 모델: 데이터에 비해 파라미터가 적은 모델을 선택하면 과적합할 용량이 줄어듭니다.

과적합은 한 번 패치하면 끝나는 버그가 아니라 모든 실무자가 관리해야 하는 지속적인 긴장 관계입니다. 목표는 학습 데이터에서 완벽한 모델이 아니라 아직 만나지 않은 데이터에 대해 안정적인 예측을 하는 모델입니다.

자주 묻는 질문

What is the difference between overfitting and underfitting?
Overfitting occurs when a model is too complex and memorizes training data, performing well on it but poorly on new data. Underfitting is the opposite: the model is too simple to capture the underlying pattern, so it performs badly on both training and new data. The goal is a balanced model that generalizes well.
How can you tell if a model is overfitting?
The most reliable sign is a growing gap between training and validation performance. If training error keeps falling while validation error plateaus or rises, the model is likely overfitting. Plotting learning curves for both sets makes this trend easy to spot.
Does more data prevent overfitting?
More high-quality, representative data usually helps reduce overfitting because it gives the model more genuine signal to learn from and less incentive to memorize individual examples. However, simply adding noisy or duplicated data does not help and may even worsen the problem.
Can neural networks overfit even with huge datasets?
Yes. Modern neural networks are large enough to memorize even very big datasets, especially if the labels are noisy or many inputs are near-duplicates. That is why techniques like dropout, weight decay, data augmentation, and early stopping remain standard practice, and why benchmark scores do not always reflect real-world performance.