Sınıflandırma performansını değerlendirmek için çapraz onaylama mı yoksa önyükleme mi?


24

Bir sınıflandırıcının belirli bir veri setindeki performansını değerlendirmek ve diğer sınıflayıcılarla karşılaştırmak için en uygun örnekleme yöntemi nedir? Çapraz onaylama standart bir uygulama gibi görünmektedir, ancak .632 önyükleme gibi yöntemlerin daha iyi bir seçim olduğunu okudum.

Bir takip olarak: Performans ölçütü seçimi cevabı etkiler mi (doğruluk yerine AUC kullanırsam)?

Nihai hedefim, belirli bir veri kümesi için bir makine öğrenim yönteminin diğerinden daha üstün olduğunu bir güvenle söyleyebiliriz.


1
Bootstrap (değiştirme ile), egzersiz verileri setinizde, örneğin (tekrarlanan) k-kat çapraz doğrulama yerine kullanılabilir. Ayrıca bakınız: Öngörü hatasını tahmin etmek için çapraz doğrulama ve önyükleme arasındaki farklar , Doğrulama ve model seçimi için önyüklemeyi anlama .
chl

Yanıtlar:


42

Alışılagelmiş yolla çapraz doğrulama ve önyükleme dışı yöntemlerin uygulanma biçimindeki önemli bir fark, çoğu kişinin yalnızca bir kez çapraz doğrulama uygulamasıdır (yani, her bir vaka tam olarak bir kez test edilir); tekrarların / yinelemelerin. Bu durumda, çapraz doğrulama, model kararsızlığından dolayı daha yüksek değişikliklere tabidir. Bununla birlikte, örneğin yinelenen / tekrarlanan kat çapraz doğrulama kullanılarak bu önlenebilir . Bu yapılırsa, en azından birlikte çalıştığım spektroskopik veri kümeleri için, her iki yeniden örnekleme şemasının toplam hatası pratikte aynı görünüyor.k

Model dengesizlik tipi varyansı azaltma imkanı olmadığı ve büyük bir karamsar önyargı sergilediği bazı sınıflandırıcılar ve problemler olduğu için, bir kez dışarıda bırakılan çapraz onaylama önerilmez.

.632 önyükleme, karışık olan yeniden örnekleme hatası çok iyimser yanlı olmadığı sürece makul bir iş çıkarır. (Örneğin, çalıştığım veriler için, çok sayıda değişken içeren çok geniş matrisler, modeller ciddi şekilde aşırı yüklenmeye eğilimli olduğu için çok iyi çalışmaz). Bu ayrıca , değişen karmaşıklıktaki modelleri karşılaştırmak için .632 önyükleme kullanmaktan kaçınmam anlamına geliyor . .632+ önyükleme ile deneyimim yok: fazladan takma gerçekleşir ve uygun şekilde algılanırsa, orijinal önyükleme dışı tahminine eşit olur, bu nedenle verilerim için düz obje veya yinelenen / tekrarlanan çapraz onaylama uygularım.

Edebiyat:

  • Kohavi, R. .: Doğruluk Tahmini ve Model Seçimi için Doğrulama ve Önyükleme Öncesi Bir Çalışma Yapay Zeka Bildirileri 14. Uluslararası Ortak Konferans, 20 - 25 Ağustos 1995, Montréal, Québec, Kanada, 1995, 1137 - 1145.
    (klasik )

Dougherty ve Braga-Neto’nın konuyla ilgili çok sayıda yayını var , örneğin

Metrik seçimi:

