교차 검증 된 분류 정확도에 대한 신뢰 구간


11

두 개의 입력 x 선 이미지 사이의 유사성 메트릭을 계산하는 분류 문제를 연구 중입니다. 이미지가 동일한 인물 인 경우 ( '오른쪽 레이블') 더 높은 메트릭이 계산됩니다. 서로 다른 두 사람의 입력 이미지 ( '잘못된'라벨)는 측정 항목이 낮아집니다.

분류 오류 10 배 교차 검증을 사용하여 오 분류 확률을 계산했습니다. 현재 샘플 크기는 약 40 개의 올바른 일치 및 80 개의 잘못된 일치입니다. 여기서 각 데이터 포인트는 계산 된 지표입니다. 오 분류 확률은 0.00이지만, 이에 대한 일종의 신뢰 구간 / 오류 분석이 필요합니다.

이항 비례 신뢰 구간을 사용하여 조사했습니다 (여기서 교차 검증 결과를 올바른 레이블 또는 잘못된 성공 레이블로 사용합니다). 그러나 이항 분석의 가정 중 하나는 각 시도에서 동일한 성공 확률이며, 교차 검증에서 '올바르게'또는 '잘못'으로 분류 된 방법이 다음과 같이 간주 될 수 있는지 확실하지 않습니다. 같은 성공 확률.

내가 생각할 수있는 유일한 다른 분석은 교차 유효성 검사 X 번을 반복하고 분류 오류의 평균 / 표준 편차를 계산하는 것입니다.하지만 내 데이터를 재사용 할 때 이것이 적절한 지 확실하지 않습니다. 비교적 작은 샘플 크기를 여러 번.

이견있는 사람? 모든 분석에 MATLAB을 사용하고 있으며 통계 도구 상자가 있습니다. 모든 도움을 주셔서 감사합니다!


오 분류 확률 0.00은 10 개의 교차 검증 폴드에서 각각 100 % 분류 정확도를 얻습니까?
amoeba

예, 맞습니다. 각각의 접힘은 오 분류를 초래하지 않았다; 보고 된 0.00은 총 테스트 사례 수 (120) 중 오 분류 (0)의 총 수를 나타냅니다.
Sean

BTW, "계층화 된"교차 유효성 검사 란 정확히 무엇을 의미합니까? 각 CV 폴드마다 120 / 10 = 12 개의 테스트 샘플이 있으며 항상 4 개의 일치 항목과 8 개의 일치하지 않는 항목이 있습니까?
amoeba

그렇습니다. 정말입니다. 적어도 이것이 MATLAB 내에서 수행되는 방식을 이해하는 방법입니다. 각 접기에는 동일한 비율의 '오른쪽'/ '잘못된'클래스 레이블 (1 : 2)이 포함되어야합니다.
Sean

답변:


7

다른 대리 모델의 예측에서 불안정성의 영향

그러나 이항 분석의 가정 중 하나는 각 시도에서 동일한 성공 확률이며, 교차 검증에서 '올바르게'또는 '잘못'으로 분류 된 방법이 다음과 같이 간주 될 수 있는지 확실하지 않습니다. 같은 성공 확률.

일반적으로 그 동등성은 다른 대리 모델의 결과를 모으기 위해 필요한 가정입니다.

실제로,이 가정이 위반 될 수 있다는 직관은 종종 사실입니다. 그러나 이것이 사실인지 측정 할 수 있습니다. 그것이 반복 교차 검증에 도움이되는 부분입니다. 서로 다른 대리 모델에 의한 동일한 사례에 대한 예측의 안정성을 통해 모델이 동일한 지 (안정한 예측) 여부를 판단 할 수 있습니다.

반복 (일명 반복) 폴드 교차 검증 의 체계는 다음과 같습니다 .케이
반복 된 k- 폴드 교차 검증

