선릉역 1번 출구
5-2 본문
여태까지는 데이터를 train, test로 나누어서 진행을 했다. 하지만 더 정확하게 하기 위해서는 사실 검증 세트라는 한 세트가 더 필요하다.
이유는 간단하다. 우리가 과대/과소 적합을 판단하기 위해서는 테스트 세트를 이용하는데 이 과정을 계속 진행하면 결국 테스트 세트에 잘 맞는 모델이 탄생하는 것이기 때문이다. 그래서 한 세트를 더 만드는 거다.
전체 데이터를 train, test가 아닌 검증 세트를 추가한 3개로 나누었으니 훈련 세트가 줄어들었을 것이다. 보통 훈련 세트의 데이터가 많으면 많을수록 좋은 모델이 탄생하는데 감소한 부분을 메꿔줄만한 방법이 없을까? 바로 교차 검증(cross vaildation)을 사용하면 된다.
교차 검증이란?
교차 검증을 설명하기 전에 먼저 test set가 overfitting이 되는 이유 대해서 짧게 설명하고자 한다.
가장 큰 이유는 바로 test set이 static하기 때문이다. 그래서 static test set에 대해서 parameter의 tuning이 이루어지기 때문에 overfitting된 model이 발생할 수 밖에 없다. 그렇다면 데이터를 고정시키지 않는다면? -> 바로 이점이 교차 검증의 핵심이 된다고 할 수 있다.
K-폴드 교차 검증
-데이터의 모든 부분을 사용해 모델을 검증하고 test set을 고정하지 않는다.
-전체 데이터를 k개의 subset으로 나누고 k번 평가를 진행한다.
-평가의 평균을 사용해서 모델의 성능을 평가한다.
*하이퍼파라미터 튜닝
하이퍼파라미터: 사용자가 지정해야하는 파라미터를 말한다.
그리드 서치 or 랜덤 서치를 사용해서 하이퍼파라미터의 최적값을 찾는다.