더북(TheBook)

두 번째 이슈는 k 값은 두 극단 사이에 위치한다는 것입니다. 의미 있는 k 값 중 가장 작은 것은 2입니다. 데이터를 두 개의 버킷에 나누어 담고, 두 개의 테스트 오차를 추정합니다. k 값 중 가장 큰 값은 우리가 가진 데이터 포인트의 개수 n입니다. 버킷 하나당 사례 하나가 할당됩니다. n개의 모델과 n개의 추정치가 생깁니다. 버킷이 두 개라면 한 번 사용한 데이터는 다시 재활용되지 않습니다. 버킷이 세 개라면 중첩이 생깁니다. 버킷 B의 모델을 훈련하는 데 쓴 데이터 절반은 버킷 B 모델의 훈련 데이터 절반과 같습니다. 버킷이 n개일 때, 두 모델이 사용하는 훈련 데이터 중 n - 2개가 겹칩니다(그림 5-7을 참고하세요).

k = 2의 경우 각 폴드에 담긴 훈련 데이터는 서로 매우 다르지만, k = n인 경우에는 폴드 간 유사성이 매우 높아집니다. 이는 k = 2에서 얻는 추정치가 상당히 다를 수 있다는 점을 의미하지요. 반대로 k = n에서는 거의 같은 데이터를 사용해서 학습하기 때문에 추정치가 매우 비슷해집니다.

세 번째 이슈는 작은 k 값은 보통 전체 데이터의 50%(k = 2)에서 90%(k = 10)까지 훈련 데이터를 만들어 낸다는 것입니다. 이 정도 크기의 데이터가 학습에 적합한지는 풀고자 하는 문제에 달려 있습니다. 5.7.1절처럼 학습 곡선을 이용해서 이를 시각화할 수 있습니다. 학습 곡선이 우리가 원하는 성능 부근에서 평평해진다면 해당 부분의 폴드 개수를 사용해도 괜찮습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.