더북(TheBook)

6.2.2 k-겹 교차 검증

k -겹 교차 검증에서는 중복을 허용하지 않고 훈련 데이터셋을 k개의 폴드(fold)로 랜덤하게 나눕니다. k-1개의 폴드로 모델을 훈련하고 나머지 하나의 폴드로 성능을 평가합니다. 이 과정을 k번 반복하여 k개의 모델과 성능 추정을 얻습니다.

Note ≡ 중복을 허용할 샘플링과 허용하지 않는 샘플링


3장에서 중복을 허용한 샘플링과 허용하지 않는 샘플링의 예를 보았습니다. 3장을 읽지 않았거나 기억을 되살리고 싶다면 3장 ‘랜덤 포레스트로 여러 개의 결정 트리 연결’ 절에 있는 노트를 참고하세요.

그다음 서로 다른 독립적인 폴드에서 얻은 성능 추정을 기반으로 모델의 평균 성능을 계산합니다. 홀드아웃 방법에 비해 훈련 데이터셋의 분할에 덜 민감한 성능 추정을 얻을 수 있습니다. 일반적으로 모델 튜닝에 k-겹 교차 검증을 사용합니다. 즉, 테스트 데이터셋에서 모델의 성능을 평가할 때 만족할 만한 일반화 성능을 내는 최적의 하이퍼파라미터 값을 찾기 위해 사용합니다.

만족스러운 하이퍼파라미터 값을 찾은 후에는 전체 훈련 데이터셋을 사용하여 모델을 다시 훈련합니다. 그다음 독립적인 테스트 데이터셋을 사용하여 최종 성능 추정을 합니다. k-겹 교차 검증 후에 전체 훈련 데이터셋으로 모델을 학습하는 이유는 훈련 샘플이 많을수록 학습 알고리즘이 더 정확하고 안정적인 모델을 만들기 때문입니다.

k-겹 교차 검증이 중복을 허용하지 않는 리샘플링 기법이기 때문에 모든 샘플 포인트가 훈련하는 동안 (테스트 폴드로) 검증에 딱 한 번 사용되는 장점이 있습니다.2 이로 인해 홀드아웃 방법보다 모델 성능의 추정에 분산이 낮습니다. 그림 6-4는 k = 10일 때 k-겹 교차 검증의 개념을 요약한 것입니다. 훈련 데이터는 열 개의 폴드로 나누어지고 열 번의 반복 동안 아홉 개의 폴드는 훈련에, 한 개의 폴드는 모델 평가를 위해 사용됩니다.

 

 


  2 역주 교차 검증 반복에서 테스트에 사용되는 폴드를 종종 검증 폴드라고도 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.