수업은 빨간색과 파란색입니다. 오른쪽의 원은 예측을 상징합니다. 각 반복에서 각 샘플은 정확히 한 번 예측됩니다. 일반적으로 대 평균은 대리 모델 의 성능 이 같다고 가정 할 때 성능 추정치로 사용됩니다 . 서로 다른 대리 모델 (예 : 열)에 의해 이루어진 예측에서 각 샘플을 보면이 샘플에 대한 예측이 얼마나 안정적인지 알 수 있습니다.나는케이

각 반복에 대한 성능을 계산할 수도 있습니다 (도면에서 3 행 블록). 이 둘 사이의 차이는 서로 게이트 모델이 동일하다는 가정 (모든 경우에 구축 된 "그랜드 모델"과 동일)이 충족되지 않음을 의미합니다. 그러나 이것은 또한 당신이 얼마나 불안정한지를 알려줍니다. 이항 비율의 경우, 실제 성과가 동일한 한 (즉, 항상 동일한 사례가 잘못 예측되는지 또는 동일한 수이지만 다른 사례가 잘못 예측되는지 여부에 관계없이) 생각합니다. 대리 모델의 성능에 대한 특정 분포를 현명하게 가정 할 수 있는지 여부는 알 수 없습니다. 그러나 나는 당신이 그 불안정성을 전혀보고하지 않는다면 어쨌든 현재 일반적인 분류 오류보고보다 이점이라고 생각합니다.케이 대리 모델은 각 반복에 대해 이미 풀링되었으며 불안정성 분산은 반복 간 관측 된 분산의 약 배입니다.케이

일반적으로 120 개 미만의 독립 사례를 다루어야하므로 내 모델에 매우 강력한 정규화를 적용했습니다. 일반적으로 불안정성 분산이 유한 테스트 표본 크기 분산보다 임을 알 수 있습니다. (그리고 나는 인간이 패턴을 감지하는쪽으로 편향되어 너무 복잡한 모델을 만들어 지나치게 적합하기 때문에 모델링에 합리적이라고 생각합니다). 나는 일반적으로 유한 테스트 샘플 크기에 대한 평균 관측 성능에 대한 반복 (및 , 및 ) 및 이항 신뢰 구간에 대한 관측 된 불안정성 변동의 백분위 수를보고 합니다.
케이나는

그림은 그림의 최신 버전입니다. 이 논문에서 5 : Beleites, C. & Salzer, R .: 작은 샘플 크기 상황에서 화학량 모델의 ​​안정성 평가 및 개선, Anal Bioanal Chem, 390, 1261-1271 (2008). DOI : 10.1007 / s00216-007-1818-6
우리가 논문을 쓸 때 여기에 설명 된 다른 분산 원을 아직 완전히 인식하지 못했음을 명심하십시오. 그러므로 나는 논쟁이각 환자 내에서 다른 조직 유형이 주어진 조직 유형을 가진 새로운 환자만큼이나 많은 전체 정보에 기여한다는 적용 결론에도 불구하고 효과적인 표본 크기 추정을 위해서는 정확하지 않습니다. 그런 식으로 지적하는 증거). 그러나 나는 이것에 대해 아직 완전히 확신하지 못하고 (더 나은 방법으로 확인할 수있는 방법도 없음)이 문제는 귀하의 질문과 관련이 없습니다.


이항 신뢰 구간에 어떤 성능을 사용해야합니까?

지금까지 평균 관측 성능을 사용했습니다. 최악의 관측 성능을 사용할 수도 있습니다. 관측 성능이 0.5에 가까울수록 분산이 커지고 신뢰 구간이 커집니다. 따라서, 0.5에 가장 가까운 관측 된 성능의 신뢰 구간은 보수적 인 "안전 마진"을 제공합니다.

이항 신뢰 구간을 계산하는 일부 방법은 관측 된 성공 횟수가 정수가 아닌 경우에도 작동합니다. Ross, TD : Binomial 비례 및 푸 아송 비율 추정에 대한 정확한 신뢰 구간, Comput Biol Med, 33, 509-531 (2003)에 설명 된 "베이지안 후 확률의 적분"을 사용합니다
. DOI : 10.1016 / S0010-4825 (03) 00019-2

