전산직/컴퓨터일반
머신러닝에서의 Overfitting과 Underfitting
glorypang
2025. 11. 7. 22:13
728x90
반응형
SMALL
개념 요약
| 구분 | 설명 | 특징 | 결과 |
| Underfitting (과소적합) |
모델이 너무 단순해서 데이터의 패턴을 제대로 학습하지 못한 상태 | 학습 데이터와 테스트 데이터 모두 오차 큼 | 모델이 데이터를 충분히 설명 못함 |
| Overfitting (과적합) |
모델이 너무 복잡해서 학습 데이터에 과도하게 맞춘 상태 | 학습 데이터 오차는 작지만, 테스트 데이터 오차는 크다 | 일반화 성능 낮음 |
시각적 이해
(데이터 패턴 예시)
● ● ● ● ● ● ● ●
Underfitting: 직선 — 너무 단순함
Overfitting: 지그재그 — 너무 복잡함
적절한 모델: 완만한 곡선 — 패턴을 잘 포착
- Underfitting: 패턴을 제대로 못 잡음 → “학습이 덜 된 상태”
- Overfitting: 노이즈(우연한 데이터 특성)까지 외워버림 → “학습을 너무 한 상태”
학습 곡선으로 구분하기
| 구분 | Training Error | Validation Error | 특징 |
| Underfitting | 높음 | 높음 | 둘 다 잘 안 맞음 |
| 적절한 학습 | 낮음 | 낮음 | 일반화 잘 됨 |
| Overfitting | 낮음 | 높음 | 훈련만 잘 되고 검증은 망함 |
원인
Underfitting 원인
- 모델이 너무 단순함 (예: 선형모델로 비선형 데이터 학습)
- 학습 시간 부족
- 피처(Feature) 부족
- 정규화(Regularization) 강도가 너무 셈 (ex: λ 너무 큼)
Overfitting 원인
- 모델이 너무 복잡함 (파라미터 과다)
- 데이터가 적음
- 노이즈가 많은 데이터 학습
- 정규화 부족
- 너무 오래 학습 (epoch 과다)
해결 방법
| 구분 | 주요 방법 |
Underfitting 방지 |
더 복잡한 모델 사용 |
| 학습 더 오래 시키기 | |
| 피처 추가 OR 다항식 추가 | |
| 정규화 약화 | |
Overfitting 방지 |
정규화 (L1/L2) 강화 |
| Dropout 사용 (신경망) | |
| Early Stopping (조기 종료) | |
| Cross Validation 사용 | |
| 데이터 증강(Data Augmentation) | |
| 모델 단순화 | |
| 더 많은 데이터 확보 |
실제 예시
| 상황 | 현상 | 유형 |
| 모델이 학습 데이터에선 정확도 99%, 테스트 데이터에선 60% | 데이터 외워버림 | Overfitting |
| 모델이 학습/테스트 둘 다 정확도 60% | 학습이 제대로 안 됨 | Underfitting |
728x90
반응형
LIST