일대일 교차 검증은 어떻게 작동합니까? 다른 모델 중에서 최종 모델을 선택하는 방법은 무엇입니까?


25

데이터가 있고이 데이터로 모델 (선형 회귀 모델)을 만들고 싶습니다. 다음 단계에서는 모델에 LOOCV (Leave-One-Out Cross-Validation)를 적용하여 성능이 어느 정도인지 확인하고 싶습니다.

LOOCV를 올바르게 이해했다면이 샘플 (훈련 세트)을 제외한 모든 샘플을 사용하여 각 샘플 (테스트 세트)에 대해 새 모델을 작성합니다. 그런 다음 모델을 사용하여 테스트 세트를 예측하고 오류 합니다.(predictedactual)

다음 단계에서는 선택한 함수를 사용하여 생성 된 모든 오류 (예 : 평균 제곱 오류)를 집계합니다. 이 값을 사용하여 모델의 품질 (또는 적합도)을 판단 할 수 있습니다.

질문 : 이 품질-값이 적용되는 모델이 어떤 모델이므로 LOOCV에서 생성 된 지표가 내 사례에 적합한 경우 어떤 모델을 선택해야합니까? LOOCV는 다른 모델을 보았습니다 (여기서 은 샘플 크기 임). 어떤 모델을 선택해야합니까?nn

  • 모든 샘플을 사용하는 모델입니까? 이 모델은 LOOCV 프로세스 중에 계산되지 않았습니다!
  • 오류가 가장 적은 모델입니까?

답변:


24

교차 검증은 모델 자체가 아닌 특정 절차에 의해 생성 된 모델의 일반화 성능을 추정하는 방법으로 생각하는 것이 가장 좋습니다. 일대일 교차 검증은 본질적으로 개의 데이터 샘플 에 훈련 된 모델의 일반화 성능의 추정치이며, 일반적으로 샘플 에 훈련 된 모델의 성능에 대한 약간 비관적 인 추정치입니다 .n1n

하나의 모델을 선택하는 대신 모델을 모든 데이터에 맞추고 LOO-CV를 사용하여 해당 모델의 성능을 약간 보수적으로 추정해야합니다.

그러나 LOOCV는 분산이 높기 때문에 (다른 임의의 데이터 샘플을 사용하는 경우 얻을 수있는 값이 크게 다름) 성능에 대한 추정기의 선택이 좋지 않은 경우가 종종 있습니다. 모델 선택을 위해 항상 사용하지만 실제로는 저렴하기 때문에 (내가 작업하는 커널 모델에서는 거의 무료입니다).


답변 해주셔서 감사합니다. "LOO-CV를 사용하여 해당 모델의 성능을 약간 보수적으로 추정 할 수 있습니다"라는 문장이 아닙니다. 일반적인 경우가 잘못 되었습니까? 다른 점을 추가하면 모델이 더 나빠질 수 있습니다.이 경우 LOO-CV가 될 수 있습니다. 낙관적 추정
theomega

1
모델을 작성하는 데 사용하는 데이터가 많을수록 일반적으로 모델이 더 좋습니다. 추가 포인트로 인해 모델이 약간 나빠질 수 있지만 모델이 조금 나아질 가능성이 큽니다. 따라서 일반적으로 loocv는 약간 비관적 인 편향이 있지만 LOOCV 추정기의 분산은 일반적으로 훨씬 더 중요합니다.
Dikran Marsupial

그렇다면 성능 평가를 위해 무엇을 사용해야 합니까? (데이터 수집이 비싸서 사용 가능한 모든 데이터를 사용하여 모델에 적합하다고 가정).
사이드 쇼 밥

아마 부트 스트랩. 내가 사용하는 대부분의 모델에는 조정이 필요한 정규화 매개 변수 등이 있으므로 모델 및 부트 스트랩 튜닝을 위해 LOOCV를 사용하거나 성능 평가를 위해 반복 보류를 사용하는 경우가 많습니다.
Dikran Marsupial 2009

@DikranMarsupial Leave-One-Out CV가 비관적 인 편향을 제공한다는 사실이 확실합니까? 내가 아는 한, 예를 들어 K-Fold보다 일반적으로 오류 추정이 낮습니다. 또한 LOOCV에는 분산이 0이 없습니까? LOOCV는 한 번만 수행 한 다음 "샘플이 부족"할 수 있습니다. 내가 생각할 수있는 유일한 차이는 모델에 맞는 훈련 알고리즘에 의해 생성 된 것입니다. 그러나 이것은 모형 오차 자체가 아니라 최적 파라미터의 분산과 관련된 분산이어야합니다. 고맙습니다.
D1X
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.