(나는 Matlab을 모르지만 R binom::binom.bayes에서는 두 모양 매개 변수를 1로 설정하여 사용할 수 있습니다 ).


이러한 생각은 훈련 데이터 세트를 기반으로 한 예측 모델에 적용되어 알려지지 않은 새로운 사례에 대해 산출됩니다. 동일한 사례 집단에서 추출한 다른 훈련 데이터 세트로 생성해야하는 경우, 크기 의 새로운 훈련 샘플에 대해 훈련 된 모델의 양이 얼마인지 추정해야합니다 . ( "물리적으로"새로운 훈련 데이터 세트를 얻는 것 이외의 방법은 전혀 모른다)

참조 : Bengio, Y. 및 Grandvalet, Y .: K- 폴드 교차 검증의 편차에 대한 편견없는 추정치, Journal of Machine Learning Research, 2004, 5, 1089-1105 .

(이것들에 대해 더 많이 생각하는 것은 내 연구 할 일 목록에 있습니다 ...하지만 실험 과학에서 왔을 때 이론적 및 시뮬레이션 결론을 실험 데이터로 보완하고 싶습니다. 참조 테스트를위한 독립 사례 세트)


업데이트 : 생물 분포를 가정하는 것이 정당합니까?

k-fold CV는 다음 동전 던지기 실험과 같습니다. 하나의 동전을 여러 번 던지는 대신 동일한 기계에서 생산 된 동전은 적은 횟수로 던져집니다. 이 그림에서 @Tal은 동전이 같지 않다고 지적합니다. 분명히 사실입니다. 나는 무엇을해야하고 무엇을 할 수 있는지는 대리 모델에 대한 등가 가정에 달려 있다고 생각합니다.케이

실제로 대리 모델 (코인)간에 성능 차이가있는 경우 대리 모델이 동등하다는 "전통적인"가정은 유지되지 않습니다. 이 경우 분포는 이항식이 아닌 것입니다 (위에서 말했듯이 어떤 분포를 사용 해야할지 모르겠습니다. 각 대리 모델 / 각 동전에 대한 이항의 합이어야합니다). 그러나 이는 대리 모델 결과의 풀링이 허용되지 않음을 의미합니다. 따라서 테스트에 대한 이항 법 은 좋은 근사화 ( 추가 변동 원인이 있음을 말함으로써 근사치 를 개선 하려고 시도 하지 않음 : 불안정성) 또는 평균 성능을 더 정당화하지 않고 포인트 추정으로 사용할 수 없습니다.

반면에 대리모의 (진정한) 성능이 동일하다면, 즉 "모델이 같다"는 의미입니다 (한 가지 증상은 예측이 안정적 임). 이 경우 모든 대리 모델의 결과를 모을 수 있고 모든 테스트에 대한 이항 분포 를 사용하는 것이 좋습니다.이 경우 우리는 대리 모델 의 실제 가 거의 같아야한다고 생각합니다. 따라서 한 번의 동전을 번 던지는 것과 동등한 것으로 테스트를 설명하십시오 .


안녕하세요 @cbeleites, 방금 위에서 설명한 amoeba와 같이 CV 분석 결과 특정 데이터 세트에 대해 2 개의 고유 값 (일부 다른 데이터 세트에는 N이 일반적으로 5보다 작은 N 고유 값이 있음)이 있다고 언급했습니다. 이 경우 단일 데이터 집합과 CV 만 사용하여 예측이 안정적임을 어떻게 나타낼 수 있습니까? 이항 분포와 관련하여, 나는 Agresti-Coull 간격을 고려하고있었습니다 (고장없이 100 % 성공률로 성공할 수 있음). 이항 분포를 사용할 수 있다고 말하는 것 같지만 여전히 동일한 성공 가능성에 대한 가정을 어떻게 정당화 할 수 있는지는 아직 확실하지 않습니다.
Sean


