AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

빅데이터분석기사 필기/3과목 : 빅데이터 모델링

3.5 과적합 방지

qordnswnd123 2025. 7. 8. 11:19

✅ 3.5 과적합 방지 기법

 

🔍 1. 과적합(Overfitting)이란?

모델이 훈련 데이터에 너무 과하게 맞춰져서,
새로운 데이터(테스트셋)에는 성능이 떨어지는 현상

  • 훈련셋의 **노이즈(에러, 이상값)**까지 모델이 학습해버림
  • 테스트 성능 저하 → 일반화 실패
  • 주로 데이터 부족, 모델 복잡도 과도, 불균형 데이터 등에서 발생

✅ 예시

  • 훈련 정확도 95%, 테스트 정확도 70% → 과적합 의심

 

🎯 2. 과적합 원인 요약

 

🛡️ 3. 과적합 방지 기법 (스크립트 기반 정리)

📌 (1) 정규화 (Regularization)

  • 손실 함수에 규제항 추가 → 복잡한 모델에 패널티 부여

✅ 종류

 

📌 (2) 드롭아웃 (Dropout)

  • 학습 시 은닉층 뉴런 일부를 무작위로 꺼버림
  • 각 에폭마다 다른 구조의 모델이 학습됨 → 과적합 방지

✅ 특징:

  • 테스트 시에는 모든 뉴런 사용 (드롭 비율 곱해서 스케일 조정)
  • DNN에서 자주 사용되는 기법

 

📌 (3) 배치 정규화 (Batch Normalization)

  • 각 층의 입력값 분포(평균, 분산)를 정규화
  • 초기 가중치 의존성 ↓, 학습 안정화, 속도 ↑

✅ 특징:

  • 과적합을 직접 막는 건 아니지만 학습 안정성 향상
  • 다른 기법들과 조합 시 매우 효과적

 

📌 (4) 조기 종료 (Early Stopping)

  • 검증 데이터 성능이 더 이상 좋아지지 않으면 학습 중단
  • 오버피팅되기 전에 적절한 시점에서 학습 종료

✅ 필요 조건:

  • 훈련셋 + 검증셋 구분 필요
  • 매 에폭마다 평가 필요

 

📌 (5) 데이터 증강 (Data Augmentation)

  • 데이터 부족 문제 해결 → 과적합 방지
  • 기존 데이터를 회전, 뒤집기, 잡음 추가, 삭제 등으로 늘림

✅ 적용 대상:

  • 이미지 → 회전, 반전, 노이즈 추가
  • 텍스트 → 단어 추가/삭제/교체
  • 신호/음성 → 주파수 왜곡, 잡음 추가

 

📌 (6) 단순한 모델 사용

  • 불필요하게 복잡한 구조보다 단순한 모델이 일반화 성능에 유리

✅ 예:

  • 은닉층, 노드 수 줄이기
  • 파라미터 수 제한

 

📌 (7) 교차 검증 (Cross Validation)

  • 데이터를 K개 폴드로 나누고, K번 학습+검증 반복
  • 일반화된 성능 평가 가능

✅ 종류:

 

📌 (8) 앙상블 기법 (Ensemble)

복수 모델을 조합해 예측 → 편향과 분산 동시에 낮춤
✅ 대표적으로 배깅이 과적합 방지에 효과적

✔️ 배깅 (Bagging)

  • Bootstrap 샘플로 여러 모델 훈련 → 평균 or 다수결
  • 분산 줄이고 안정성 ↑
    → 대표 모델: 랜덤 포레스트

✔️ 부스팅 (Boosting)

  • 약한 모델들을 순차적으로 학습시켜 성능 강화
    편향 감소에 효과, 하지만 과적합 위험 존재

✔️ 스태킹 (Stacking)

  • 여러 모델 예측 결과 → 또 다른 모델로 학습
    → 복잡하지만 정확도 높음

 

📌 (9) 하이퍼파라미터 튜닝

  • 학습률, 드롭아웃 비율, 정규화 계수 등 튜닝하여 과적합 억제

 

📊 4. 과적합 vs 과소적합 비교표

 

 

 

🧠 5. 기출 대비 핵심 키워드

'빅데이터분석기사 필기 > 3과목 : 빅데이터 모델링' 카테고리의 다른 글

3.4 교차 검증  (0) 2025.07.08
3.3 시계열 데이터 분석  (1) 2025.07.08
3.2 로지스틱 회귀 분석  (0) 2025.07.08
3.1 연관 규칙  (3) 2025.07.08