s5unnyjjj's LOG
ML - Theory #9 : Cross-validation (CV), Validation approach, LOOCV, K-fold cross validation 본문
ML - Theory #9 : Cross-validation (CV), Validation approach, LOOCV, K-fold cross validation
s5unnyjjj 2021. 4. 21. 22:44Cross-validation
test dataset에 과적합되어 다른 실제 데이터에서 수행 시, 엉망이 되는 것을 방지한다. Cross Validation (CV)의 목표는 주어진 데이터에서 훈련된 모델의 test error를 측정하는 것이다. 예시로는 Validation approach, Leave-one-out cross validation (LOOCV), K-Fold cross validation이 있다.
Validation approach
방법은 다음과 같다.
- data를 두 파트로 나눈다 : training set, validation set
- training set에 모델을 맞추고 validation set에 테스트 한다.
하지만 학습 시 사용되는 데이터 수가 줄어들고, 매번 다른 random set을 추출할 때 마다 결과가 달라진다는 단점이 있다.
Leave-one-out cross validation (LOOCV)
방법은 다음과 같다.
- n개의 data 중, (n-1)개의 training set과 1개의 test set으로 구성한다.
모든 샘플에 대해서 한 번씩 test하기 때문에 randomness가 존재하지 않으며, validation approach보다 안정적이라는 장점을 갖고 있다. 하지만 그만큼 computing time이 증가하고, K-fold cv에 비해 모델의 다양성을 포함하기 어렵다.
K-fold cross validation
방법은 다음과 같다.
- 데이터를 k개의 서로 겹치지 않는 부분집합으로 분할한다.
- 이 중, (k-1)개의 부분집합을 training, 나머지 1개의 부분집합을 test set으로 이용하여 오차를 추정한다.
- 이를 서로 다른 조합에 대하여 k번 반복하여 평균 오차를 확인한다.
∵ Cross-validatoin의 목표는 주어진 데이터 상에서 훈련된 모델의 test error를 측정하는 것이다. LOOCV는 low bias를 갖지만, high variance를 갖는다. 반면, K-fold CV는 LOOCV보다 higher bias를 갖지만 lower variance를 갖는다. 또한 K-fold CV에서는 전형적으로 5에서 10사이의 k값을 사용한다.
>> 위 내용은 필자가 공부하여 직접 정리한 내용이다.
>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.
>> 긴 글 읽어주셔서 감사합니다.