교차 검증에서 평균 (점수) vs 점수 (연결)


15

TLDR :

내 데이터 세트는 매우 작은 (120) 샘플입니다. 10 배 교차 검증을 수행하는 동안 다음을 수행해야합니다.

  1. 각 테스트 폴드에서 출력을 수집하여 벡터로 연결 한 다음이 전체 예측 벡터 (120 개 샘플)에 대한 오류를 계산합니까?

  2. 또는 대신 각 겹 에서 얻은 출력 (폴드 당 12 샘플)의 오류를 계산 한 다음 최종 오류 추정치를 10 배 오류 추정치의 평균으로 가져와야합니까?

이 기술들 사이의 차이점을 주장하는 과학 논문이 있습니까?


배경 : 다중 레이블 분류에서 매크로 / 마이크로 점수와의 잠재적 관계 :

이 질문은 다중 레이블 분류 작업 (예 : 5 레이블)에서 자주 사용되는 마이크로 평균 과 매크로 평균 의 차이와 관련이있을 수 있습니다 .

다중 레이블 설정 에서 120 개의 샘플에 대한 5 개의 분류기 예측 모두에 대해 진 양성, 위양성, 진 음성, 위음성 의 집계 된 우발성 표를 만들어 미세 평균 점수 를 계산 합니다. 이 우발 상황표는 마이크로 정밀도, 마이크로 리콜 및 마이크로 f 측정을 계산하는 데 사용됩니다. 따라서 120 개의 샘플과 5 개의 분류 기가 있으면 마이크로 측정 값은 600 개의 예측 (120 개의 샘플 * 5 개의 레이블)에서 계산됩니다.

매크로 변형을 사용하는 경우 각 레이블에서 독립적 으로 측정 값 (정밀도, 리콜 등)을 계산 하고 마지막으로 이러한 측정 값의 평균을 구합니다.

마이크로매크로 추정치 의 차이 뒤에있는 아이디어 는 이진 분류 문제에서 K- 폴드 설정에서 수행 할 수있는 것으로 확장 될 수 있습니다. 10 배의 경우 10 개 이상의 평균 ( 매크로 측정) 또는 10 개의 실험을 연결하고 마이크로 측정을 계산할 수 있습니다.

배경-확장 된 예 :

다음 예제는 질문을 보여줍니다. 12 개의 테스트 샘플이 있고 10 개의 폴드가 있다고 가정 해 봅시다.

  • 접기 1 : TP = 4, FP = 0, TN = 8 정밀도 = 1.0
  • 폴드 2 : TP = 4, FP = 0, TN = 8 정밀도 = 1.0
  • 접기 3 : TP = 4, FP = 0, TN = 8 정밀도 = 1.0
  • 폴드 4 : TP = 0, FP = 12, 정밀도 = 0
  • 폴드 5 .. 폴드 10 : 모두 동일한 TP = 0, FP = 12 및 정밀도 = 0

나는 다음 표기법을 사용했다.

TP = # True Positives, FP = # False Positive, TN = # True 부정

결과는 다음과 같습니다.

  • 10 배의 평균 정밀도 = 3/10 = 0.3
  • 10 배 예측 예측 연결에 대한 정밀도 = TP / TP + FP = 12 / 12 + 84 = 0.125

값 0.3과 0.125는 매우 다릅니다 !


CV는 실제로 미래의 성과를 예측하는 데 큰 도움이되지 않습니다. 분산이 너무 작습니다. 모델을 검증하기 위해 부트 스트랩을 사용하는 것이 좋습니다.
user765195

2
@ user765195 : 인용을 통해 주장을 뒷받침 할 수 있습니까?
Zach

검색했지만 집계 된 CV 방법에 관한 문헌을 찾지 못했습니다. 분산이 적으므로 측정 값을 계산하는 것이 더 적절한 방법 인 것 같습니다.
user13420

1
@Zach, Harrell 's book : tinyurl.com/92fsmuv(93 페이지의 마지막 단락과 94 페이지의 첫 번째 단락을보십시오.)에 대한 토론이 있습니다 . 더 분명한 다른 참조를 기억하려고합니다.
user765195

1
k

답변:


3

설명 된 차이점은 IMHO 가짜입니다.

실제로 긍정적 인 사례의 분포 (예 : 참조 방법이 긍정적 인 사례라고 함)가 접힘에 대해 매우 같지 않은 경우에만 (예 에서처럼) 관찰됩니다. 하고 관련 테스트 사례의 수 (성능 측정 값의 분모)에 대해 우리는 여기서 평균적으로 폴드 평균을 계산할 때 실제로 긍정적 인 것을 고려하지 않습니다.

412=13 (정밀도 계산과 관련된 총 12 가지 사례 중 4 가지 테스트 사례가 있었음)와 1 (정밀한 계산과 관련된 모든 테스트 사례)이있는 마지막 6 개의 겹 평균으로 가중 평균은 정확히 동일합니다. d는 10 배의 예측을 풀링 한 다음 정밀도를 계산합니다.


편집 : 원래 질문은 유효성 검사 반복 / 반복에 대한 질문도했습니다.

k

  • 몇 개의 훈련 샘플을 교환하여 훈련 데이터가 교란되는 경우 예측은 얼마나 변합니까?
  • 즉, 서로 다른 "서로 게이트"모델의 예측은 동일한 테스트 샘플에 대해 얼마나 많은 차이가 있습니까?

과학 논문 을 요구했습니다 .

