과적합과 과소적합
모델이 학습 데이터에서는 뛰어나지만 새로운 데이터에서 성능이 떨어지면 과적합(Overfitting), 학습 데이터에서도 성능이 낮으면 과소적합(Underfitting)입니다.학습 목표
- 과적합과 과소적합의 원인과 증상을 식별할 수 있습니다.
- 편향-분산 트레이드오프(Bias-Variance Tradeoff)를 이해합니다.
- L1/L2 정규화(Regularization)를 적용할 수 있습니다.
- 과적합을 방지하는 다양한 전략을 사용할 수 있습니다.
왜 중요한가
과적합은 ML에서 가장 흔한 실패 원인입니다. 학습 데이터에서 99%의 정확도를 달성해도, 실제 서비스에서 70%의 성능을 보인다면 실용 가치가 없습니다.핵심 개념
과적합 vs 과소적합 진단
| 상태 | 학습 성능 | 테스트 성능 | 원인 | 해결 |
|---|---|---|---|---|
| 과소적합 | 낮음 | 낮음 | 모델이 너무 단순 | 복잡도 증가, 특성 추가 |
| 적정 | 높음 | 높음 | 적절한 균형 | 유지 |
| 과적합 | 매우 높음 | 낮음 | 모델이 너무 복잡 | 정규화, 데이터 추가 |
편향-분산 트레이드오프
- 편향(Bias): 모델이 학습 데이터의 패턴을 포착하지 못하는 정도 (과소적합과 관련)
- 분산(Variance): 모델이 학습 데이터의 변화에 민감한 정도 (과적합과 관련)
정규화 (Regularization)
과적합 방지 전략
| 전략 | 방법 | 관련 레퍼런스 |
|---|---|---|
| 데이터 추가 | 더 많은 학습 데이터 수집 | - |
| 정규화 | L1/L2 페널티 적용 | Ridge/Lasso |
| 교차검증 | K-Fold로 일반화 성능 추정 | 교차검증 |
| 조기 종료 | 검증 성능이 악화되면 학습 중단 | XGBoost early_stopping_rounds |
| 드롭아웃 | 신경망 노드 랜덤 비활성화 | DL 탭 참고 |
| 앙상블 | 여러 모델 결합으로 분산 감소 | 앙상블 |
| 특성 선택 | 불필요한 특성 제거 | 특성 선택 |
Q: 과적합인지 과소적합인지 어떻게 구분하나요?
Q: 과적합인지 과소적합인지 어떻게 구분하나요?
학습 성능과 검증 성능의 차이를 확인합니다. 두 성능이 모두 낮으면 과소적합, 학습 성능은 높고 검증 성능이 낮으면 과적합입니다. 학습 곡선을 그리면 시각적으로 진단할 수 있습니다.
Q: 정규화 강도(alpha)는 어떻게 설정하나요?
Q: 정규화 강도(alpha)는 어떻게 설정하나요?
교차검증을 통해 최적의 alpha를 탐색합니다. scikit-learn의
RidgeCV, LassoCV는 자동으로 최적 alpha를 찾아줍니다. 하이퍼파라미터 튜닝을 참고하세요.체크리스트
- 과적합과 과소적합의 증상을 구분할 수 있다
- 편향-분산 트레이드오프를 설명할 수 있다
- L1과 L2 정규화의 차이를 설명할 수 있다
- 과적합 방지 전략을 2가지 이상 적용할 수 있다

