교차 유효성 검사의 목적을 이해하는 데 여전히 무언가가 빠져 있다고 생각합니다.
일반적으로 '모델'이라고 할 때 몇 가지 용어를 똑바로 살펴 보겠습니다. 입력 데이터가 예측하려는 내용과 어떤 관련이 있는지 설명하는 특정 방법을 말합니다. 우리는 일반적으로 해당 방법의 특정 인스턴스를 다른 모델로 언급하지 않습니다. 따라서 '선형 회귀 모형이 있습니다'라고 말할 수도 있지만 훈련 된 계수의 두 가지 세트를 다른 모델이라고 부르지는 않습니다. 적어도 모델 선택의 맥락에서는 그렇지 않습니다.
따라서 K- 폴드 교차 검증을 수행하면 모델이 일부 데이터에 의해 얼마나 잘 훈련되는지 확인한 후 보이지 않는 데이터를 예측할 수 있습니다. 보유한 모든 데이터를 사용하여 교육하면 테스트를 위해 남은 것이 없기 때문에 교차 유효성 검사를 사용합니다. 훈련을 위해 데이터의 80 %를 사용하고 테스트를 위해 20 %를 사용하여이 작업을 한 번 수행 할 수 있지만 테스트하기 위해 선택한 20 %가 특히 쉬운 (또는 특히 어려운) 포인트를 포함하는 경우 예측하기? 우리는 학습하고 예측할 수있는 모델 능력에 대한 최상의 추정치를 제시하지 않을 것입니다.
모든 데이터를 사용하고 싶습니다. 따라서 80/20 분할의 위의 예를 계속하려면 데이터의 80 %에서 모델을 5 회 훈련하고 20 %에서 테스트하여 5 배 교차 검증을 수행합니다. 각 데이터 포인트가 20 % 테스트 세트에서 정확히 한 번만 끝나도록합니다. 따라서 우리는 모델이 일부 데이터에서 학습하고 새로운 데이터를 예측하는 작업을 얼마나 잘 수행하는지 이해하는 데 기여해야하는 모든 데이터 포인트를 사용했습니다.
그러나 교차 검증의 목적은 최종 모델을 만들어내는 것이 아닙니다. 훈련 된 모델의이 5 가지 인스턴스를 사용하여 실제 예측을 수행하지 않습니다. 이를 위해 우리는 가능한 최고의 모델을 생각해 내야하는 모든 데이터를 사용하려고합니다. 교차 유효성 검사의 목적은 모델 작성이 아니라 모델 확인입니다.
이제 선형 회귀 모델과 신경망이라는 두 가지 모델이 있다고 가정하겠습니다. 어떤 모델이 더 좋은지 어떻게 알 수 있습니까? 우리는 K- 폴드 교차 검증을 수행 할 수 있으며 테스트 셋 포인트를 예측하는 데 어느 것이 더 나은지 확인할 수 있습니다. 그러나 교차 검증을 사용하여 더 나은 성능의 모델을 선택하면 모든 데이터에서 해당 모델 (선형 회귀 또는 신경망인지 여부)을 학습합니다. 우리는 최종 예측 모델에 대해 교차 검증 중에 훈련 한 실제 모델 인스턴스를 사용하지 않습니다.
교차 검증과 유사한 방식으로 생성 된 모델 인스턴스를 사용하여 앙상블 모델을 구축하는 부트 스트랩 집계 (보통 '포깅'으로 단축)라는 기술이 있지만 범위를 넘어서는 고급 기술입니다. 당신의 질문의 여기에.