크로스 밸리데이션(Cross-validation)

크로스 밸리데이션에 대하여.

Posted by cyc1am3n on November 09, 2017

머신러닝 모델의 타당성을 검증하는 방법 중의 하나로 "크로스 밸리데이션(Cross-validation)"이란게 있습니다. 한국어로는 “교차 검증”이라고 부릅니다.

크로스 밸리데이션이란 특정 데이터를 훈련 전용 데터와 테스트 전용 데이터로 분할한 뒤 훈련 데이터를 활용해 학습하고, 테스트 데이터로 테스트해서 학습의 타당성을 검증하는 방법입니다.

크로스 밸리데이션에는 여러 가지 방법이 있는데, K 분할 교차 검증은 다음과 같이 합니다.

예로 집합 X를 3개로 분할해 A/B/C로 만드는 경우를 생각해봅시다.

[1] 집합 X A, B, C 분할합니다.  
[2] A 테스트 전용 데이터, 나머지 B/C 훈련 전용 데이터로 사용해 분류 정밀도 s1 구합니다.  
[3] B 테스트 전용 데이터, 나머지 A/C 훈련 전용 데이터로 사용해 분류 정밀도 s2 구합니다.  
[4] C 테스트 전용 데이터, 나머지 A/B 훈련 전용 데이터로 사용해 분류 정밀도 s3 구합니다.  
[5] 분류 정밀도 s1, s2, s3 평균을 구해 최종적인 분류 정밀도를 구합니다. 

위의 예처럼 3개로 분할하는 방법을 3-fold cross validation이라고 부릅니다.