교차 검증 기술의 개요


43

누군가가 그들 사이의 차이점과 각각의 사용 시점에 대한 가이드를 통해 교차 검증 기술에 대한 개요를 알고 있는지 궁금합니다. Wikipedia 에는 가장 일반적인 기술 목록 이 있지만 다른 기술이 있거나 분류법이 있는지 궁금합니다.

예를 들어, 다음 전략 중 하나를 선택할 수있는 라이브러리를 실행했습니다.

  • 잡아
  • 부트 스트랩
  • K 교차 검증
  • 하나를 떠나
  • 계층화 된 교차 검증
  • 균형 잡힌 층간 교차 검증
  • 계층화 된 보류
  • 층화 부트 스트랩

부트 스트래핑, 홀드 아웃 또는 CV에서 계층화되고 균형 잡힌 의미를 이해하려고합니다.

또한 사람들이 원하는 경우이 게시물을 커뮤니티 위키로 전환하고 여기에서 기술 또는 분류법에 대한 토론을 수집 할 수 있습니다.


이 위대한 질문은 우리가 각 방법에 대한 설명과 연결될 수 있다면 훨씬 더 도움이 될 것입니다.
mkt-Reinstate Monica

답변:


16

해당 목록에 추가 할 수 있습니다.

  • 반복 교차 검증
  • 그룹 외부 교차 검증
  • 수하물 부족 (임의의 숲 및 기타 포장 된 모델의 경우)
  • 632+ 부트 스트랩

이러한 기술을 사용하는 방법이나 사용시기에 관한 조언은 없습니다. R 의 캐럿 패키지를 사용하여 CV, Boot, Boot632, Leave-One-Out, Leave-Group-Out 및 가방 외부 교차 검증을 비교할 수 있습니다 .

일반적으로 부 스트랩은 반복 된 k- 폴드 CV 또는 Leave-One-Out CV보다 계산 집약도가 낮기 때문에 일반적으로 사용합니다. Boot632는 부트 스트랩보다 훨씬 더 많은 계산이 필요하지 않기 때문에 선택한 알고리즘이며 특정 상황에서 교차 유효성 검사 또는 기본 부트 탭보다 나은 것으로 나타났습니다.

나는 거의 항상 교차 유효성 검사 대신 임의의 포리스트에 대한 가방 외부 오류 추정을 사용합니다. 가방 외부 오류는 일반적으로 편견이없고 임의 포리스트는 그대로 계산하는 데 시간이 오래 걸립니다.


3
각각의 사용시기에 관한 조언이 있습니까?
whuber

16

K- 폴드 교차 검증 (CV)은 임의로 데이터를 K 파티션으로 나눕니다. 차례로 K 부분 중 하나를 테스트 사례로 잡고 다른 K-1 부분을 학습 데이터로 묶습니다. Leave One Out (LOO)은 N 개의 데이터 항목을 가져 와서 N- 폴드 CV를 수행하는 특별한 경우입니다. 어떤 의미에서, 홀드 아웃은 K 폴드 중 하나만 테스트로 선택하고 모든 K 폴드를 회전하지 않는 특별한 경우입니다.

내가 아는 한, 10 배 CV는 데이터를 효율적으로 사용하고 불운 한 파티션 선택을 피하는 데 도움이되기 때문에 거의 데 리거입니다. 홀드 아웃은 데이터를 효율적으로 사용하지 않으며 LOO는 강력하지는 않지만 (또는 이와 비슷한) 10 배 정도만 맞습니다.

데이터에 둘 이상의 범주가 포함되어 있고 하나 이상의 범주가 나머지 범주보다 훨씬 작은 경우 K 랜덤 파티션의 일부가 작은 범주를 전혀 포함하지 않을 수 있으며, 이는 나쁘게됩니다. 각 파티션을 합리적으로 대표하려면 계층화를 사용하십시오. 데이터를 범주로 나누고 각 범주에서 무작위로 비례하여 선택하여 임의의 파티션을 만드십시오.

