머신 러닝 분류기의 성능을 통계적으로 비교하는 방법은 무엇입니까?


29

예상 분류 정확도를 기준으로 한 분류자가 다른 분류기보다 기본 세트에서 통계적으로 더 나은지 테스트하고 싶습니다. 각 분류 자에 대해 기본 집합에서 임의로 학습 및 테스트 샘플을 선택하고 모델을 학습하고 모델을 테스트합니다. 각 분류 자에 대해이 작업을 10 번 수행합니다. 따라서 각 분류기에 대해 10 가지 추정 분류 정확도 측정 값이 있습니다. 기본 데이터 세트 에서 이 보다 우수한 분류기 인지 통계적으로 테스트하는 방법 사용하기에 적합한 t-test는 무엇입니까?classifier1classifier2


동일한 샘플에서 분류기를 테스트 했습니까? 즉, sample1, c1 (sample1), c2 (sample1)? 아니면 각 분류기에 대해 서로 다른 샘플을 사용 했습니까?
John Moeller

이 시나리오에서는 대응 t- 검정이 적합합니다.
GEL

1
@lewellen : 정확도는 비례입니다 : t- 검정은 일반적으로 적합 하지 않습니다 .
cbeleites는 Monica를 지원합니다

3
@JohnMoeller : "비율의 차이"는 우리가 아직 모르는 독립적이거나 의존적 인 검색어입니다. 페어링 된 경우 : McNemar의 테스트. 나는 t- 검정이 표본 크기가 작은 것을 의미한다고 생각하므로 정상적인 근사화는 좋은 생각이 아닙니다. 요금 및 비율 에 대한 통계 방법을 사용 하여 세부 정보를 찾습니다.
cbeleites는 Monica

2
@ JohnMoeller : 각 정확도는 비례한다고합니다. 이들을 비교하려면 "비율 차이"방법을 사용하십시오. 나는 이것을 끝없는 주석을 막기 위해 답변으로 확장했습니다.
cbeleites 지원 모니카

답변:


14

Dietterich는 "이항 분포는 합리적인 값에 대한 정규 분포에 의해 대략적으로 추정 될 수 있습니다 ." 지금까지 귀하는 합리적인 을 가지고 있다고 말하지 않았습니다 . @JohnMoeller의 30 건은 정상적인 근사치에 대해서는 IMHO가 적습니다 (적어도 및 에 대한 지식이 없음 ). nnp1p2
cbeleites 지원 모니카

기본 데이터 세트에서 사용 가능한 클래스 당 최소 4000 개의 레코드가 있으므로 선택한 샘플은 이보다 작을 수 있습니다. 비율 테스트의 차이로 인한 가장 큰 단점은 "학습 알고리즘의 내부 변형"을 무시한다는 것입니다. 이것이 내가 사용하는 신경망과 같은 분류기에 중요하다고 생각합니다.
엔트로피

그것은 JohnMoeller가 시작한 것과는 완전히 다른 상황입니다. "내부 변동"으로 모델의 불안정성을 의미하는 경우이를 측정 할 수 있습니다. 답변을 업데이트하겠습니다.
cbeleites는 Monica를 지원합니다.

명확히하기 위해 30은 내가 선택한 테스트 포인트 수가 아닌 테스트 / 트레인 파티션 세트를 선택한 횟수입니다.
John Moeller

@JohnMoeller : 죄송합니다. ( "샘플"이 일종의 물리적 표본 인 분야에서 나온) 것을 완전히 오해했습니다.
cbeleites는 Monica를 지원합니다.

10

나는 Fleiss 책을 가지고 있지 않으므로이 모든 것은 IIRC입니다.

순간 코멘트에서 @JohnMoeller의 질문에 대답 : 원래 질문은 그대로 대답 할 수 없습니다.

따라서 30 개의 샘플이 있고 각 샘플에서 c1과 c2를 테스트하고 각 샘플에 대한 정확도를 기록한다고 가정합니다.

이렇게하면 분류 자 ​​1이 정확하고 잘못되어 분류 자 ​​2가 정확하고 잘못되었음을 나타내는 2 x 2 우발 사태 표가 생깁니다. McNemar의 테스트 시작점은 다음과 같습니다 . 따라서 이것은 짝 지어진 비교를위한 것인데, 이것은 "독립적 인"비율을 비교하는 것보다 더 강력합니다 (동일한 유한 샘플에서 무작위로 그리는 경우 완전히 독립적이지 않습니다).

