내부 대 외부 교차 검증 및 모델 선택


26

교차 검증 및 모델 선택을 통해 다음 두 가지 사항을 해결하려고합니다.

P1 . 표본으로 훈련 할 때 모집단에 대한 예상 손실 추정

P2 . 이 추정의 불확실성 (분산, 신뢰 구간, 편향 등)을 측정하고보고하십시오.

표준 관행은 교차 추정을 반복하는 것으로 보입니다. 이는 추정기의 분산을 감소시키기 때문입니다.

그러나보고 및 분석과 관련하여 내부 검증이 다음과 같은 이유로 외부 검증보다 낫다 는 것을 이해합니다 .

보고하는 것이 좋습니다 :

  • 전체 표본 (이 경우 CV 표본)에 대한 추정량 통계 (예 : 신뢰 구간, 분산, 평균 등)

보고보다 :

  • 다음과 같은 이유로 원래 샘플의 홀드 아웃 서브 세트에 대한 추정기의 손실

    (i) 이것은 단일 측정 일 것입니다 ( CV로 추정기를 선택하더라도 )

    (ii)이 단일 측정에 대한 추정기는 홀드 아웃 세트를위한 공간을 확보해야하므로 초기 샘플보다 작은 세트 (예 : CV 세트)에 대해 학습되었습니다. 이로 인해 P1 에서 보다 편향된 (비관적) 추정이 이루어 집니다.

이 올바른지? 왜 그렇지 않습니까?

배경:

샘플을 두 세트로 나누는 것을 권장하는 교과서를 쉽게 찾을 수 있습니다.

  • CV의 이후 반복적으로 나누어 져 세트, 기차유효성 검사를 설정합니다.
  • 홀드 아웃 마지막에만 사용 (테스트) 세트는 추정 성능을보고합니다

필자의 질문은 이 글의 시작 부분에서 문제 P1P2 를 실제로 해결하는 것이 목표라는 점을 고려하여이 교재 접근 방식의 장점과 장점을 이해하려는 시도 입니다. CV 샘플 분석이보다 유익하기 때문에 홀드 아웃 테스트 세트에 대한보고는 좋지 않은 것으로 보입니다 .

중첩 된 K- 폴드 대 반복 된 K- 폴드 :

원칙적으로 홀드 아웃 을 일반 K- 폴드 와 결합하여 중첩 된 K- 폴드 를 얻을 수 있습니다. 이를 통해 추정량의 변동성을 측정 할 수 있지만 K- 폴드를 반복해서 훈련 된 동일한 수의 총 모델에 대해 반복 된 K- 폴드는 중첩 된 K-보다 편향 적이고 정확도낮은 추정량을 산출 할 것으로 보입니다. 겹. 이것을 보려면 :

  • 반복 K- 폴드는 동일한 K에 대해 중첩 된 K- 폴드보다 전체 샘플의 더 큰 부분을 사용합니다 (즉, 바이어스가 낮아짐)
  • 100 회 반복하면 중첩 K- 폴드에서 추정값을 10 회만 측정 할 수 있지만 (K = 10) K- 폴드에서 100 회 측정을 수행합니다 (더 많은 측정은 P2의 분산이 낮아짐 )

이 추론에 어떤 문제가 있습니까?


1
나는 당신이 알고 싶은 당신이 수집하는 것에 더 구체적으로 당신의 제목을 조정했습니다. 이 방법으로 필요한 정보를 얻을 가능성이 높다고 생각합니다. 동의하지 않으면 언제든지 다시 변경하십시오. 또한이 스레드는 많은 수의 편집으로 인해 자동으로 CW가되었습니다. CW가되지 않도록하려면 중재자주의를 위해 플래그를 지정하십시오. 그것을 되돌릴 수 있어야합니다 (제 생각에).
gung-모니 티 복원

1
감사합니다 @ 궁. 내 유일한 관심사는 일부 사람들이 2 배 CV 와 홀드 아웃을 혼동 할 수 있다는 것 입니다. Steyerberg03 에서처럼 내부 CV와 외부 CV 가 더 명확 하다고 생각합니다.
Amelio Vazquez-Reina

답변:


20