Nihai hedefim, belirli bir veri kümesi için bir makine öğrenim yönteminin diğerinden daha üstün olduğunu bir güvenle söyleyebiliriz.

  • Bunu değerlendirmek için eşleştirilmiş bir test kullanın. Oranları karşılaştırmak için McNemar'ın testine bakın.

  • Bunun cevabı, metrik seçiminden etkilenecektir. Regresyon tipi hata ölçütleri, eşikli kararların “sertleştirici” adımına sahip olmadığından, genellikle sınıflandırma meslektaşlarına göre daha az farklılık gösterirler. Temelde orantılı olan doğruluk gibi ölçütler , bir sınıflandırıcının diğerine üstünlüğünü sağlamak için çok sayıda test vakasına ihtiyaç duyacaktır .

Fleiss: "Oranlar ve oranlar için istatistiksel yöntemler", oranların eşleştirilmemiş karşılaştırılması için örnekler (ve tablolar) verir . "Büyük örneklem büyüklükleri" ile neyi kastettiğimin bir izlenimini vermek için, bu diğer soruya cevabımdaki resme bir bakın . McNemar gibi eşli testler daha az test vakasına ihtiyaç duyar, ancak IIRC hala en iyi durumda, eşleştirilmemiş test için gerekli olan örneklem büyüklüğünün yarısı (?).

  • Bir sınıflandırıcının performansını (sertleştirilmiş) karakterize etmek için, genellikle ROC (duyarlılığa karşı özgüllük) veya benzeri gibi en az iki değerden oluşan bir çalışma eğrisine ihtiyacınız vardır .
    Uygulamalarım genellikle kısıtlamalara sahip olduğundan, örneğin hassasiyetin spesifiklikten daha önemli olduğu veya bu önlemler üzerindeki belirli sınırların yerine getirilmesi gerektiği için, genel olarak doğruluk veya AUC kullanırım. "Tek sayı" toplam özellikleri için giderseniz, baktığınız modellerin çalışma noktasının gerçekten makul bir aralıkta olduğundan emin olun.

  • Referans sınıflarına göre birkaç sınıfın performansını özetleyen doğruluk ve diğer performans ölçümleri için, uygulamada karşılaşacağınız sınıfların göreceli sıklığını dikkate aldığınızdan emin olun - ki bu sizin uygulamanızla aynı olması gerekmez. eğitim veya test verileri.

  • Provost, F. ve ark. : Uluslararası Beşinci Uluslararası Makine Öğrenimi Konferansı Bildirilerinde İndüksiyon Algoritmalarının Karşılaştırılmasında Doğruluk Tahminine Karşı Bir Durum, 1998


düzenleme: çoklu sınıflandırıcıları karşılaştırma

Bir süredir bu problemi düşünüyordum ama henüz bir çözüme ulaşmadım (ya da çözümü olan biriyle de tanışmadım).

İşte şimdiye dek sahip olduğum şey:

Şimdilik, "optimizasyonun tüm kötülüklerin kökeni" olduğuna karar verdim ve bunun yerine çok farklı bir yaklaşım benimsedim:
Eldeki sorunla ilgili uzman bilgisiyle olabildiğince karar verdim. Bu aslında işleri biraz daraltmanıza izin veriyor, bu yüzden model karşılaştırmadan sıklıkla kaçınabilirim. Modelleri karşılaştırmam gerektiğinde, insanlara performans tahmininin belirsizliğini hatırlatan çok açık ve net olmaya çalışıyorum ve özellikle çoklu model karşılaştırmasının AFAIK olduğunu hala çözülmemiş bir sorun olarak görüyorum.


Düzenleme 2: eşleştirilmiş testler

