K katlama çapraz doğrulaması kullanırken bir test setine ihtiyacımız var mı?


21

K-kat doğrulaması hakkında okuyordum ve nasıl çalıştığını anladığımdan emin olmak istiyorum.

Muhafaza yöntemi için, verilerin üç sete ayrıldığını ve test setinin yalnızca modelin performansını değerlendirmek için kullanıldığını, doğrulama setinin hiperparametreleri ayarlamak için kullanıldığını biliyorum.

K-katlama yönteminde, yine de son için bir test seti tutuyor muyuz ve kalan verileri yalnızca eğitim ve hiperparametre ayarı için mi kullanıyoruz, yani kalan verileri k katlarına böldük ve sonra eğitimden sonra ortalama doğruluğu kullanıyoruz her katla (veya hiperparametrelerimizi ayarlamayı seçtiğimiz performans metriği ne olursa olsun)? Yoksa ayrı bir test seti kullanmıyor muyuz ve sadece tüm veri kümesini k kıvrımlarına ayırmıyor muyuz (eğer durum buysa, k kıvrımlarındaki ortalama doğruluğu nihai doğruluğumuz olarak görüyoruz)?


3
Bu ne yapmak istediğinize bağlıdır. Genelleştirilmiş bir performans tahmini istiyorsanız, evet, model daha önce hiç görmediği veriler üzerinde testler yapmalıdır. Ancak bu, tek bir dağıtım yinelemesi olması gerektiği anlamına gelmez, aynı hedefe ulaşmak için yeniden örneklemeyi kullanabilirsiniz.
Firebug

2
... yani hiperparametre optimizasyonu / model ayarı için "doğrulama" sonuçlarını her kullandığınızda, bu ayardan bağımsız başka bir doğrulama aşamasına ihtiyacınız vardır. Her iki aşama için, örneğin çapraz doğrulama veya uzatma (veya önyükleme dışı veya ...) kullanabilirsiniz. CV + CV, iç içe CV olarak adlandırılır, bekletme + bekletme, bahsettiğiniz 3 set kurulumuna yol açar
cbeleites,

Yanıtlar:


9

K-Katlama yönteminde, yine de son için bir test seti tutuyor muyuz ve kalan verileri yalnızca eğitim ve hiperparametre ayarlaması için mi kullanıyoruz (yani, kalan verileri k katlarına böldükten sonra ortalama doğruluğu kullanıyoruz) hiperparametrelerimizi ayarlamak için her katla (veya seçtiğimiz performans metriğiyle) egzersiz yapmak?

Evet. Kural olarak, test seti asla modelinizi değiştirmek için kullanılmamalıdır (örn. Hiperparametreleri).

Bununla birlikte, çapraz validasyon bazen hiperparametre ayarı dışındaki amaçlar için kullanılabilir, örneğin tren / test bölümünün sonuçları ne ölçüde etkilediğinin belirlenmesi.


6
+1 ancak çapraz doğrulama + test kümesine alternatif olarak iç içe çapraz doğrulamadan bahsetmek isteyebilirsiniz.
amip: Reinstate Monica

1
"bazen hiperparametre ayarı dışındaki amaçlar için kullanılabilir". Örneğin, doğrulama amacıyla çapraz doğrulamayı kullanabilirsiniz (= genelleme hatasını ölçmek için bilinmeyen vakaları test etme).
cbeleites,

3

Genellikle evet. Temel olarak önyargı-varyans dengesinden bahsediyoruz. Modelinizi oluşturmak için veri kullanırsanız (eğitim ve doğrulama verileri) ve farklı hiperparametreler üzerinde yineleme yaparsanız ve ortalama bir performans metriğini en üst düzeye çıkarmaya çalışırsanız, modeliniz belirtildiği kadar iyi olmayabilir.

Bununla birlikte, özellikle küçük veri setlerinde ek bölünme daha da küçük bir eğitim setine ve kötü bir modelle sonuçlanabilir.


2
Bu soruya gerçek bir cevap değil.
Michael R. Chernick

Bunu, kabul edilen yanıta ve oldukça ayrıntılı yorumlara bir şeyler ekleyecek şekilde genişletebilir misiniz?
mdewey

1

İdeal olarak, doğrulama (model seçimi için) ve son test karıştırılmamalıdır. Bununla birlikte, k değeriniz yüksekse veya bir defada bırakılmışsa, model seçiminizi yönlendirmek için test sonucunu kullanmak daha az zararlıdır. Bu senaryoda, akademik bir makale yazıyorsanız, bunu yapmayın (açıklamak için zahmet etmediğiniz sürece) - yani her zaman ayrı bir test seti vardır. Pratik bir proje oluşturuyorsanız, bunu yapmak sorun değildir.

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.