cross validation이란?

k-fold validation이라고도 한다.

 

보통 모형의 성능을 높이기 위해서 주어진 전체 data를 train data + validation data와 test data로 나눈다.

 

train data는 학습을 위해 사용되는 부분이고

 

validation data는 학습한 모형의 성능을 평가하면서 hyperparameter를 튜닝하기 위해 사용한다.

 

test data는 오직 최종 모형의 성능을 평가하기 위해서만 사용한다.

 

그런데 이들을 어떻게 나눠야 할까?

 

그림1. k-fold cross validation을 하는 방법

 

train data를 k개의 fold로 나누고 그 중 k-1개를 train, 나머지 1개를 validation data라 하고 학습을 진행한다.

 

1-1) k-1개를 선택하는 모든 경우에 대해 반복하여 진행하고 그들의 적절한 평균으로 최종 모형 선택

----------------------------------------------------------------------------------------------------------------------------------

1-2) 혹은 '그들의 적절한 평균으로 최종 모형 선택'한 모형의 hyperparameter를 최종 hyperparameter로 정하고

 

다시 validation을 합친 모든 train set에 대해 학습을 진행한 뒤에 나머지 test data로 모형을 평가한다

 

--------------------------------------------------------------------------------------------------------------------------------

 

test data는 학습 진행과정에서 절대 사용되어서는 안된다.

 

그래서 train의 일부인 validation data를 만들어 중간 평가를 하는 것.

TAGS.

Comments