Test Hatasının CV tahmini Gerçek Test Hatasını neden hafife alıyor?


10

Anladığım kadarıyla, test hatasının k-katlı çapraz doğrulama tahmini genellikle gerçek test hatasını hafife alıyor. Neden böyle olduğunu kafam karıştı. Eğitim hatasının neden genellikle test hatasından daha düşük olduğunu görüyorum - çünkü modeli, hatayı tahmin ettiğiniz verilerle eğitiyorsunuz! Ancak bu, çapraz doğrulama için geçerli değildir - hatayı ölçtüğünüz kat, eğitim sırasında özellikle dışarıda bırakılır.

Ayrıca, test hatasının çapraz doğrulama tahmininin aşağıya eğimli olduğunu söylemek doğru mu?


1
Bunun nerede ifade edildiğini görüyorsunuz? Bazı referanslar verebilir misiniz?
horaceT

1
(+1) Aynı ifadeyi gördüm ve doğru olduğuna inanıyorum ama mantığı da anlamıyorum
KevinKim

Yanıtlar:


9

Bir örnek vermek gerekirse: Bir modelin sadece CV hatasını bildiren durumda problemlidir Başlangıçta çoklu modelleri (belli bir CV hata ve hata varyansı olan her), ardından bu hatayı kullanmak zorunda seçti uygulamanız için en uygun modeli. Bu sorunludur, çünkü her modelde hala şanslı / şanssız olma şansınız vardır (ve daha iyi / daha kötü sonuçlar elde edersiniz) - ve bir model seçerek, muhtemelen daha şanslı olduğunuz modeli seçmiş olursunuz. Bu nedenle, bu hatayı nihai hata tahmini olarak bildirmek aşırı iyimser olma eğilimindedir.

Ayrıntıları daha ayrıntılı incelemek istiyorsanız: bu yanıt, bu sorunla ilgili okunması kolay bazı makalelere bağlantı verir: Çapraz doğrulama kötüye kullanımı (en iyi hiperparametre değeri için performansı raporlama)

@Cbeleites'in işaret ettiği gibi: elde edilen k-katlamalı CV hatasını örneğin a) eğitim sürecinin bir parçası olan farklı hiperparametreler kullanmaktan birden çok model arasından en iyi modeli seçmek ve b) ayrı, bekletilen bir test seti kullanmak yerine test hatasıyla aynı hatayı bildirir . Bunun yerine, herhangi bir modeli seçmek için kullanmadan saf CV hatasını sormak isterseniz , @cbeleites'in cevabı aradığınız şeydir.


Yine, buradaki sorun, bir eğitim hatası (aşağıdaki gibi eğitim: bu tahmin, bir son modelin elde edilmesinde kullanılır) genelleme hatası tahmini - bu hatanın çapraz doğrulama, bekletme veya herhangi bir şekilde hesaplanmasına bakılmaksızın diğer hata tahmin yöntemi.
Sb ile mutsuz cbeleites

