Yuvalanmış çapraz doğrulama ne zaman gereklidir ve pratik bir fark yaratabilir mi?


36

Model seçimi yapmak için (örneğin; hiperparametre ayarı gibi) ve en iyi modelin performansını değerlendirmek için çapraz doğrulama kullanılırken, iç içe çapraz doğrulama kullanılmalıdır . Dış döngü modelin performansını değerlendirmek içindir ve iç döngü en iyi modeli seçmektir; Model her bir dış eğitim setinde (iç CV halkası kullanılarak) seçilir ve performansı ilgili dış test setinde ölçülür.

Bu, birçok konuda tartışılmış ve açıklanmıştır (örneğin, burada, örneğin , Doğrulama Sonrası Tam Veri Kümesiyle Eğitim? Hem model seçimi hem de performans tahmini için yalnızca basit (iç içe geçmemiş) bir çapraz doğrulama yapılması, olumlu bir önyargılı performans tahmini sağlayabilir. @DikranMarsupial tam olarak bu konu hakkında 2010 tarihli bir makaleye sahiptir ( Bölüm Seçimi ile Model Seçiminde Aşırı Uygunluk ve Performans Değerlendirmede Sonraki Seçim Yanılgısı ), Bölüm 4.3 Model Seçiminde Aşırı Uygun mu? - ve yazı cevabın Evet olduğunu gösteriyor.

Bunların hepsi söyleniyor, şimdi çok değişkenli çoklu sırt regresyonu ile çalışıyorum ve basit ve iç içe geçmiş CV arasında bir fark göremiyorum ve bu durumda iç içe geçmiş CV de gereksiz bir hesaplama yüküne benziyor. Sorum şu: Hangi koşullar altında basit CV, iç içe geçmiş CV ile önlenebilecek dikkat çekici bir önyargı sağlar? Yuvalanmış CV ne zaman pratikte önemlidir ve ne zaman bu kadar önemli değil? Herhangi bir kural var mı?

İşte gerçek veri setimi kullanarak bir örnek. Yatay eksen, sırt regresyonu için . Dikey eksen çapraz doğrulama hatası. Mavi çizgi, basit (iç içe geçmemiş) çapraz doğrulamaya karşılık gelir, 50 rastgele 90:10 eğitim / test bölümü ile. Kırmızı çizgi, λ'nin bir iç çapraz doğrulama döngüsü (ayrıca 50 rastgele 90:10 bölme) ile seçildiği 50 rastgele 90:10 eğitim / test bölmesiyle iç içe çapraz doğrulamaya karşılık gelir . Çizgiler 50'nin üzerinde rasgele bölünme anlamına gelir, gölgeler ± 1 standart sapma gösterir.log(λ)λ±1

Basit vs iç içe çapraz doğrulama

λλ

Güncelleştirme

Aslında olan vaka :-) Bu fark küçük sadece budur. İşte yakınlaştırmak:

Basit vs iç içe çapraz doğrulama, yakınlaştırma

λ=0.00250

Basit vs iç içe çapraz doğrulama, farklar

λ=0.002

(Tüm prosedürü birkaç kez koştum ve her seferinde oluyor.)

Sorum şu ki, hangi koşullar altında bu önyargının minik olmasını bekleyebiliriz ve hangi koşullar altında olmamalıyız?


Diyagramı anladığımdan pek emin değilim, her eksende iç içe ve iç içe çapraz doğrulamadan kaynaklanan tahmini hatayı gösteren bir dağılım grafiği oluşturabilir misiniz (50 test eğitimi bölmesinin her seferinde aynı olduğu varsayılarak)? Kullanmakta olduğunuz veri kümesi ne kadar büyük?
Dikran Marsupial

1
Dağılım grafiğini oluşturdum, ancak bütün noktalar köşegenine çok yakın ve herhangi bir sapmayı ayırt etmek zor. Bunun yerine, basit CV hatasını (optimal lambda için) yuvalanmış CV hatasından çıkardım ve tüm antrenman testlerinde bölüştürdüm. Çok küçük ama göze çarpan bir önyargı var gibi görünüyor! Güncellemeyi yaptım. Rakamlar (veya açıklamalarım) kafa karıştırıcıysa bana bildirin, bu yazının net olmasını istiyorum.
amip diyor Reinstate Monica

İlk paragrafta, her bir dış eğitim setinde model seçili durumdadır ; belki olması gerektiği inner- yerine?
Richard Hardy

@ RichardHardy Hayır. Ancak bu cümlenin çok net bir şekilde formüle edilmediğini görebiliyorum. Her dış egzersiz setinde model "seçilir". Farklı modeller (örn. Farklı lambdalı modeller) her iç antrenman setine uyar , iç test setlerinde test edilir ve daha sonra tüm dış antrenman setine göre modellerden biri seçilir . Performansı daha sonra dış test seti kullanılarak değerlendirilir. Mantıklı geliyor?
amip diyor Reinstate Monica

Yanıtlar:


13