현재 McNemar의 "작은 글씨"를 찾을 수는 없지만 30 개의 샘플은 많지 않습니다. 따라서 이항 확률을 계산하는 McNemar 's에서 Fisher의 정확한 검정 (또는 다른 것) 으로 전환해야 할 수도 있습니다 .


비율의 의미 :
10 개의 테스트 사례로 하나의 동일한 분류기 10x를 테스트하든 100 개 사례로 모두 한 번 테스트하는지는 중요하지 않습니다 (2 x 2 테이블은 모든 테스트 사례를 계산합니다).

원래 질문에서 각 분류 자에 대한 10 가지 정확도 추정치가 랜덤 홀드 아웃 또는 10 배 교차 검증 또는 10x 부트 스트랩으로 얻은 경우 일반적으로 각 분류 자에 대해 계산 된 10 개의 서로 게이트 모델이 동일하다고 가정합니다 (= 정확도가 동일하므로 테스트 결과를 풀링 할 수 있습니다 *. 10 배 교차 검증의 경우 테스트 샘플 크기가 총 테스트 샘플 수와 같다고 가정합니다. 다른 방법의 경우 확실하지 않습니다. 동일한 사례를 두 번 이상 테스트 할 수 있습니다. 데이터 / 문제 / 애플리케이션에 따라 새로운 사례를 테스트하는 것만 큼 많은 정보가 없습니다.

* 대리 모델이 불안정하면이 가정이 무너집니다. 그러나이를 측정 할 수 있습니다 . 폴드 교차 검증을 반복하십시오 . 각각의 전체 실행은 각 사례에 대해 하나의 예측을 제공합니다. 따라서 여러 다른 대리 모델에 대해 동일한 테스트 사례에 대한 예측을 비교하면 일부 교육 데이터를 교환하여 발생하는 분산을 측정 할 수 있습니다. 이 분산은 유한 총 표본 크기로 인한 분산에 추가됩니다.k

반복 된 CV 결과를 하나의 사례에 해당하는 각 행과 서로 게이트 모델 중 하나에 해당하는 각 열을 가진 "정확한 분류 행렬"에 넣습니다. 이제 행을 따라 분산 (모든 빈 요소 제거)은 대리 모델의 불안정성 때문입니다. 열의 편차는이 대리 모델의 테스트에 사용한 유한 사례 수에 기인합니다. 예를 들어, 열에 테스트 된 사례 중 올바른 예측 이 있다고 가정합니다 . 정확도에 대한 점 추정치는 이며, 분산 . 유한 시험 표본 크기로 인한 분산에 비해 불안정성으로 인한 분산이 크거나 작은 지 확인하십시오.knp^=knσ2(p^)=σ2(kn)=p(1p)n


그래. 적어도 나를 위해 일을 정리하는 것이 마지막 비트입니다. 감사.
John Moeller

답변 주셔서 감사합니다. 따라야 할 절차는 명확하지 않습니다. 단일 데이터 세트에서 10 배의 교차 검증을 수행한다고합니다. 홀드 아웃 샘플의 정확도, 즉 2x2 혼동 매트릭스를 계산합니다. 10 개의 2x2 혼란 매트릭스를 더합니다. 집계 된 2x2 혼란 매트릭스에서 McNemar의 테스트를 수행합니다.
엔트로피

@entropy : 1. 2x2 분할 표는 혼동 행렬이 아닙니다. 2. 동일한 테스트 데이터에서 두 분류기 테스트와 비교할 때마다 새로운 샘플 : 페어링 된 테스트가 더 강력합니다 (여기서는 가능). 업데이트 된 답변을 참조하십시오.
cbeleites 지원 Monica

죄송합니다. 우발 사태 테이블입니다. McNemar의 테스트가 멀티 클래스 문제로 직접 변환된다고 말하는 것이 맞습니까?
엔트로피

@cbeleites 응답 주셔서 대단히 감사합니다 !!! 나는 당신이 지금 내 질문에 정확하게 대답했다고 생각합니다. 그러나 여전히 정확한 절차를 이해하지 못합니다. 마지막 단락을 자세히 설명해 주시겠습니까?
엔트로피
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.