1
@cbeleites Yine, gerçek nokta - Genellikle CV sonuçlarının bir şekilde model seçimi için kullanılacağını varsayıyorum (bazı nedenlerden ötürü CV'yi ilk başta kullanmanın nedeni budur) - bu nedenle bunu belirtin. Cevabımı buna göre güncelledim.
geekoverdose

9

Hayır, uygun şekilde yapılırsa, katlı çapraz validasyon genelleme hatasını fazla tahmin etme eğilimindedir , yani (genellikle hafif) kötümser bir önyargıya sahiptir. Yani, söz konusu vekil model için genelleme hatasının tarafsız bir tahminini vermektedir. Ancak, modelin hatası, artan eğitim örneği boyutu (diğer bir deyişle öğrenme eğrisi) ile azaldıkça, vekil model, ortalama olarak tüm veri setinde eğitilen modele göre (biraz daha yüksek gerçek genelleme hatasına sahiptir. çapraz doğrulama ile.k

Kabaca doğru bir şekilde yapılması, çapraz doğrulama içindeki test ve eğitim setlerine ayrılmanın aslında modelden gerçekten bağımsız test vakalarına yol açtığı anlamına gelir.

Bununla birlikte, bu bağımsızlığı tehlikeye atan birtakım tuzaklar vardır . Test verilerinin ne kadar ciddi bir şekilde tehlikeye atıldığına ve modelin ne kadar fazla uydurulduğuna bağlı olarak, bu bağımsızlık eksikliği çapraz doğrulama hatasının aslında bir eğitim hatası haline geldiği anlamına gelir. Yani, sonuçta, ciddi bir iyimser önyargı ile sonuçlanabilir (asıl genelleme hatasını küçümseme).
IMHO , bu tuzakların çoğunun çapraz validasyona özgü olmadığını, ancak tren ve test setine yanlış ayrılma olarak daha iyi karakterize edildiğini anlamak önemlidir : bekletme veya bağımsız gibi diğer doğrulama şemaları ile aynı olabilir (ve yapabilirler). Aslında tahmin ettiği kadar bağımsız olmayan test setleri.

İşte bölmedeki en yaygın hatalara örnekler:

  • @ geekoverdose'un cevabı , test hatası olarak dahili bir eğitim (!) hata tahmininin açık bir şekilde kullanılmasına bir örnek verir .
    Daha genel olarak, veriye dayalı model optimizasyonu için kullanılan her türlü hata tahmini bir eğitim hatasıdır , çünkü bu hata tahminini kullanmaya devam eden eğitim vardır.
  • Bölünme için karıştırıcı değişkenler dikkate alınmaz.
    Veri matrisindeki bir satır mutlaka bağımsız bir durum oluşturmaz, örn.
    • Aynı vaka / süje / hastanın tekrarlanan ölçümlerini "bağımsız" olarak tedavi etme
    • genel olarak verilerdeki güçlü kümelenmeyi gözden kaçırmak / görmezden gelmek
    • veri oluşturma sürecinde devam eden sapmanın farkında olmamak (gelecekteki bilinmeyen vakalara karşı sadece bilinmeyen vakalara), ...


0

Öncelikle, anladığım gibi soruda kullanılan terimleri netleştireyim. Normalde bir eğitim veri kümesiyle başlarız, farklı modelleri (veya hiperparametre setlerini) test etmek için k-kat çapraz doğrulamayı kullanırız ve en düşük CV hatası olan en iyi modeli seçeriz. Dolayısıyla, 'test hatasının çapraz doğrulama tahmini', rastgele bir modelin CV hatası değil, en az CV hatasını test hatası olarak kullanmak anlamına gelir (ki bu durum cbeleites tarafından tartışılır, ancak normalde yaptığımız şey değildir). Söz konusu 'gerçek test hatası', sonsuz test veri kümesine en iyi CV modelini uygularken elde edebileceğimiz varsayılarak elde ettiğimiz hatadır. CV hatası, sahip olduğumuz belirli veri kümesine bağlıdır ve gerçek test hatası seçilen en iyi CV modeline bağlıdır, bu da eğitim veri kümesine bağlıdır. Bu nedenle, CV hatası ile test hatası arasındaki fark, farklı eğitim veri kümelerine bağlıdır. Daha sonra soru, eğer yukarıdaki işlemi farklı eğitim veri kümeleri ile birçok kez tekrarlar ve sırasıyla iki hatayı ortalama yaparsak, ortalama CV hatası neden ortalama test hatasından daha düşük, yani CV hatası aşağıya doğru eğilirse? Ama ondan önce, bu her zaman olur mu?

Normalde çok sayıda eğitim veri seti almak ve sonsuz satır içeren test veri setini almak imkansızdır. Ancak bunu simülasyon tarafından üretilen verileri kullanarak yapmak mümkündür. Trevor Hastie ve ark. Tarafından yayınlanan "İstatistiksel Öğrenmenin Unsurları" kitabının "Bölüm 7 Model Değerlendirmesi ve Seçimi" bölümünde. , böyle bir simülasyon deneyi içerir.

Sonuç olarak, CV veya bootstrap kullanılarak, "... sadece aynı eğitim setinden elde edilen veriler göz önüne alındığında, belirli bir eğitim seti için test hatasının tahmini genel olarak kolay değildir". 'Kolay değil' ile, CV hatasının farklı egzersiz veri setlerine bağlı olarak gerçek test hatasını hafife alabileceği veya fazla tahmin edebileceği anlamına gelir, yani farklı eğitim veri setlerinin neden olduğu varyans oldukça büyüktür. Önyargıya ne dersiniz? Test ettikleri kNN ve doğrusal model neredeyse önyargılı değildir: CV hatası gerçek test hatasını% 0-4 oranında abartır, ancak ağaçlar, çapraz doğrulama ve önyükleme kayışı gibi bazı modeller gerçek hatayı% 10 olduğundan daha az tahmin edebilir, çünkü msgstr "en iyi ağacın aranması doğrulama kümesinden büyük ölçüde etkilenir" + + msgid ".

Özetlemek gerekirse, belirli bir eğitim veri kümesi için, CV hatası gerçek test hatasından daha yüksek veya daha düşük olabilir. Sapma için ortalama CV hatası, modelleme yöntemlerine bağlı olarak ortalama gerçek test hatasından biraz daha yüksek ila çok daha düşük arasında olabilir.

Yukarıda belirtildiği gibi, az tahmin etmenin nedeni, en iyi model için hiperparametre seçiminin nihayetinde elde ettiğimiz özel eğitim veri kümesine bağlı olmasıdır. Biraz detay, Bu özel eğitim veri setinde en iyi hiperparametrelerin M1 olmasına izin verin. Ancak, M1 diğer eğitim veri kümesindeki en iyi hiperparametreler olmayabilir, bu da minimum CV hatasının M1'deki CV hatasından daha az olduğu anlamına gelir. Bu nedenle, eğitim sürecinden aldığımız beklenen CV hataları, M1'in beklenen CV hatasından çok daha azdır. Belirli bir eğitim veri kümesinden minimum CV hatasının önyargısız kaldığı tek zaman, en iyi modelin eğitim veri kümelerinden her zaman en iyi bağımsız olmasıdır. Öte yandan, CV hatası cbeleites tarafından tartışıldığı gibi gerçek test hatasını biraz fazla tahmin edebilir. Bunun nedeni, k katlamalı CV hatasının, modeli eğitmek için biraz daha az eğitim verisi kullanılarak elde edilmesidir (10 kat cv için,% 90 veri kullanın), gerçek hataya karşı yukarı doğru meyillidir, ancak çok fazla değildir. Farklı yönlere giden iki önyargı var. Modelleme yöntemi için, daha az kat CV, örneğin 5 kat veya 10 kat, daha fazla sapma ile sonuçlanabilir.

Bununla birlikte, pratikte çok fazla yardımcı olmuyor: genellikle sadece bir 'belirli' veri kümesi alıyoruz. test verisi olarak% 15 ila% 30'u tutarsak ve geri kalanı üzerinde egzersiz verisi olarak CV tarafından en iyi modeli seçersek, her ikisi de beklenen test hatasından farklı olduğu için CV hatasının test hatasından farklı olacağı ihtimali vardır. CV hatası test hatasından çok daha düşükse şüpheli olabiliriz, ancak hangisinin gerçek test hatasına daha yakın olduğunu bilemeyiz. En iyi uygulama her iki metriği de sunmak olabilir.

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.