Makine öğrenmesi sınıflandırıcılarının performansını istatistiksel olarak nasıl karşılaştırabilirim?


29

Tahmini sınıflandırma doğruluğuna dayanarak, bir sınıflandırıcının başka bir sınıflandırıcıya göre ayarlanan bir temelde istatistiksel olarak daha iyi olup olmadığını test etmek istiyorum. Her sınıflandırıcı için, temel setten rastgele bir eğitim ve test örneği seçiyorum, modeli eğitiyorum ve modeli test ediyorum. Bunu her sınıflandırıcı için on kez yapıyorum. Bu nedenle her sınıflandırıcı için on tahmini sınıflandırma doğruluğu ölçümüm var. taban veri setindeki daha iyi bir sınıflandırıcı olup olmadığını istatistiksel olarak nasıl test ederim . Hangi t-testi kullanmaya uygundur?clbirssbenfbener1clbirssbenfbener2


Sınıflandırıcıları aynı örnekler üzerinde test ettiniz mi? yani, numune 1, c1 (numune 1), c2 (numune 1)? Yoksa her sınıflandırıcı için farklı örnekler mi kullandınız?
John Moeller

Eşleştirilmiş t testi bu senaryoda uygun olacaktır.
GEL,

1
@lewellen: doğruluk bir orandır: t-testleri genellikle uygun değildir .
cbeleites, Monica

3
@JohnMoeller: "oranların farkı" henüz bilmediğimiz, bağımsız veya bağımlı bir arama terimi olacaktır. Eşleştirilmişse: McNemar'ın testi. T-testinin oldukça küçük örneklem büyüklüğü anlamına geldiğini tahmin ediyorum, bu nedenle muhtemelen normal yaklaşım iyi bir fikir değildir. Ayrıntıları araştırmak için Fiyatlar ve Oranlar için İstatistiksel Yöntemler’e giderdim .
cbeleites, Monica

2
@JohnMoeller: Her doğruluğun bir oran olduğunu söylüyorum. Onları karşılaştırmak istiyorsanız, "oranların farkı" için yöntemleri kullanın. Bunu, sonsuz yorumları engellemek için bir cevap olarak genişlettim.
cbeleites, Monica

Yanıtlar:


14

Dietterich şöyle diyor: "Binom dağılımı, makul değerleri için normal bir dağılımla iyi bir şekilde yaklaştırılabilir ." Şimdiye kadar, makul olduğunu bize vermedi . @ JohnMoeller'in 30 vakası normal yaklaşım için çok az sayıda IMHO'dur (en azından ve hakkında hiçbir bilgi olmadan ). nnp1p2
cbeleites,

Temel veri setinde sınıf başına en az 4000 kayıt bulunduğundan, seçtiğim örnek bundan daha az bir şey olabilir. Oran testlerindeki farkın en büyük sakıncası “öğrenme algoritmasının içsel varyasyonunu” görmezden gelmeleridir. Bunun kullandığım bir sinir ağı gibi sınıflandırıcı için önemli olduğunu düşünüyorum.
entropi,

peki, bu JohnMoeller’in kustuğu şeyden tamamen farklı bir durum. Modelin “içsel varyasyon” ile dengesizliğini kastediyorsanız: bunu ölçebilirsiniz. Cevabımı güncelleyeceğim.
cbeleites, Monica

Açıklığa kavuşturmak için, 30, seçtiğim test noktalarının sayısını değil , deneme / tren bölüm kümelerini seçtiğim sayıdır.
John Moeller

@JohnMoeller: üzgünüm, bunu tamamen yanlış anladım (“bir örneğin” bir türden fiziksel bir örnek olduğu bir alandan geliyor).
cbeleites, Monica

10

Elimdeki Fleiss kitabım yok, bu yüzden bütün bunlar IIRC.

Şu anki yorumlarda @ JohnMoeller'ın sorusuna cevap vermek: asıl soru olduğu gibi IMHO'nun yanıtı değil.

Bu yüzden 30 örneğim olduğunu ve her bir örnek için c1 ve c2'yi test ettiğimi ve her bir örnek için her birinin doğruluğunu kaydettiğimi varsayalım.

bunu yaparken, sınıflandırıcı 1'e karşı doğru / yanlış sınıflandırıcı 1'i veren 2 x 2 beklenmedik durum tablosu ile bitirdiniz. McNemar'ın testinin başlangıç ​​noktası budur . Dolayısıyla bu, “bağımsız” oranların karşılaştırılmasından daha güçlü olan (aynı sonlu örneklemden rastgele çizimden geliyorlarsa tamamen bağımsız olmayan) eşleştirilmiş bir karşılaştırma içindir.

Şu anda McNemar'ın "küçük baskısı" nı arayamıyorum, ancak 30 örnek fazla değil. Bu yüzden McNemar'dan Fisher'ın kesin testine (ya da binom olasılıklarını hesaplayan başka bir şeye) geçmek zorunda kalabilirsiniz .


Oranlar:
Bir ve aynı sınıflandırıcıyı 10x, 10 test vakasıyla mı yoksa bir kez tüm 100 vakalarla mı test etmeniz önemli değildir (2 x 2 tablosu sadece tüm test vakalarını sayar).

Orijinal sorudaki her bir sınıflandırıcı için 10 doğruluk tahmini, rastgele uzatma veya 10 kat çapraz doğrulama veya 10x önyükleme dışı bırakma ile elde edilirse, varsayım, genellikle her bir sınıflandırıcı için hesaplanan 10 vekil modelinin eşittir (= aynı doğruluğa sahip), bu nedenle test sonuçları bir araya getirilebilir *. 10 kat çapraz doğrulama için daha sonra test örneği boyutunun toplam test örneği sayısına eşit olduğunu varsayıyorsunuz. Diğer yöntemler için o kadar emin değilim: Aynı vakayı bir defadan fazla test edebilirsiniz. Verilere / sorun / uygulamaya bağlı olarak, bu, yeni bir durumu sınamak kadar bilgi anlamına gelmez.

k

knp^=knσ2(p^)=σ2(kn)=p(1-p)n


Ah tamam. En azından benim için işleri temizleyen son parça. Teşekkürler.
John Moeller

Yanıtınız için teşekkürler. Sadece takip edilecek prosedür konusunda net değil. Tek bir veri setinde 10 kat çapraz doğrulama yapıldığını söylüyorsunuz. Örnek 2'deki bir 2x2 karışıklık matrisi olan numunenin doğruluğunu ölçün. On 2x2 karışıklık matrisi ekleyin. McNemar'ın toplanmış 2x2 konfüzyon matriksindeki testini önceden yapın.
entropi

@entropi: 1. 2x2 beklenmedik durum tablosu karışıklık matrisi değildir. 2. her seferinde yeni örnek - her iki sınıflandırıcıyı aynı test verileri üzerinde test etme: eşleştirilmiş testler daha güçlüdür (ve burada mümkündür). Güncellenmiş cevaba bakınız.
cbeleites, Monica

Bunun için üzgünüm, beklenmedik durum tablosu. McNemar'ın testinin doğrudan çok sınıflı bir soruna da çevirdiğini söylemek doğru mudur?
entropi,

@cbeleites yanıtınız için çok teşekkürler !!! Sanırım şimdi sorularımı tam olarak cevapladın. Ancak, izlenecek kesin işlemi hala anlamadım. Sadece son paragrafta ayrıntılandırır mısınız?
entropi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.