교차 검증(cross validation)은 샘플의 갯수가 적을 때, 하는 알고리즘이다. 샘플이 많은 경우 굳이 교차 검증을 수행할 필요가 없다. 보수적으로 보았을때, 약 2,000개의 샘플 데이터가 있으면, 교차 검증을 할 이유가 없다.
머신러닝에서 매우 많이 사용하는 것임, 이미지 계열의 딥러닝을 갔었을때, 너무나 많은 데이터가 있어, 굳이 할 필요가 없다. 그리고 소량의 이미지를 연산 하였을때, 전이학습을 통해서 학습을 하니, 교차 검증이 필요 없다.
교차 검증(cross validation) |
교차검증의 원리
교차 검증은 훈련 세트를 작은 덩어리로 나누어 다음과 같이 진행 하는데, 이때 훈련 세트를 나눈 작은 덩어리를 '폴드'라고 부른다.
교차검증 |
교차 검증은 전체 데이터 셋트를 8:2로 나눈 다음 8에 해당하는 훈련 세트를 다시 5개의 작은 덩어리로 나눈다. 그런 다음 작은 덩어리를 1번씩 검증에 사용하고 나머지는 훈련에 사용한다.
이때 교차 검증은 훈련 세트를 K 개 폴드로 나누는 특징이 있으므로 k-폴드 교차 검증이라고 부른다. k - 폴드 교차 검증은 모든 훈련 세트가 평가에 1번씩 사용되므로 검증 점수가 안정적이다. 그리고 기존의 훈련 방법보다 더 많은 데이터로 훈련 할 수 있다. 예를 들어 k 가 10이면 10개의 폴드가 생기므로 90% 샘플을 훈련에 사용하게 된다. 기존의 6:2:2로 훈련, 검증, 테스트 세트를 나누는 방법과 비교하면 약 30% 정도 더 많은 데이터로 훈련 할 수 있다.
# 참고서적 : 정직하게 코딩하며 배우는 딥러닝 입문 - 이지즈 퍼블리싱
댓글 없음:
댓글 쓰기