1
@amoeba : 하나의 신뢰 구간으로의 불안정성으로 인해 이항 분포와 미지 분포를 결합하는 방법을 모르겠습니다. 따라서 유한 테스트 표본 크기의 (in) 안정성 및 이항 계에 대한 관측 된 백분위 수를보고합니다. 그것들을 결합하는 방법은 내가 계속 머리 속에 두는 연구 질문 중 하나이지만 지금까지 나는 해결책을 찾지 못하거나 가진 사람을 만난 적이 없습니다. 우리가 연구의 최전선에 도착한 것 같아요 ...
SX 불만족 14:44의 SX

1
@Sean : 관련 문제에 대한 최근 질문을 보셨습니까 ? 의견에는 매우 흥미로운 (나를 위해) 토론이 진행 중이며, 현재 일부 시뮬레이션을 직접 수행하고 있습니다. 나는 이항 적 가정이 잘못되었다고 믿었습니다. 동일한 내용을 주장하는 여러 참고 문헌에 관심이있을 수도 있습니다.
amoeba

1
@Sean :이 두 스레드를 업데이트하려고합니다. 즉, 문제가 더 명확해진 후에 상황을 요약하고 여기에 새로운 답변을 제공하려고합니다. 지금 까지이 논문이 다른 스레드에 연결되어있는 것을 보셨습니까? 저자는 귀하의 질문에 대해 정확하게 논의하고 그들이 효과가 있다고 주장하는 부트 스트랩 절차를 제공합니다. 지금 귀하의 질문에 대한 답변을 작성하려면 해당 절차를 권장합니다. 그러나 해당 논문을 인용 한 24 개의 논문을 먼저 확인하는 것이 좋습니다.
amoeba

3

교차 검증을 여러 번 반복한다는 당신의 생각이 바로 그 마크에 있다고 생각합니다.

이력서, 때마다 분할은 다른 방법으로 (10 배 CV에 대한) 10 개 부분으로 데이터가 (DO의 1000 배를 가정 해 봅시다 반복 하지 라벨 셔플). 분류 정확도는 1000으로 추정됩니다. 물론 동일한 데이터를 재사용하므로 1000 개의 추정치가 독립적이지 않습니다. 그러나 이는 부트 스트랩 절차와 유사합니다. 이러한 정확도에 대한 표준 편차 를 전체 정확도 추정기 평균표준 오차 로 취할 수 있습니다 . 또는 95 % 신뢰 구간으로서 95 % 백분위 수 구간입니다.

또는 교차 유효성 검사 루프와 부트 스트랩 루프를 결합하고 테스트 세트로 데이터의 10 % 임의 (계층화 된 임의)를 선택하고이 작업을 1000 번 수행 할 수 있습니다. 위와 동일한 추론이 여기에도 적용됩니다. 그러나 이것은 반복에 대한 분산이 높아질 것이므로 위의 절차가 더 좋다고 생각합니다.

오 분류 비율이 0.00이면 분류 기가 오류를 0으로 만들고 각 부트 스트랩 반복에서이 오류가 발생하면 신뢰 구간이 0이됩니다. 그러나 이것은 단순히 분류자가 매우 완벽하다는 것을 의미하므로 귀하에게 좋습니다.


안녕하세요 @amoeba, 답변 주셔서 감사합니다. 샘플을 무작위로 치환하여 CV를 1000 번 반복하는 첫 번째 제안에 대해 조금 더 설명해 주시겠습니까? 사전 설정된 시험 세트 비율이 있어야합니까 : 훈련 세트 (예 : 10 배 교차 검증의 경우 10:90)? 10 배 유효성 검사를 반복하여 시간이 지남에 따라 분산을 증가시키는 방법이 확실하지 않은 것 같습니다.
Sean

