Overfit이란
- ML에서 모델이 주어진 훈련데이터에 너무 과하게 적응(adapt) 하여
- Training dataset에서는 매우 좋은 성능을 보이지만,
- Unseen data (= validation/test set)에서는 성능이 급격히 떨어지는 현상 을 의미함.
Model이 Training dataset에 지나치게 맞추어져서 generalization performance가 떨어지는 경우임.
Bias–Variance 관점
Overfit의 경우,
- Training dataset에서는 performance measure가 매우 좋기 때문에 bias가 매우 낮고,
- 대신 variance가 매우 커지는 특징을 보임.
즉,
- bias 낮음 = training 성능은 좋다
- variance 높음 = 데이터 샘플이 조금만 바뀌어도 예측 결과가 크게 요동(불안정)
training dataset의 노이즈와 우연한 패턴까지 학습했기 때문에 발생.
2025.10.30 - [Programming/ML] - Bias-Variance Tradeoff
Bias-Variance Tradeoff
Supervised Learning의 궁극적인 목표학습에 사용된 데이터 뿐만 아니라,한 번도 보지 못한 새로운 데이터에 대해서도 정확한 예측을 수행하는 능력, 즉일반화 성능(generalization performance)을 높이는 것
dsaint31.tistory.com
언제 발생하는가
Overfitting은 다음과 같은 조건에서 주로 발생함:
- 데이터의 특징(feature) 수에 비해 training sample 수가 너무 적은 경우
- 모델의 가설공간이 지나치게 크거나 복잡한 경우 (training dataset에 대해)
- parameters 개수가 과도하게 많음
- 지나치게 복잡한 모델 (capacitance가 높은 모델)을 사용한 경우
- Regularization이 너무 약하거나 없을 때
- weights의 DoF(Degree of Freedom, 자유도)가 지나치게 커짐
- 데이터에 노이즈가 많고, 모델이 이를 그대로 학습한 경우
Overfitting vs. Underfitting
다음 그림은 단순한 패턴을 가진 데이터에 대해 매우 복잡한 모델(고차 다항식/과도한 capacity)을 사용하여
training set에 완벽히 맞추려다 over-fitting이 발생한 예를 나타냄.

2023.09.21 - [Programming/ML] - [ML] Underfit
[ML] Underfit
Underfit이란ML 모델이 주어진 훈련데이터를 제대로 학습하지 못하여 Training dataset에서도 나쁜 performance를 보이는 경우를 가르킴. Underfit의 경우 훈련데이터에서도 performance measure의 결과가 매우
dsaint31.tistory.com
해결방안
Overfitting을 해결하기 위한 방법은 간단히 말하면 다음과 같음.
- 모델의 복잡도를 감소시킴(=가설공간 축소).
- parameters의 갯수 감소
- ANN의 경우, depth/width 줄이기
- 모델 capacity를 데이터 양에 적절한 수준으로 감소시킴.
- Regularization을 강화.
- L2/L1 penalty 증가
- Dropout, BatchNorm 사용
- weight decay 적용
- Training data의 양을 늘리기. **
- 실제 데이터 확보
- 또는 Data augmentation 수행
- Feature selection/feature extraction을 통해 noise feature 제거
- PCA 등으로 차원 축소
- domain-specific feature engineering
- Early stopping 적용
- validation loss가 증가하기 시작하면 학습 중단
주요사항.
Underfit과 달리 Overfit은 데이터 양 증가 만으로도 해결 가능 하며,
Regularization과 모델 단순화를 통해 쉽게 제어할 수 있음.
Deep Learning 의 경우, 모델이 매우 복잡하기 때문에 대부분이 over-fitting을 해결하는 과정을 거침.
2024.10.27 - [Programming/ML] - [ML] Regularization
[ML] Regularization
Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대
dsaint31.tistory.com
'Programming > ML' 카테고리의 다른 글
| ULMFit : Transfer Learning for NLP (0) | 2026.01.16 |
|---|---|
| Lasso Regression (0) | 2025.11.08 |
| Ridge Regression (1) | 2025.11.06 |
| Subgradient 와 Gradient Descent (0) | 2025.11.02 |
| Bias-Variance Tradeoff (0) | 2025.10.30 |