이미 여기에있는 멋진 답변에 몇 가지 요점을 추가하겠습니다.

중첩 된 K- 폴드 대 반복 된 K- 폴드 : 중첩 된 K- 폴드와 반복 된 K- 폴드는 완전히 다른 목적으로 사용됩니다.

  • 이미 알고 있듯이 모델 선택에 내부 cv를 사용하려면 중첩이 좋습니다.
  • 반복됨 : IMHO 항상 k- 폴드 cv를 반복해야합니다 [아래 참조].

따라서 중첩 된 k- 폴드 교차 검증반복하는 것이 좋습니다 .

더 나은 보고서 "전체 표본 (이 경우 CV 표본)에 대한 추정량 통계 (예 : 신뢰 구간, 분산, 평균 등)입니다." :

확실한. 그러나 교차 검증 결과만으로는 신뢰 구간을 쉽게 추정 할 수 없다는 사실을 알고 있어야합니다. 그 이유는 재 샘플링을 많이하지만 실제로보고하는 사례의 수는 한정적이기 때문입니다 (보통 다소 작습니다. 그렇지 않으면 이러한 차이를 신경 쓰지 않을 것입니다).
예를 들어 Bengio, Y. 및 Grandvalet, Y .: K-Fold Cross-Validation의 편차에 대한 편견없는 추정값 참조 Journal of Machine Learning Research, 2004, 5, 1089-1105 .

그러나 일부 상황에서는 분산을 추정 할 수 있습니다. k- 폴드 교차 검증을 반복하면 모델 불안정성이 중요한 역할을하는지 알 수 있습니다. 이 불안정성 관련 분산은 실제로 교차 검증을 반복하여 줄일 수있는 분산의 일부입니다. (모델이 완벽하게 안정된 경우 교차 검증의 각 반복 / 반복은 각 경우에 대해 정확히 동일한 예측을 갖습니다. 그러나 데이터 세트의 실제 선택 / 구성으로 인해 여전히 차이가 있습니다). 따라서 반복되는 k- 폴드 교차 검증의 낮은 분산 에는 한계가 있습니다. 결국 실제 사례 만 테스트 되었기 때문에 발생하는 차이 는 영향을받지 않으므로 점점 더 많은 반복 / 반복을 수행하는 것은 의미 가 없습니다. n

실제로 실제 사례 만 테스트 되었다는 사실로 인한 분산 은 일부 특수한 경우 (예 : 적중률, 오류율, 감도, 특이도, 예측값 등의 비율로 측정 된 분류기의 성능)에 대해 추정 할 수 있습니다. : 그들이 가지고이 수단 불행히도 이항 분포를 따라 변화 와 모델의 실제 성능 값을 관측 및 분수의 분모의 샘플 크기. 이것은 의 최대 값을 갖습니다.σ (2) ( P ) = 1nP는 P는 N 개의P=0.5σ2(p^)=1np(1p)pp^np=0.5. 관측치에서 시작하여 신뢰 구간을 계산할 수도 있습니다. (@Frank Harrell은 이러한 규칙이 적절한 점수 규칙이 아니라고 말하므로 어쨌든 규칙을 사용해서는 안됩니다. 이는 큰 차이와 관련이 있습니다). 그러나 IMHO는 보수적 범위를 도출하는 데 유용합니다 (더 나은 점수 규칙이 있으며 이러한 분수의 나쁜 동작이 더 나은 규칙의 최악의 경우입니다) .
예를 들어 C. Beleites, R. Salzer 및 V. Sergo : 부분 클래스 멤버십을 사용한 소프트 분류 모델의 유효성 검사 : Astrocytoma Tissues 등급 부여에 적용된 Senstivity & Co. Intell. 랩. Syst., 122 (2013), 12-22.

그래서 이것으로 홀드 아웃에 대한 당신의 주장을 바꿀 수 있습니다 .

  • 또한 리샘플링만으로는 (필수적으로) 분산의 좋은 추정치를 얻지 못합니다.
  • OTOH, 교차 검증 추정치의 유한-검정-크기-분산에 대해 추론 할 수 있다면, 그것은 또한 가능합니다.