1
@amoeba가 제안한 두 번째 절차가 너무 낙관적입니다. 완벽하지 않은 분류자는 주어진 데이터 세트에서 완벽한 성능을 가질 수 있습니다 (예를 들어, 샘플이 4 개인 것으로 가정하십시오-모두를 분류하는 것은 1 : 8입니다) 우연히 올바르게). amoeba가 지적한 바와 같이, 서로 다른 트레인 테스트 폴드 배분에 대한 분산을 측정하면 폭 신뢰 구간이 0이되어이 경우에는 분명히 부정확합니다.
Trisoloriansunscreen

1
궁극적 으로이 문제는 내가 아직 관찰하지 않은 것과 다른 데이터를 관찰 할 가능성을 찾는 데 있다고 생각합니다. 내 샘플에 대한 신뢰 구간을 얻는 것은 @amoeba가 내 원래 질문에 대해 제안한 것입니다 (각 CV 반복에 대해 임의의 접기를 사용했습니다). 결과는 더 현실적으로 보입니다 (95 % CI : [0.0028, 0.0033]). 그러나 미래의 데이터 예측에 더 좋은 다른 기술이 있는지 모르겠습니다. 아마도 데이터에 곡선을 맞추고 겹침을 계산하는 일종의 모델 기반 접근 방식입니까?
Sean

3
@amoeba : 설명을 주셔서 감사합니다. 답을 충분히 읽지 않은 것 같습니다. 그러나 나는 여전히이 접근법의 낙관적 편견에 대해 고민하고 있습니다 (둘 다 절차). 다른 CV 분할을 시도하는 동안 정확도를 측정하면 임의 분할로 인한 변동성을 추정 할 수 있습니다. 그러나 전체 데이터가 더 많은 수의 관측치 (수집하지 않은)의 무작위 표본이라는 사실을 무시합니다. CV 분할에 관계없이 우연히 완벽한 성능을 달성하는 작은 데이터 세트가있는 경우 신뢰 구간이 0이고 이는 올바르지 않습니다.
Trisoloriansunscreen

1
@amoeba : 관찰 자체를 부트 스트랩 할 수 없으므로 까다 롭습니다 (이 경우 가장 가까운 이웃 분류기를 고려하십시오). 나는 그 문제로 스스로 고투하고있다. 다른 누군가가 아이디어를 생각해 냈는지 보자.
Trisoloriansunscreen

2

분류 오류는 불 연속적이며 부적절한 점수 규칙입니다. 정밀도가 낮고 최적화하면 잘못된 기능을 선택하고 잘못된 가중치를 부여합니다.


99 ~ 100 %의 교차 검증 된 분류 정확도를 얻는다면 이것은 OP에 거의 문제가되지 않습니다.
amoeba

1
@amoeba : 100 또는 0 %에 가까운 정확한 비율이 관찰되는 경우에도 문제가 될 수 있습니다. 연속 점수에 의존하는 성능 측정과 달리 연속 분류 점수를 이분법 화 (경화) 한 후에 측정되는 모든 종류의 성능은 예측이 여전히 올바른 방향에있는 한, 예측은 결정 경계에 가까워지고 있습니다. 그러나 IMHO는 비례 유형 성과 측정치를보고해야 할 정당한 이유가 있습니다 (예 : 독자 / 협력자가이를 이해하지만 Brier 점수는 이해하지 못하는 경우). 나는 그것을 열고 싶지 않았다 ...
SX

... 질문에 최적화의 징후가 없기 때문에 논의의 라인 (이것이 정말로 중요하게되는 곳).
SX

"정확하게"분류 된 비율을 계산하는 경우 판단 또는 조치를 취하는 등의 이유로이를 수행해야합니다. 이러한 목적으로 인해 비율이 잘못되었습니다.
Frank Harrell

1
@ FrankHarrell : 글쎄, 내가 생각하는 이유는 그것을 종이에보고하는 것입니다. 사람들이 분류 정확도보고를 중단해야한다고 생각하십니까?
amoeba
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.