Araştırmada yüksek doğrulama doğruluğu ancak düşük test doğruluğu varsa ne olur?


15

Makine öğrenimi araştırmalarında doğrulama hakkında özel bir sorum var.

Bildiğimiz gibi, makine öğrenme rejimi araştırmacılardan modellerini eğitim verileri üzerinde eğitmelerini, doğrulama seti ile aday modeller arasından seçim yapmalarını ve test setinde doğruluğunu bildirmelerini ister. Çok titiz bir çalışmada, test seti sadece bir kez kullanılabilir. Bununla birlikte, asla araştırma senaryosu olamaz, çünkü bir makaleyi yayınlayabilmemiz (hatta gönderebilmemiz) için test doğruluğu en son teknoloji sonuçlardan daha iyi olana kadar performansımızı iyileştirmemiz gerekir.

Şimdi sorun geliyor. Diyelim ki% 50 en son teknoloji ürünü ve modelim genellikle ortalama 50 - 51 doğruluk elde edebiliyor.

Bununla birlikte, en iyi doğrulama doğruluğum (% 52) çok düşük bir test doğruluğu, örneğin% 49 verir. Daha sonra, umudum olmadığını düşündüğüm doğrulama akreditasyonunu daha da geliştiremezsem, genel performansım olarak% 49'u rapor etmeliyim. Bu gerçekten problemi incelememi engelliyor, ama akranlarım için önemli değil, çünkü% 52 oranında bir acc görmüyorlar, ki bu bir aykırı olduğunu düşünüyorum.

Peki, insanlar genellikle araştırmalarında ne yapar?

ps k-katlama validasyonu hiçbir işe yaramıyor çünkü aynı durum yine de olabilir.

Yanıtlar:


9

Tanım olarak, egzersiz doğruluğu (veya kullandığınız metrik ne olursa olsun) testinizden daha yüksek olduğunda, bir overfit modeliniz olur . Temel olarak, modeliniz daha büyük veri popülasyonu için geçerli olmayan ve bu nedenle daha kötü performansa neden olan egzersiz verilerinizde daha iyi performans göstermesine yardımcı olan özellikleri öğrenmiştir.

K-katlama doğrulamasının neden faydalı olmayacağını söylemediğinizden emin değilim. Amacı, modellerinizin aşırı takılmasını önlemeye yardımcı olmaktır. Belki yeterli veriye sahip değilsiniz? Böyle bir ifade, özellikle de bu tür çapraz doğrulama yöntemleri şiddetle tavsiye edildiğinde herhangi bir araştırmayı savunacaksanız önemlidir.

Test setini sadece bir kez kullanamayacağınızı söylüyorsunuz (yine daha küçük örnek boyutu varsayıyorum?). Deneyimlerime göre, izlenen en yaygın yol, modelinizin k-kat çapraz doğrulamasıdır. 100 örnek boyutu için 10 kat CV ile bir örnek alalım ve sınıflandırma probleminizin hesaplamaları basitleştirmek için ikili olduğunu varsayalım. Bu yüzden verilerimi 10 farklı kıvrımlara ayırdım . Daha sonra modelimi 9/10 katlara sığdırıyorum ve daha sonra dışarıda bıraktığım 1/10'u tahmin ediyorum. Bu ilk çalışma için ortaya çıkan karışıklık matrisi:

    0  1
0   4  1
1   2  3

Daha sonra bir sonraki 1/10 kat dışarıda bırakılarak bu analizi tekrar ediyorum ve diğer 9/10 üzerinde antrenman yapıyorum. Ve bir sonraki karışıklık matrisimi al. Tamamlandığında, 10 karışıklık matrisim var. Daha sonra bu matrisleri toplardım (bu yüzden 100 numunenin tümünü tahmin ettim) ve sonra istatistiklerimi rapor ettim (Doğruluk, PPV, F1 skoru, Kappa, vb.). Doğruluk istediğiniz yerde değilse başka birçok olasılık daha vardır.

  1. Modelinizin geliştirilmesi gerekiyor (parametreleri değiştirin)
  2. Farklı bir makine öğrenimi algoritması denemeniz gerekebilir (tüm algoritmalar eşit oluşturulmaz)
  3. Daha fazla veriye ihtiyacınız var (bulmak zor ince ilişki)
  4. Verilerinizi dönüştürmeyi denemeniz gerekebilir (kullanılan algoritmaya bağlı olarak)
  5. Bağımlı ve bağımsız değişkenleriniz arasında bir ilişki olmayabilir

Mesele şu ki, eğitiminizden daha düşük bir test metriği (örn. Doğruluk), yeni bir öngörücü model oluşturmaya çalışırken modelinize aşırı bir uyum sağlamanın bir göstergesidir.


Yanıtladığınız için teşekkürler. İlgilendiğim şey, makine öğrenme tekniklerini uygulamak yerine yayınlar için makine öğrenimi araştırması. Çoğu zaman, karşılaştırmalar standart eğitim, doğrulama ve test setlerini sağlar. Ayrıca, k-katlama sadece varyansı azaltır. Yine de (ortalama) doğrulama numaramın bulunduğu durumla karşılaşabilirim. yüksek ama test acc. düşük.
Mou

Modelimi biraz yeniden tasarlarsam, aykırı görmezden gelebilirim çünkü modelim (ve böylece hipotez sınıfı) değişir, ancak hiperparametreleri ayarlamak için işe yaramaz, çünkü hipotezden bir model seçiyoruz sınıf. Ancak, aslında, biz araştırmacılar, belirsiz bir hipotez sınıfına sahibiz - istediğimizi deniyoruz. Bu, araştırma sırasında beni gerçekten rahatsız ediyor, çoğu zaman, doğruluk farkı genellikle çok küçüktür, örneğin% 0,1.
Mou

@Mou, sanırım birincil sorunuzun ne olduğundan hala emin değilim. Birden fazla soru var gibi görünüyor. Aykırı değerlerle başa çıkmak farklı bir konudur. Parametreleri optimize etmeye mi yoksa son bir modeli mi değerlendirmeye çalışıyorsunuz? Bu, farklı alanlara özgü olabilir, ancak% 0.1'lik değişiklikler oldukça önemsizdir. Cevabımda listelenen seçenekleri takip edebilir veya sadece mevcut model ve verilerden çok fazla şey alabileceğinizi kabul edebilirsiniz. Model hala biraz fazla görünüyor (biraz da olsa).
cdeterman

Size katılıyorum. Modelimin o kadar iyi olmadığını kabul etmeliyim. Ama birkaç gün önce, yüksek cv acc. + düşük test acc. Ekranıma atlamamıştı, modelim dünyanın en iyisiydi. Şimdi, hiçbir şeyi değiştirmeme rağmen. Dahası, araştırmamı engelleyen CV acc.
Mou

Sayıların değişmesi için bir şey değiştirmiş olmanız veya seedyeniden üretilebilirliği hesaba katmak için ayarlamamış olduğunuz bazı rasgeleleştirmeler olmalıdır . CV prosedürünüzün tekrarlandığında biraz farklı sonuçlar döndürebileceği bazı randomizasyonlara sahip olduğundan şüpheleniyorum (ancak bu sadece bir tahmin). Performansınızı artırmak ve denemek için diğer bazı modelleri veya veri dönüşümünü keşfetmenizi gerçekten öneririm.
cdeterman
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.