Bire bir arada bırakılma çapraz doğrulama nasıl çalışır? farklı modelden son model nasıl seçilir ?


25

Bazı verilerim var ve bu verilerden bir model oluşturmak (doğrusal bir regresyon modeli demek) istiyorum. Bir sonraki adımda, modele Model Bir-Out-Out-Cross-Validation (LOOCV) uygulamak istiyorum;

LOOCV'nin doğru olduğunu anladıysam, bu örnek dışındaki her örneği (eğitim seti) kullanarak, numunelerimin her biri için (test seti) yeni bir model oluşturdum. Daha sonra modeli test setini tahmin etmek ve hataları hesaplamak için kullanıyorum .(predictedactual)

Bir sonraki adımda, seçilen bir işlev kullanılarak oluşturulan tüm hataları birleştiririm, örneğin ortalama kare hatası. Bu değerleri, modelin kalitesini (veya uygunluğunu) değerlendirmek için kullanabilirim.

Soru: Bu kalite değerleri hangi model için geçerlidir, LOOCV'dan oluşturulan metrikleri benim durumum için uygun bulursam hangi modeli seçmeliyim? LOOCV farklı modellere baktı (burada , örneklem büyüklüğüdür); hangi modeli seçmeliyim?nn

  • Tüm örnekleri kullanan model mi? Bu model LOOCV sürecinde asla hesaplanmadı!
  • En az hataya sahip model mi?

Yanıtlar:


24

Çapraz doğrulamayı, modelin kendisinden ziyade belirli bir prosedürle üretilen modellerin genelleme performansını tahmin etmenin bir yolu olarak düşünmek en iyisidir. Biri dışarıda bırakma çapraz doğrulama, esasen veri örnekleri üzerinde eğitilmiş bir modelin genelleştirme performansının bir tahminidir; bu, genellikle örnekleri üzerinde eğitilen bir modelin performansının biraz karamsar bir tahminidir .n1n

Bir model seçmekten ziyade, yapılacak iş, modeli tüm verilere uydurmak ve bu modelin performansının biraz muhafazakar bir tahminini sağlamak için LOO-CV kullanmaktır.

Bununla birlikte, LOOCV'nin yüksek bir varyansa sahip olduğuna dikkat edin (farklı bir rasgele veri örneği kullanırsanız alacağınız değer çok değişir), bu da performans değerlendirmesi için genellikle yaklaşık tarafsız olsa da, çoğu zaman kötü bir tahmin edici seçimi yapar. Model seçimi için her zaman kullanıyorum, ancak gerçekten ucuz olduğu için (üzerinde çalıştığım çekirdekli modeller için neredeyse ücretsiz).


Cevap için teşekkürler. Cümle "bu modelin performansının biraz muhafazakar bir tahminini sağlamak için LOO-CV kullanın." Genel dava yanlış mı? Başka bir nokta eklersem, model daha da kötüye gidebilir, bu durumda LOO-CV bir olabilir. iyimser tahmin
theomega

1
Modeli oluşturmak için ne kadar veri kullanırsanız, modelin olması muhtemeldir. Ek nokta modeli biraz daha kötü hale getirse de, modeli biraz daha iyi hale getirme olasılığı daha yüksektir. Bu nedenle genel olarak loocv'un hafif karamsar bir önyargısı vardır, ancak sadece çok hafiftir, LOOCV tahmincisinin varyansı genellikle çok daha fazla dikkate alınır.
Dikran Marsupial

Ne olmalıdır sonra performans değerlendirmesi için kullanabilir? (Veri toplamanın pahalı olduğunu varsayarsak modele uyması için mevcut tüm verileri kullanmak istersiniz).
Sideshow Bob

Önyükleme muhtemelen. Kullandığım modellerin çoğunun ayarlanması gereken normalleştirme parametreleri vb. Var, bu yüzden genellikle modelleri ve önyükleme şeritlerini ayarlamak için LOOCV veya performans değerlendirmesi için tekrar tekrar tutma işlemlerini sık sık kullanıyorum.
Dikran Marsupial

@DikranMarsupial Leave-One-Out CV'nin kötümser bir önyargı sağladığından emin misiniz? Bildiğim kadarıyla, örneğin, genellikle K Katlamadan daha düşük hata tahmini sağlıyor. Ayrıca, LOOCV 0 varyansı yok mu? LOOCV’yi sadece bir kez yapabilir, sonra “örnek bitti” diyebilirsiniz. Aklıma gelen tek varyans, modele uyması için kullanılan eğitim algoritmaları tarafından üretilmiş olandır. Ancak bu, model hatasının kendisiyle değil, optimal parametrelerin varyansıyla ilişkilendirilen bir varyans olmalıdır. Teşekkür ederim.
D1X
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.