Neden hem doğrulama kümesini hem de test kümesini kullanmalıyım?


18

Bir sinir ağını düşünün:

Belirli bir veri kümesi için, bunu eğitim, doğrulama ve test kümesine böleriz. Klasik 60:20:20 oranında yaptığımızı varsayalım, o zaman ağı doğrulama kümesinde kontrol ederek doğrulayarak aşırı sığmayı önlüyoruz. O zaman performansını kontrol etmek için test setinde test etme ihtiyacı nedir?

Test setindeki hata, ağ için geçerli olan doğrulama seti ile aynı olmayacak mı, tıpkı doğrulama seti gibi görünmeyen bir veri ve her ikisi de aynı sayıda mı?

Bunun yerine, daha fazla eğitim verisine sahip olmamız ve ağ trenlerinin daha iyi olmasını sağlamak için test setini birleştirerek eğitim setini artıramıyor ve ardından aşırı sığmayı önlemek için doğrulama setini kullanamıyor muyuz? Bunu neden yapmıyoruz?


4
Aynı olmasını istersiniz, ancak emin olamazsınız çünkü hiperparametre optimizasyonu ve erken durma için dokundunuz, bu yüzden bakire bir test setine ihtiyacınız var.
Emre

@Emre Ancak ağırlıklar validasyon setine değil, eğitim setine göre ayarlanacaktır, bu nedenle test ve validasyon setindeki sonuç farklı olmamalıdır.
user1825567

Hayır, eğitim setine göre ayarlanmazlar. Bu normal parametreler içindir.
Emre

Yanıtlar:


24

Diyelim ki performansı bir dizi hiperparametreye bağlı olan bir model geliştiriyorsunuz. Bir sinir ağı söz konusu olduğunda, bu parametreler örneğin öğrenme oranı ya da eğitim tekrarlarının sayısı olabilir.

Bir dizi hiperparametre değeri verildiğinde , modeli eğitmek için egzersiz setini kullanırsınız. Ancak, hiperparametreler için değerleri nasıl ayarlarsınız? Yani ne doğrulama seti içindir. Modelinizi, farklı hiperparametre değerleri kombinasyonları için (örneğin bir ızgara arama işlemi aracılığıyla) değerlendirmek ve en iyi eğitilmiş modeli korumak için kullanabilirsiniz.

Ancak, seçtiğiniz model diğer farklı modellerle nasıl karşılaştırılır? Sinir ağınız, aynı eğitim / test verileri kombinasyonu ile eğitilmiş rastgele bir ormandan daha iyi performans gösteriyor mu? Doğrulama kümesine göre karşılaştırma yapamazsınız çünkü doğrulama kümesi modelinizin uyumunun bir parçasıydı. Hiperparametre değerlerini seçmek için kullandınız!

Test seti size eğitim / hyperparameter seçim sürecinin herhangi bir bölümünde kullanmak değildi verilerinde karşılaştırmaları dayandırarak, tarafsız bir şekilde farklı modeller karşılaştırabilirsiniz.


11

Test seti ve çapraz doğrulama setinin farklı amaçları vardır. İkisinden birini düşürürseniz faydalarını kaybedersiniz:

  • Çapraz doğrulama seti, aşırı uydurmanın algılanmasına ve hiper parametre aramasına yardımcı olmak için kullanılır.

  • Test seti modelin performansını ölçmek için kullanılır.

Modelinizin performansını doğru bir şekilde ölçmek için çapraz doğrulama kümesini kullanamazsınız, çünkü parametrelerinizin belki de yüzlerce varyasyonu boyunca sonuçlarınızı mümkün olan en iyi metriği elde etmek için bilinçli olarak ayarlayacaksınız . Çapraz doğrulama sonucunun bu nedenle çok iyimser olması muhtemeldir.

Aynı nedenden ötürü, çapraz doğrulama setini düşüremez ve hiper parametreleri seçmek için test setini kullanamazsınız, çünkü o zaman modelinizin ne kadar iyi olduğunu tahmin etmeniz neredeyse garantilidir. İdeal dünyada, test setini sadece bir kez veya farklı deneyleri karşılaştırmak için "nötr" bir şekilde kullanırsınız.

Geçerliliği doğrularsanız, en iyi modeli bulursanız, eğitmek için test verilerini ekleyin, modeliniz mümkün olabilir (ve bazı durumlarda büyük olasılıkla). Bununla birlikte, bunun gerçekten olup olmadığından emin olmanın hiçbir yolu yoktur ve olsa bile, yeni performansın ne olduğuna dair tarafsız bir tahmininiz yoktur.

Birçok Kaggle yarışmasına tanık olmaktan, deneyimim, test setini aşırı kullanmakla ayarlamak gerçek bir şeydir ve bu yarışmaları büyük bir şekilde etkilemektedir. Genel liderlik tablosuna tırmanan ve testte en iyi modellerini seçen bir grup yarışmacı vardır (genel liderlik tablosu etkili bir şekilde bir test setidir), ancak çapraz doğrulamaları konusunda çok kapsamlı değildir. . . bu yarışmacılar sonunda yeni bir test seti eklendiğinde skor tablosunu düşürür.

Makul bir yaklaşım, testten önce bulduğunuz hiper-paramları kullanarak verileri yeniden eğitmek için yeniden kullanmak (tren + cv). Bu şekilde daha fazla veri üzerinde eğitim alırsınız ve sonunda bağımsız bir performans ölçüsü elde edersiniz.

Çapraz doğrulamadan daha fazla yararlanmak istiyorsanız, olağan yaklaşım k-kat çapraz doğrulamadır . Kaggle yarışmalarında ortak bir hile, k-kat çapraz doğrulamayı kullanmak ve cv sonuçlarını bir meta-modelde birleştirmek veya yığınlamak için verileri daha büyük (tren + cv) bir eğitim setinde yeniden birleştirmek yerine kullanmaktır.

Son olarak, her zaman doğrulama ve test bölümlerinizin veri kümenizdeki olası korelasyona karşı sağlam olup olmadığını kontrol edin.


1
"veri kümenizdeki olası korelasyona karşı sağlam" ile ne demek istersiniz?
user6903745
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.