K- 폴드 CV의 이러한 모든 변형은 데이터를 대체하지 않고 선택합니다. 부트 스트랩은 대체 할 데이터를 선택하므로 동일한 데이텀이 여러 번 포함될 수 있으며 일부 데이터가 전혀 포함되지 않을 수 있습니다. (각 파티션마다 N / K 항목이있는 K-fold와 달리 각 "파티션"에는 N 개의 항목이 있습니다.)

(하지만 CV에서 부트 스트랩이 어떻게 사용되는지 정확히 모른다는 점을 인정해야합니다. 테스트와 CV의 원칙은 훈련 한 데이터를 테스트하지 않도록하는 것입니다. 실제 기술과 계수가 어떻게 작동하는지에 대한보다 현실적인 아이디어.)

편집 : "Hold Out is not efficiency"를 "Hold Out이 데이터를 효율적으로 사용하지 않습니다"로 대체하여 설명에 따라 설명을 명확하게합니다.


1
"취소가 효율적이지 않다"고 말할 때 나는 확실하지 않습니다. 여기서 효율성이란 무엇입니까? 일반 N 접기와는 달리 홀드 아웃은 접기를 통해 회전하지 않으므로 더 빨라야합니다. 대신 일반 N- 폴드 CV보다 과적 합과 싸우는 것이 더 나쁘다는 것을 의미합니까?
Amelio Vazquez-Reina

2
"효율적"이란 데이터가 효율적으로 사용되지 않음을 의미합니다. K-fold CV의 장점은 100 %의 데이터가 훈련에 사용되고 100 %의 데이터가 테스트에 사용되고 데이터를 효율적으로 사용한다는 것입니다. 물론 핵심은 모든 데이터가 동시에 테스트 및 교육에 사용되지 않아서 낙관적 인 테스트 결과 (과적 합)를 산출하는 것입니다. 홀드 아웃에 따르면 정적 분할을 수행하면 1/3의 데이터가 교육에 사용되지 않으며 2/3의 데이터는 테스트에 사용되지 않으므로 데이터에 많은 정보가 낭비됩니다.
Wayne

홀드 아웃 추정기는 @Wayne 아닌가 점근 적 편견? 또한 간단한 k- 폴드 CV는 반복 된 k- 폴드 CV보다 유형 II 오류가 발생하기 쉽습니다.
chl

@chl : 나는 당신이 둘 다 맞다고 믿는다. 반복 된 K- 폴드 CV를 사용하지는 않았지만 분산이 더 낮아야 도움이됩니다.
Wayne


1

... 그리고 각각의 사용시기에 대한 안내 ...

불행히도 그 문제는 신용을 얻는 것보다 어렵습니다. 교차 유효성 검사의 적어도 두 가지 주요 용도가 있습니다 : 모델 선택 및 모델 성능 평가.

대략, 테스트에 대한 높은 기차 대 비율을 사용하여 데이터를 분할하는 CV 변형을 사용하면 평가에 더 좋습니다. 더 큰 트레이닝 세트를 사용하면 전체 데이터 세트에 맞는 모델의 성능을보다 정확하게 모방 할 수 있습니다.

그러나 높은 열차 대 시험 비율은 선택하기에 더 나쁠 수 있습니다. 실제로 "최고의"모델을 선택해야하지만 데이터 세트가 매우 크다고 상상해보십시오. 그런 다음 약간 과잉 적합하는 너무 큰 모델은 "최상의"모델과 거의 동일한 CV 성능을 갖습니다 (스퓨리어스 매개 변수를 무시해도 무방합니다). 데이터의 무작위성과 CV / 분할 절차는 종종 "최고의"모델 대신 과적 합 모델을 선택하게합니다.

선형 회귀 분석에서 오래된 점근 론에 대해서는 Shao (1993), "교차 검증에 의한 선형 모델 선택"을 참조하십시오 . Yang (2007), "회귀 절차 비교를위한 교차 검증 일관성"Yang (2006), "분류를위한 학습 방법 비교" 는보다 일반적인 회귀 및 분류 문제에 대한 점근 론을 제시합니다. 그러나 엄격한 유한 샘플 조언은 찾기가 어렵습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.