Overfitting
좋은 질문입니다!
모델 학습(Machine Learning Training) 과정에서 자주 듣는 “Overfitting (오버피팅)“에 대해 명확히 설명드릴게요.
🎯 Overfitting(오버핏)이란?
모델이 학습 데이터(training data)에 너무 과하게 맞춰져서, 새로운 데이터(test/unseen data)에는 잘 일반화되지 못하는 현상입니다.
즉,
- 학습 데이터에서는 정확도가 매우 높지만,
- 실제로 새로운 데이터에 적용하면 성능이 급격히 나빠지는 문제입니다.
🚀 쉽게 예를 들면
- 학생이 기출문제만 외워서 시험을 치면 기출에는 만점이지만,
처음 보는 문제는 전혀 못 푸는 것과 비슷합니다.
(공부를 “문제의 패턴”을 이해한 게 아니라 “문제 자체”만 외운 거죠.)
📚 Overfitting 특징
구분 | 내용 |
---|---|
학습 데이터 성능 | 매우 높음 |
검증/테스트 데이터 성능 | 낮음 |
모델 복잡도 | 보통 너무 높음 (불필요하게 복잡한 구조) |
원인 | 너무 많은 파라미터, 너무 오래 학습, 데이터 부족 등 |
📈 Overfitting 그래프 예시
- 학습 데이터 Loss: 계속 감소
- 검증 데이터 Loss: 어느 순간부터 증가
이 때가 오버핏의 시작입니다.
(원하면 이 흐름 그래프도 그려서 보여드릴게요!)
🔥 Overfitting을 방지하는 방법
방법 | 설명 |
---|---|
Regularization (규제) | L1, L2 규제 추가해서 모델 복잡도 줄임 |
Dropout | 학습 중 일부 뉴런 임의로 끄기 |
Early Stopping | 검증 성능이 나빠지기 시작하면 학습 조기 종료 |
데이터 증강(Data Augmentation) | 학습 데이터 양 늘리기 |
더 간단한 모델 사용 | 복잡도를 낮춘 모델 선택 |
Cross Validation | 데이터 셋을 나눠 여러 번 평가 |
✨ 한 줄 요약
Overfitting은 ‘암기’만 한 모델을 의미하며, ‘이해’하는 모델로 만들려면 일반화 능력을 키워야 한다.
📚 추가로 궁금할 수 있는 것
- Overfitting vs Underfitting 차이
- Regularization(규제) 기법 구체적 설명
- Overfitting 체크하는 방법 (Validation Curve, Learning Curve)
필요하면 바로 이어서 설명하거나, 코드 예제(Pytorch/Tensorflow로 overfit된 모델 만드는 간단 예제)도 만들어드릴게요! 🔥
혹시 “Underfitting”도 간단히 이어서 비교 설명해드릴까요? 🚀
(딱 1분이면 됩니다!)
Enjoy Reading This Article?
Here are some more articles you might like to read next: