내일배움 본캠프

[내일배움 본캠프] 과적합이란?

hyeon-ji 2026. 6. 25. 20:40

☆ To Do List ☆

  • AI 진단퀴즈
  • 머신러닝 심화 챕터 1 완강
  • 자소서 작성
  • TIL 작성 및 제출

🤖 에이타니

● F-statistic

F-statistic은 회귀모형 전체가 통계적으로 유의한지를 평가하는 지표이고, 독립변수들이 종속변수를 설명하는 데 의미가 있는지 확인하는 방법이다.

일반적으로 F-statistic이 클수록 모델의 설명력이 높을 가능성이 크며, 함께 제공되는 p-value를 통해 최종적으로 유의성을 판단한다.

 

 p-value

p-value는 귀무가설이 참이라는 가정하에 현재와 같은 결과가 우연히 관측될 확률이다.

일반적으로 p-value < 0.05이면 통계적으로 유의하다고 판단하여 귀무가설을 기각하고, p-value ≥ 0.05이면 귀무가설을 기각하지 않는다.


🖥️ 머신러닝

1. 과적합(Overfitting)이란?

과적합(Overfitting)은 학습 데이터에만 지나치게 맞춰져 새로운 데이터에서는 성능이 떨어지는 현상이다.

머신러닝에서도 특정 데이터만 암기하면 새로운 데이터를 제대로 예측하지 못한다.

 

● 과적합과 과소적합

과소적합(Underfitting) 모델이 너무 단순하여 학습 데이터도 제대로 학습하지 못함
적절한 모델 학습 데이터와 새로운 데이터 모두 좋은 성능
과적합(Overfitting) 학습 데이터는 매우 잘 맞지만 새로운 데이터에서는 성능이 떨어짐

 

2. 과적합이 발생하는 원인

  • 모델이 너무 복잡한 경우
  • 학습 데이터의 양이 부족한 경우
  • 학습을 지나치게 많이 반복한 경우(딥러닝)
  • 데이터 불균형이 심한 경우

● Train/Test 데이터 분리

과적합을 방지하기 위해 데이터를 학습용(train)과 평가용(test)으로 분리해야 한다.

 
  • Train Data : 모델 학습(fit)
  • Test Data : 모델 성능 평가

▶ 함수

 
from sklearn.model_selection import train_test_split

 

 함수 주요 옵션

  • test_size : 테스트 데이터 비율
  • train_size : 학습 데이터 비율
  • shuffle : 데이터 섞기
  • random_state : 동일한 결과를 위한 난수 고정

 

● 교차 검증(Cross Validation)

Train/Test를 한 번만 나누면 우연히 좋은 결과가 나올 수 있다. 이를 보완하기 위해서는 교차 검증(Cross Validation)이 필요하다.

 

데이터를 여러 개(Fold)로 나누고,

학습 → 검증 → 학습 → 검증

 

을 반복하여 평균 성능을 계산하는 방법이다.

 

● K-Fold Cross Validation

가장 많이 사용하는 교차 검증 방법.

 

ex) K = 5라면

1회 : Fold1 검증
2회 : Fold2 검증
3회 : Fold3 검증
4회 : Fold4 검증
5회 : Fold5 검증
 

총 5번 학습하여 평균 성능을 계산한다.

 

○ 장점

  • 데이터가 적을 때 효과적
  • 모델 성능을 더욱 안정적으로 평가 가능

▶ 함수

KFold()
 

 

불균형 데이터에서는

StratifiedKFold()
 

를 사용하는 것이 좋다.

 

● 하이퍼파라미터 튜닝(GridSearchCV)

모델에는 사람이 설정하는 값인 하이퍼파라미터(Hyperparameter)가 존재한다.

 

그 중 GridSearchCV는 여러 하이퍼파라미터 값을 자동으로 적용해 모델을 반복 학습하고 평가한 뒤, 가장 좋은 성능을 보이는 하이퍼파라미터 조합을 찾아주는 기능이다.

 

 GridSearchCV의 장점

  • 최적의 하이퍼파라미터 자동 탐색
  • 교차 검증과 함께 수행 가능
  • 모델 성능 향상