이론공부/데이터분석

과적합(Overfitting 방지 기법)

Zziii 2025. 1. 4. 01:50
728x90
반응형

1. 과적합(Overfitting)이란?

  • 정의:
    • 모델이 훈련 데이터에 너무 잘 맞게 학습하여, 새로운 데이터(검증 데이터 또는 테스트 데이터)에 대해 일반화 성능이 떨어지는 현상
  • 원인:
    1. 모델의 복잡도 과다:
      • 모델이 너무 많은 파라미터 또는 복잡한 구조(예: 깊은 신경망, 높은 차원의 트리)를 가짐
    2. 데이터 부족:
      • 훈련 데이터의 양이 충분하지 않아 모델이 데이터의 노이즈까지 학습
    3. 불균형 데이터:
      • 특정 클래스나 특성이 과도하게 편향된 데이터를 학습
    4. 학습 시간 초과:
      • 모델이 너무 오랫동안 학습하여 훈련 데이터에 과도하게 최적화

2. 과적합 방지 기법

(1) L1 규제 (Lasso Regularization)

  • 개념:
    • 모델의 복잡성을 줄이기 위해, 가중치(Weight)의 절대값의 합에 페널티를 부과.
    • 손실 함수에 L1 규제항 추가
  • 특징:
    • 가 충분히 작아지면 특정 변수의 가중치가 0이 되어 변수 선택 효과를 가짐
    • 모델의 단순화로 해석 가능성을 높임
  • 적용 사례:
    • 고차원 데이터(변수가 많을 때)에서 중요하지 않은 변수 제거


(2) L2 규제 (Ridge Regularization)

  • 개념:
    • 모델의 복잡성을 줄이기 위해, 가중치(Weight)의 제곱합에 페널티를 부과
    • 손실 함수에 L2 규제항 추가
  • 특징:
    • 가 0에 가까워지도록 만들지만, 완전히 0으로는 만들지 않음
    • 모든 변수를 유지하면서 과적합을 방지
  • 적용 사례:
    • 다중공선성 문제 해결(변수 간 상관관계가 높을 때)
    • 예: 선형 회귀, 로지스틱 회귀에서 안정된 예측
    •  


(3) Early Stopping

  • 개념:
    • 학습 중, 검증 데이터의 성능이 더 이상 개선되지 않을 때 학습을 중단
    • 과적합이 시작되기 전에 학습을 멈춤으로써 일반화 성능 유지
  • 작동 방식:
    1. 훈련 데이터와 검증 데이터로 분리
    2. 매 Epoch마다 검증 데이터에서 성능 평가(예: val_loss)
    3. 성능 개선이 멈추거나 악화되면 학습 중단
    4. 최적 성능을 나타냈던 시점의 가중치로 복원

(4) Dropout (신경망)

  • 개념:
    • 학습 중 랜덤하게 뉴런(노드)을 비활성화하여 특정 뉴런에 과도하게 의존하지 않도록 함
    • 학습 단계:
      • 각 학습 반복에서 임의의 뉴런을 비활성화(값을 0으로 설정)
    • 예측 단계:
      • 모든 뉴런 활성화, Dropout 해제.
728x90
반응형

'이론공부 > 데이터분석' 카테고리의 다른 글

[텍스트분석] 토픽 모델링  (1) 2025.01.03
[텍스트 분석] TF-IDF  (0) 2025.01.02
CRISP-DM  (0) 2025.01.02
연관 분석(Association Analysis) (1)  (0) 2024.11.07
[웹로그 분석] 인덱스 페이지, 랜딩페이지  (0) 2024.02.26
let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });