데이터로부터의 추론, 추정, 의사결정
훈련 오차로는 모델을 판단할 수 없습니다. 모델이 이미 그 데이터를 본 적이 있으니 그냥 외워 버리는 식으로 속일 수 있기 때문입니다. 필요한 것은 모델이 한 번도 본 적 없는 데이터에 대한 오차입니다. 그렇다고 테스트 세트 하나만 떼어 두면 데이터를 낭비하게 되고 추정도 잡음이 많아집니다. 교차 검증이 이 두 문제를 한꺼번에 해결합니다.
k-겹 교차 검증에서는 데이터를 같은 크기의 k개 겹으로 나눕니다. 그중 k−1개로 훈련하고 떼어 둔 하나로 검증하는데, 모든 겹이 정확히 한 번씩 검증 세트가 되도록 차례를 돌립니다. 그렇게 얻은 k개의 검증 오차를 평균하면 모델이 얼마나 잘 일반화하는지에 대한 안정적인 추정을 얻습니다.
교차 검증은 실제 시험 점수를 예측하기 위해 여러 번의 모의고사를 치르는 것과 같습니다. 만약 이미 답을 암기한 문제로만 스스로를 채점한다면 엄청나게 과대평가하게 될 것이므로, 매번 새로운 문제 묶음을 따로 떼어놓고 그것들로 점수를 매긴 뒤, 어느 묶음을 보류할지 교대합니다. 모든 모의고사 연습에서의 점수들을 평균 내는 것은 단 한 번의 모의고사가 할 수 있는 것보다 당일에 당신이 얼마나 잘할지에 대한 훨씬 더 안정적인 예측을 제공합니다.