교차 검증 (Cross Validation)

I. 인공지능 모델 평가 기법, 교차 검증 (Cross Validation)

모델의 일반화 오차에 대해 신뢰한 추정치를 구하기 위해 훈련/검증 데이터 기반 검증 기법
 

II. 교차 검증 기법, 홀드 아웃 및 k-fold 교차 검증

가. 홀드 아웃 교차 검증 기법


– 가용 데이터를 Train Set과 Test Set으로 랜덤 나눔
– 일반적으로 2/3 Train Set, 1/3 Test Set 지정
 
– 적합한 학습 알고리즘 및 Hyperparameter 모델 선택

– 모델 사용하여 Test Set의 Class Label 예측
– 일반화 성능 추정 위해 예측-결과 Label 비교

– 모든 Data Set은 최종 모델에 학습 수행
– Data Set 제공 시 모델 한계까지 일반화 성능 향상

나. k-fold 교차 검증 기법

① 전체 Dataset으로 Train/Test Set으로 제공
② Train Dataset k개 지정, 균등 랜덤화 k개 Fold로 나눔
(k – 1)개의 Fold는 Test용, 나머지 1개 Validation용 지정
③ 튜닝하려는 Hyperparameters 지정
④ 정해진 Hyperparameters 대해 검증범위, 실험세트 준비
⑤ Train Dataset 그룹이 서로 다른 Validatation Fold 지정
– (k – 1)개 Train Fold 학습
– 나머지 1개 Validation Fold 성능 측정
⑥ ⑤에서 얻은 k개 결과의 평균을 Hyperparameter로 지정
⑦ 마지막으로 ⑥에서 얻은 Hyperparameter 적용하여 Test Data에 대해 모델을 1회 평가

Hyperparameter: 기계학습 모델 설계 위해 필요한 파라미터

 

III. 교차 검층의 3가지 기법 설명

가. LOOCV (Leave One Out Cross Validation)

그래프수행 방법
① 임의 Data(X, Y) 선택
② 선택 Data외 Train Set구성
③ Train Set 학습 → 모델 생성
④ Test Set으로 오류 정도 측정
⑤ 모든 Data ① ~ ④ 수행
   평균 오류 측정

나. k-fold Cross Validation

그래프수행 방법
① Data Set 분리 k 개 선택
② k-1개 Train Set, 1개 Test Set
③ Train Set 학습 → 모델 생성
④ Test Set으로 오류 정도 측정
⑤ 모든 Data ① ~ ④ 수행
   평균 오류 측정

다. Repeated Random Sub Sampling Validation

그래프수행 방법
① Data Set 임의 30% 선택
② 30% Test Set, 70% Train Set
③ Train Set 학습 → 모델 생성
④ Test Set으로 오류 정도 측정
⑤ 모든 Data ① ~ ④ 수행
   평균 오류 측정

 

IV. 교차 검증 기법 간 장단점 비교

항목LOOCVk-foldRandom Sampling
장점Data Set에서
낭비 Data 없음
측정 및 평가
저비용 소요
측정 및 평가
저비용 소요
단점측정 및 평가
고비용 소요
10-fold 사용 시
10% Data 낭비
미래 예측 시
신뢰성 예측불가
  • 각 교차 검증 기법 장단점에 따라 적정한 비용 및 단점을 보유한 k-fold 교차 검증 기법 다수 사용
4 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^