분산의 과소 추정 궁극적으로 데이터 세트는 부트 스트랩 반복 횟수 나 교차 검증의 횟수에 관계없이 유한 (n = 120) 샘플 크기를 갖습니다.

  • 리샘플링 (교차 유효성 검사 및 부트 스트랩 외부) 유효성 검사 결과에는 최소한 2 가지 차이가 ​​있습니다.

    • 유한 한 수의 (테스트) 샘플로 인한 분산
    • 대리 모델 예측의 불안정성으로 인한 분산
  • 모델이 안정적인 경우

    • 반복케이 폴드 교차 검증의 필요하지 않았다 (성능 추정을 향상시키지 않는다 : 교차 검증의 각 실행에 대한 평균은 동일 함).
    • 그러나 성능 추정치는 유한 한 수의 테스트 샘플로 인해 여전히 변동될 수 있습니다.
    • 데이터 구조가 "단순"한 경우 (예 : 통계적으로 독립적 인 각 사례에 대해 하나의 단일 측정 벡터) 테스트 결과는 Bernoulli 프로세스 (코인 던지기)의 결과라고 가정하고 유한 테스트 집합 분산을 계산할 수 있습니다.
  • 케이


또한 4 개의 분류기로 다중 레이블 분류를 수행하고 있습니다. 그래서 저는 4 가지 작업에서 마이크로 및 매크로 F 측정을 살펴보고 싶습니다. 이 경우 "결합 된"교차 검증이 필요한 것으로 가정합니다. 또한 부트 스트랩이 위에서 언급 한 "결합 된"CV 방법과 동일한 지 확실하지 않습니다. stats.stackexchange.com/questions/4868/…에
user13420

@ user13420 : CV와의 결합이 의미하는 바가 확실하지 않습니다 ... 부트 스트랩 및 교차 검증이 나에게 어떤
cbeleites 지원 모니카

@ user13420 : 용어는 분야마다 매우 다릅니다. Micro 및 Macro F 측정이 무엇인지 정보로 답을 업데이트 할 수 있습니까? 그러나 교차 검증은 매우 일반적인 기술입니다. 이는 모델 테스트 결과를 계산하기위한 체계입니다. 각 사례에 대한 기준 값과 각 사례에 대한 예측 값을 입력으로 필요한 모든 성능 측정을 계산할 수 있습니다.
cbeleites는

결합 된 CV는 각 홀드 아웃의 예측을 수집하고 10 개의 홀드 아웃 후 측정 값을 계산 함을 의미합니다. 따라서 정밀도를 측정하고 분류 작업을 다시 불러 오면 단일 정밀도를 가지게됩니다. 단 10 개의 값이 아니라 평균 (보통 CV의 경우)이 아니라 다시 호출합니다.
user13420

2
고마워 믿어-나는 원래의 질문에 대한 문구가 약간 혼란 스러웠 기 때문에 그 설명을 추가했습니다. 편집 내용이 더 나아 졌으면 좋겠습니다. 딜레마를 더 잘 강조하려고했지만 다른 방법으로 알려주세요. 당신이 차이점을 발견했다고 언급했을 때, @ user13420은 1 또는 2에 접근 할 때 OP의 맨 아래에서 두 개의 실질적으로 다른 결과를 얻습니다 . 나는이 딜레마에 직면하고있는 것을 발견했다. 나는 믿는다 두 번째 접근 방식이 더 일반적 하지만 그것을 취하는 것이 좋을 것입니다.
Josh

1

당신은 점수를 연결해야합니다 (연결). 평균 (점수)이 가장 좋은 방법이라는 것은 분야에서 흔히 볼 수있는 오해입니다. 그것은 당신의 경우와 같이, 특히 희귀 클래스에서, 당신의 추정에 더 많은 편견을 도입 할 수 있습니다. 이를 뒷받침하는 논문은 다음과 같습니다.

http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf

본 논문에서는 "점수 (concatenation)"대신 "평균 (점수)"대신 "Favg"와 "Ftp, fp"를 사용합니다.

장난감 예 :

10 배 교차 검증 및 10 배로 나타나는 클래스가 있고 각 배마다 한 번 나타나도록 지정되는 경우를 상상해보십시오. 또한 클래스는 항상 올바르게 예측되지만 데이터에는 오 탐지가 하나 있습니다. 오 탐지를 포함하는 테스트 접기의 정확도는 50 %이며 다른 모든 접기의 정확도는 100 %입니다. 따라서 평균 (점수) = 95 %입니다. 한편, 점수 (연계)는 10/11로 약 91 %입니다.

실제 모집단이 데이터로 잘 표현되어 있고 10 개의 교차 검증 분류 기가 최종 분류자를 잘 나타내고 있다고 가정하면 실제 정확도는 91 %가되고 평균 95 %는 평균치가 편향됩니다. .

실제로는 이러한 가정을 원하지 않습니다. 대신 분포 통계를 사용하여 무작위로 데이터를 치환하고 점수 (연결)를 여러 번 재부트하고 부트 스트랩하여 신뢰도를 추정 할 수 있습니다.


이것은 훌륭한 종이입니다! 나는 원래의 질문의 언어로 된 논문에서 사용되지 않은 결과는 F 점수를 계산할 때 "마이크로 평균화"접근법을 사용한다고 생각합니다. 특히, 모든 폴드에서 TP, TN, FP, FN을 합산하여 단일 혼동 행렬을 얻은 다음 F 점수 (또는 다른 원하는 메트릭)를 계산합니다.
travelingbones
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.