Önyargının, model seçim ölçütünün varyansına bağlı olduğunu, sapma ne kadar yüksekse, önyargının o kadar yüksek olacağını düşünüyorum. Model seçim ölçütünün varyansı iki temel kaynağa sahiptir, değerlendirildiği veri setinin boyutu (eğer küçük bir veri setiniz varsa, önyargı büyük olasılıkla daha büyüktür) ve istatistiksel modelin kararlılığı üzerine Model parametreleri mevcut eğitim verileriyle iyi tahmin edilmektedir, modelin hiper parametrelerini ayarlayarak model seçim kriterine uyması için daha az esneklik vardır). Diğer ilgili faktör, yapılacak model seçimlerinin sayısı ve / veya ayarlanacak hiper parametrelerin sayısıdır.

Çalışmamda, güçlü doğrusal olmayan modellere ve göreceli olarak küçük veri kümelerine (genel olarak makine öğrenme çalışmalarında kullanılan) bakıyorum ve bu faktörlerin her ikisi de yuvalanmış çapraz onaylamanın kesinlikle gerekli olduğu anlamına geliyor. Parametre sayısını arttırırsanız (belki de her bir nitelik için ölçeklendirme parametresi olan bir çekirdeğe sahipseniz) aşırı sığma "felaket" olabilir. Yalnızca tek bir düzenlileştirme parametresi ve göreceli olarak çok sayıda vaka (parametre sayısına göre) olan doğrusal modeller kullanıyorsanız, farkın çok daha küçük olması muhtemeldir.

Hesaplamalı olarak mümkün olması şartıyla, olası bir önyargı kaynağını ortadan kaldırdığı için, (ve meslektaşları hakemlerin; o) ne olduğu konusunda endişelenmememiz gerekeceğinden, hesaplamalı olarak mümkün olması koşuluyla her zaman iç içe çapraz doğrulama kullanılmasını önereceğimi eklemeliyim. ihmal edilebilir ya da değil


2
Tüm verileri kullanırsanız, o zaman eğitim seti hatasını etkili bir şekilde çizmiyor mu? Düzenlileştirme parametresi dikkatle seçilmiş olsa bile, en iyi modellerin sıfır antrenman seti hatası olmayan, sıfır olmayan genelleme hatası olan sınıflandırma modellerini kullanıyorum.
Dikran Marsupial

1
Birkaç binlerce eğitim düzeni veya daha az. Ne tür bir model kullanıyorsunuz? Veri kümesi büyüdükçe, istatistiksel problemler genel bir kural olarak azalır ve hesaplama problemleri artar. k-fold cross-validation, temel modele (hiper-parametresi ayarlama dahil) uymaktan sadece k kat daha yavaştır, bu nedenle nadiren uygulanabilir olmaktan mümkün değildir. k-fold cross-valdiation, genelde yaptığım işte bu şekilde kolayca paralelleştirilir.
Dikran Marsupial

1
Sadece tarafsız bir performans tahmini verir. Esasen iç içe geçmiş CV, çapraz doğrulama yoluyla model seçimi de dahil olmak üzere bir modele yerleştirme yönteminin performansını tahmin eder . Operasyonel modeli elde etmek için, genellikle sadece "düz" çapraz doğrulama prosedürüyle aynı model seçimlerini veren tüm veri setini kullanarak yöntemi tekrar ediyoruz.
Dikran Marsupial

1
İç içe geçmiş CV konusunda da tanıştım. Tarafsız iç içe geçmiş CV'nin kullanılması, daha küçük veri içeren modellerin yerleştirilmesini içerir. 10 katlı CV için, yuvalanmış CV'de% 81, yuvalanmamış CV'de% 90 gibidir. Ayrıca, test katlaması iç içe geçmemiş durumda% 9 ve% 10 olur. Bu model değerlendirmede ekstra varyans yaratır mı? Özellikle küçük veri setleri için bu yazıdaki 350 örnek gibi. Bu iç içe CV kullanarak 'dezavantaj' mı? Öyleyse, veri kümesinin boyutuna göre iç içe CV kullanılıp kullanılmayacağına nasıl karar vermeliyiz? Gerçekten bu konuda sizin gibi uzman görüşlerini takdir ediyorum. Bu konuyla ilgili herhangi bir makale var mı? @Dikran Marsupial
zesla

2
@zesla Evet, aslında bu, varyansını artıracak olan iç çapraz doğrulama için daha az veri olması durumunda, ancak nihai model tüm veri seti kullanılarak (hiper parametre tahmini dahil) oluşturulmuştur. Performans tahmininde yanlılık ve değişkenlik arasında her zaman bir sapma vardır. Veri kümesi model seçiminde aşırı sığacak kadar küçükse iç içe çapraz doğrulama kullanmak en önemlidir ve önyargı daha büyük bir sorundur. Çok az sayıda hiper parametrenin olduğu pratik uygulamalarda, farkın pratik önemi az olabilir arxiv.org/abs/1809.09446 .
Dikran Marsupial
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.