이 단일 측정에 대한 추정기는 홀드 아웃 세트를위한 공간을 만들어야하므로 초기 샘플보다 작은 세트 (예 : CV 세트)에 대해 학습되었습니다. 이로 인해 P1에서보다 편향된 (비관적) 추정이 이루어집니다.

반드시 (k-fold와 비교되는 경우)-트레이드 오프 : 작은 홀드 아웃 세트 (예 : 샘플의 => 낮은 바이어스 (≈ k-fold cv와 동일), 높은 분산 (> k- 폴드 cv, 대략 k의 인자만큼).1k

CV 샘플 분석이보다 유익하기 때문에 홀드 아웃 테스트 세트에 대한보고는 좋지 않은 것으로 보입니다.

일반적으로 그렇습니다. 그러나 리샘플링 유효성 검사로 측정 / 감지 할 수없는 중요한 유형의 오차 (예 : 드리프트)가 있음을 명심해야합니다.
예 : Esbensen, KH 및 Geladi, P. 적절한 검증 원칙 : 검증을위한 리샘플링 사용 및 남용, Journal of Chemometrics, 2010, 24, 168-187

그러나 훈련 된 동일한 총 모델 수 (총 폴드 수)에 대해 K-fold를 반복하면 중첩 된 K-fold보다 편향이 적고 더 정확한 추정기가 생성됩니다. 이것을 보려면 :

반복 K- 폴드는 동일한 K에 대해 중첩 된 K- 폴드보다 전체 샘플의 더 큰 부분을 사용합니다 (즉, 바이어스가 낮아짐)

대리 모델과 "실제"모델이 동일한 것을 사용 하는 한 , 모델 교육이 교육 샘플을 사용 하는 방법 은 중요하지 않습니다. 방법. (모델 설정의 일부로 하이퍼 파라미터의 내부 교차 검증 / 추정을 봅니다). 하이퍼 파라미터 최적화를 포함하여 학습 된 대리 모델을 고정 하이퍼 파라미터에 대해 학습 된 "모델"과 비교하면 상황이 다르게 보입니다. 그러나 IMHO는 사과에서 1 오렌지 까지 일반화하고 있습니다.kk1kn
k

100 회 반복하면 중첩 K- 폴드에서 추정값을 10 회만 측정 할 수 있지만 (K = 10) K- 폴드에서 100 회 측정이 가능합니다 (더 많은 측정은 P2의 분산이 낮아짐)

이것이 차이를 만들지 여부는 (대리) 모델의 불안정성에 따라 다릅니다. 위를 참조하십시오. 안정적인 모델의 경우 관련이 없습니다. 따라서 1000 회 또는 100 회의 외부 반복 / 반복을 수행 할 수 있습니다.


그리고이 논문은 Cawley, GC 및 Talbot, NLC On Modeling 과피 팅 및 성능 평가의 후속 선택 바이어스, 머신 러닝 리서치, 2010, 11, 2079-2107


6

이것을 설명하는 주요 참조는 다음과 같습니다.

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

참조 :

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

내 연구에서 데이터 분할을 위해서는 10,000에 근접한 훈련 및 테스트 샘플 크기가 만족스럽게 작동해야한다는 것을 알았습니다.


프랭크-훌륭한 자료입니다. 이 정보가 @Dan이 그의 답변에서 제공 한 것과 어떤 관련이 있는지 궁금합니다. 어쩌면 나는 이것을 잘못 읽고 있지만 커뮤니티 가이 문제로 나뉘어져있는 것 같습니다.
Amelio Vazquez-Reina

나는 첫 번째를 읽을 시간이 없었지만 두 번째는 잠깐 살펴 보았고 내 논문이 말한 것과 정확히 일치하는 것 같습니다. "통계 분석"섹션을 자세히 살펴보면 위에서 링크 한 게시물에서 Dikran이 설명한 것과 동일한 기능 선택 프로세스를 설명합니다. 나는 그들이 연구 한 사람들이 그렇게하지 않았다고 추측하고 있습니다. 그래서 그들은 "적절하지 않은 검증 때문에, 우리의 선택된 연구가 우리 자신의 분석 결과와 비교했을 때 지나치게 낙관적 인 결과를 발표했습니다"라고 생각합니다. 의견 차이가 없다고 생각합니다.
Dan L

4

모델 구축 과정에 따라 다르지만이 백서가 도움이되었다

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

여기에서 논의하는 것의 핵심은 성능을 추정하는 데 사용하는 것과 동일한 것을 기반으로 모델을 선택할 때 발생하는 중대한 자유주의 편향 (실제보다 더 나은 것으로 모델 성능 추정)입니다. 따라서 교차 검증 오류를보고 가능한 모델 세트에서 모델을 선택하는 경우 교차 검증 오류 (또는 다른 내부 추정 방법)를 사용하여 모델 성능을 추정해서는 안됩니다.

또 다른 유용한 자료는

/stats//a/27751/26589

이 글은 모든 데이터가 "보여 질"때 기능을 선택하는 것이 모델 성능에 자유 주의적 편향을 야기하는 방법에 대한 명확한 예를 제시합니다 (모델이 실제보다 성능이 더 우수함).

내가하는 일에 더 구체적인 예를 제시하고 싶다면, 만들고있는 모델 유형 (데이터 양, 선택하는 기능 수, 실제 모델 등).


고마워 댄 이것은 모두 흥미 롭습니다. 간단하게하기 위해 이진 분류 (<~ 10 매개 변수)에 대한 SVM (예 : RBF 커널)의 커널 매개 변수를 추정하려고 시도하고 있으며 대규모 모집단의 100 개 샘플 (예 : 20 양성)로 작업하고 있다고 가정 할 수 있습니다.
Amelio Vazquez-Reina

몇 가지 간단한 질문입니다. 1) SVM을 빌드 할 때 10 개의 매개 변수 중 일부를 선택하도록 허용합니까, 아니면 항상 사용중인 모든 매개 변수를 사용합니까? 2) 다른 커널이나 모델 (물류, 랜덤 포레스트 등)을 고려한 적이 있습니까? 3) 어떤 소프트웨어 / 패키지를 사용하고 있습니까? 내장 된 교차 유효성 검사 구현은 다양하며 어떤 것을 사용하고 있는지 알고 싶습니다.
Dan L