Arasında modelleri, yapabileceğiniz (masif çoklu karşılaştırma durumdur) iki farklı modeller arasında karşılaştırmalar, düzgün bunu nasıl bilmiyorum. Ancak, eşleştirilmiş1n12(n2n)Testin sadece, tüm modellerin aynı test durumlarıyla aynı şekilde test edilmesi nedeniyle, bir yandan tüm modellerin doğru bir şekilde (veya yanlış) tahmin. Modeller arasında ayrım yapmaya yardımcı olmazlar. Diğer yandan, bazıları tarafından doğru tahmin edilen, ancak diğer modeller tarafından doğru olmayan "ilginç" durumlar vardır. Sadece bu "ilginç" durumların üstünlüğü değerlendirirken dikkate alınması gerekir, ne "kolay" ne de "zor" davalar buna yardımcı olmaz. (McNemar'ın testinin arkasındaki fikri bu şekilde anlıyorum).

modeller arasındaki kitlesel çoklu karşılaştırmalar için , sanırım bir problem, eğer çok şanslı olmadığınız sürece, daha az modeli karşılaştırdığınızda, daha fazla kaygının dışında tutabileceğiniz daha az sayıda model karşılaştırırsınız: genel performans, daha az ve daha az olası hale gelir olmak kadar bir durumda uçlarının her zaman doğru bir şekilde (ya da her zaman yanlış bir şekilde) tarafından tahmin modelleri.nnn


Cevabınız için teşekkürler! Yaptığınız noktayı detaylandırabilirseniz çok sevinirim: " Bunu değerlendirmek için eşleştirilmiş bir test kullanın. Oranları karşılaştırmak için, McNemar'ın testine bir bakın. " Sorumu hafifçe yeniden ifade etmeliyim: Birkaç makineyi karşılaştırmak istiyorum. bir kerede öğrenme yöntemleri, mutlaka sadece çiftler değil. Eşli testlerin bunu nasıl başarabildiği bana hemen belli değil.
kelvin_11 26:13

3
(+6) Güzel tepki.
chl

@cbeleites Bu yorum için seni seviyorum. Çoklu model karşılaştırmasının önemi için - peki ya varyans analizi (ANOVA) yöntemleri? gibi , Kruskal-Wallis ?
Serendipity,

1
@Serendipity: Burada size bir cevap verecek Kruskal-Wallis hakkında yeterince bilgim yok. Ancak ANOVA benzeri yöntemlerin burada istenildiği gibi olmadığından şüpheleniyorum (1) verinin eşleştirilen doğasını kullanmıyor ve (2) çoklu karşılaştırmalara göre güç kazanıyor çünkü boş hipotez sadece "tüm modeller" eşit olarak gerçekleştir "- eğer reddedilirse, hangi algoritmaların farklı performans gösterdiğini hala bilmiyorsunuz . Bu yüzden yalnızca olumsuz sonuçları vurgulamak için kullanılabilir (hangi algoritmayı seçtiğiniz önemli değildir).
ANOVA'nın

... eşittir, ancak daha iyi modelleri tanımlamak için gereken çoklu karşılaştırmalara izin verecek kadar bilginiz yok.
cbeleites, Monica

6

Sadece orijinal araştırmada süreksiz bir uygunsuz puanlama kuralı (oran doğru şekilde sınıflandırılmış) kullandığı için önyükleme şeridinde (.632, .632+) değişiklik yapmanız gerekir. Diğer doğruluk puanları için sıradan iyimserlik önyüklemesi iyi çalışma eğilimindedir. Daha fazla bilgi için bkz. Http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

Uygun olmayan puanlama kuralları sizi özelliklerin seçimi ve ağırlıkları konusunda yanıltmaktadır. Başka bir deyişle, yanlış gidebilen her şey yanlış gidecektir.


4

Gönderen 'Uygulamalı Öngörülü Modelleme., Khun. Johnson . s.78

"Hiçbir yeniden örnekleme yöntemi diğerinden daha iyi değildir; çeşitli faktörler göz önüne alındığında seçim yapılmalıdır. Örnek boyutu küçükse, birkaç nedenden dolayı tekrarlanan 10 kat çapraz doğrulama kullanılmasını öneririz; önyargı ve varyans özellikleri iyidir ve verilen örneklem büyüklüğü, hesaplama maliyetleri büyük değildir .. Amaç, en iyi performans göstergesinin elde edilmesinin aksine, modeller arasında seçim yapmaksa, bunlar çok düşük varyansa sahip olduklarından önyükleme prosedürlerinden birini kullanmak için güçlü bir durum yapılabilir. Büyük örneklem büyüklükleri için, yeniden örnekleme yöntemleri arasındaki farklar daha az belirginleşir ve hesaplama verimliliği performansta artar. " s. 78

Ek olarak, iki benzer sonucun seçimi göz önüne alındığında, daha yorumlanabilir model genellikle tercih edilir. Örnek olarak (aynı metinden), 10 kat CV kullanarak, bir SVM sınıflandırıcısı yeniden örnekleme sonuçlarıyla% 66 ila 82 arasında bir tahminle% 75 kesinliğe sahipti. Aynı parametreler,% 74.9 doğruluk ve aynı yeniden örneklem aralığında bir lojistik regresyon sınıflandırıcısında kullanıldı. Basit lojistik regresyon modeli, sonuçları yorumlamak daha kolay olduğu için tercih edilebilir.


4
Çok sayıda önyükleme / çapraz doğrulama yinelemeleri / tekrarları çalıştırarak azaltabileceğiniz varyansın yalnızca taşıyıcı modellerin kararsızlığından kaynaklanan varyansın bir parçası olduğunu unutmayın. Bunun toplam varyansa önemli bir katkısı olup olmadığını, her bir çalışma sırasında her numuneyi tam olarak bir kez test ettiğinde çapraz doğrulama ile ölçebilirsiniz, böylece sonlu örneklem boyutuna bağlı varyans, tam çapraz doğrulama çalışmalarının ortalamalarının karşılaştırılmasında görünmez . "Sert" sınıflandırma için, sonlu örneklem büyüklüğünden dolayı binom dağılımından kaynaklanan farkı hesaplayabilirsiniz.
cbeleites, 21

@cbeleites: Lütfen ne demek istediğinizi biraz açıklayabilir misiniz? "her çalışma sırasında her örneği tam olarak bir kez test eder, bu nedenle sonlu örneklem boyutuna bağlı varyans, tam çapraz doğrulama işlemlerinin ortalamalarının karşılaştırılmasında görünmez." (referanslar da iyidir!) (açıkça +1)
us11r11852 0: 20'de Reinstate Monic

@ us11112: her bir vaka, çapraz doğrulama çalışması başına tam olarak bir kez test edilir. N_sample xr CV run sonuçları tablosunu hayal edin. Eğer istikrarlı tahminlerimiz varsa , aynı durum için tüm tahminler aynıdır. Yani, sıralar boyunca hiçbir fark yoktur. Ancak farklı durumlar farklı tahminler alabilir (örneğin,% 100 doğruluk oranımız olmadığı sürece): sütunlar boyunca farklılık gösteririz. Şimdi yinelenen / tekrarlanan çapraz değerlemenin standart değerlendirmesi sütun ortalamalarını karşılaştırmaktır. İstikrarlı modelleri için, bu bile olsa, tam olarak aynıdır yapmak dava arasında yani sütunlar boyunca varyansı var.
cbeleites, Monica

(Modeller / tahminler kararsızsa, farklı vekil modellerle farklı tahminler alıyoruz ve sıralar arasındaki farklılığı görüyoruz. Ayrıca, k-katlamalı CV'deki her sütun k farklı vekil modellerini kapsadığı için sütunlar boyunca bazı ek farklılıklar görüyoruz. ) Dolayısıyla, model / tahmin (in) stabilitesini ölçmek için, doğrudan sıralar arasındaki değişime, yani aynı durum için farklı taşıyıcı modellerin tahminlerinin varyansına gitmek daha doğrudandır .
cbeleites, Monica

1
@cbeleites: Açıklama için çok teşekkür ederim. Artık daha fazla kazandığın noktayı takdir edebilirim.
usεr11852 Reinstate Monic diyor
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.