[인공지능] 교차 검증 (Cross Validation)

SeoTae·2024년 3월 24일
0

인공지능

목록 보기
10/18
post-thumbnail

교차 검증(Cross Validation)

  • 데이터를 여러 부분으로 나누고, 각 부분을 훈련과 데스트 용도로 번갈아 사용하여 모델을 평가하는 방법. 모델의 일반화 성능을 더 정확하게 측정할 수 있다.

교차 검증의 필요성

  • 과적합을 피하면서 파라미터를 튜닝하고 일반적인 모델을 만들고 더 신뢰성 있는 모델 평가를 진행하기 위해서이다. 기존에는 데이터를 주로 7:3 비율로 Training set이랑 Test set을 나눴는데, 과적합을 피하기 위해서 Validation set을 추가로 더 나눠주는 것이다. 간단하게 이해하면 Training set은 문제집의 문제 은행이고, Validation set은 문제집에 속한 기출 모의고사(성능 검증/학습에는 활용 x)이고, Test set은 실제 시험이라고 볼 수 있다.

교차 검증의 종류

1. K-Fold Cross Validation

  • 가장 일반적이고 많이 사용됨
  • k개의 다른 데이터 셋을 구성하고 모델을 학습하는 방법
  • 각 데이터를 학습하고 validation으로 평가를 한 다음 k개의 결과에 대해 평균을 내어 최종 성능을 구한다. 이러면 고정된 validation set이 아니기 때문에 조금 더 신뢰서 있는 결과를 얻을 수 있다.

2. Stratified K-Fold Cross Validation

  • 기존 K-Fold CV와 비슷한 방법으로 수행되나 계층을 고려하는 방법
  • 전체 데이터의 클래스 비율을 고려하여 set을 구성

3. Leave One Out Cross Validation(LOOCV)

  • 하나의 데이터만 남기고 나머지 데이터로 학습을 하고 평가하는 방식
  • 데이터가 많을 수록 굉장히 많은 시간이 걸릴 것

4. Repeated Random Sub Sampling Validation

  • 임의로 validation set을 추출하여 평가하고 하이퍼파라미터를 튜닝할 수 있는 방법

5. Nested Cross Validation

  • 기존의 교차 검증을 중첩한 방식

6. TimeSeries Cross Validation

profile
Vamos🔥🔥🔥🔥🔥

0개의 댓글