@Dan에게 감사드립니다-모델과 매개 변수에 대해 그리드 검색을 수행합니다 (즉, 커널과 매개 변수는 그리드 검색에 따라 다릅니다). 그리드 검색의 각 실험에 대해 CV를 수행합니다 (반복 된 K- 폴드 교차 검증). scikit-learn을 사용하고 있습니다.
Amelio Vazquez-Reina

1
감사합니다 @ Dan. 중첩 된 교차 유효성 검사에 대해 남은 유일한 질문은 모델을 선택하는 방법입니다 (외부 루프의 각 주름에서 다른 모델을 얻으므로). 각 폴드의 우승 모델이 데이터 세트의 다른 부분에 대해 측정 되므로이 외부 루프에서 가장 높은 점수를 가진 모델을 선택하는 것이 합리적으로 보이지 않습니다.
Amelio Vazquez-Reina

1
외부 주름이 3 개 있다고 가정합니다. 이는 전체 모델 구축 프로세스를 3 번 ​​실행하여 세 가지 모델을 제공함을 의미합니다. 마지막 모델을 사용하지 마십시오. 최종 모델을 얻으려면 모든 데이터에 대해 전체 모델 구축 프로세스를 실행합니다 (독립 평가 세트 제외). 이것이 과적 합을 초래하는 것처럼 보이지만 모델 구축 전략이 과적 합하는 경우 외부 교차 검증에도 과적 합하여 오류 추정치가 적절하게 높아집니다.
Dan L

2

귀하의 이해가 정확하다고 생각합니다. 단일 홀드 아웃 테스트 세트를 사용하여 얻은 손실 추정기는 일반적으로 분산이 높습니다. K- 폴드 교차 검증과 같은 작업을 수행하면 손실에 대한보다 정확한 아이디어와 손실 분포를 얻을 수 있습니다.

일반적으로 트레이드 오프가 있으며, CV가 많을수록 추정치가 높아지지만 계산 시간이 더 필요합니다.


감사. 질문을보다 명확하게하기 위해 OP에 배경 자료를 추가했습니다.
Amelio Vazquez-Reina
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.