İç içe çapraz doğrulamanın kullanımı


14

Scikit Learn'ün Model Seçimi sayfasındaki iç içe çapraz doğrulamanın kullanıldığından bahsedilir:

>>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas),
  ...                    n_jobs=-1)  
>>> cross_validation.cross_val_score(clf, X_digits, y_digits)

İki çapraz doğrulama döngüsü paralel olarak gerçekleştirilir: biri GridSearchCV tahmincisi tarafından gama ayarlamak için, diğeri cross_val_score tarafından tahmincinin tahmin performansını ölçmek için. Elde edilen puanlar, yeni verilerdeki tahmin puanının tarafsız tahminleridir.

Anladığım kadarıyla, clf.fiten iyi gama belirlemek için yerel olarak çapraz doğrulamayı kullanacaktır. Bu durumda, neden yukarıda belirtildiği gibi iç içe cv kullanmamız gerekir? Not, iç içe geçmiş cv'nin tahmin skorunun "tarafsız tahminlerini" ürettiğinden bahseder. Bu da böyle değil clf.fitmi?

Ayrıca, cross_validation.cross_val_score(clf, X_digits, y_digits)prosedürden clf en iyi tahminleri alamadım . Bunun nasıl yapılabileceğini tavsiye eder misiniz?

Yanıtlar:


18

Yuvalanmış çapraz doğrulama, modelin hiper parametrelerinin değerlerini (örn. Bir SVM'nin normalleştirme parametresi, ve çekirdek parametreleri) ayarlamak için aynı çapraz doğrulamanın kullanılmasından kaynaklanan iyimser önyargılı performans tahminlerinden kaçınmak için kullanılır ve performans tahmini. Bu konuda, çekirdek makinelerinin değerlendirilmesinde sıklıkla kullanılan görünüşte iyi huylu bir kısa yoldan kaynaklanan önyargı büyüklüğünden endişe duyduktan sonra bir makale yazdım. Aynı veri kümelerinde benzer yöntemler kullanan sonuçların neden diğer araştırma gruplarından daha kötü olduğunu keşfetmek için bu konuyu araştırdım, bunun nedeni iç içe çapraz doğrulamayı kullandığım ve dolayısıyla iyimser önyargıdan faydalanmadığı ortaya çıktı.C

GC Cawley ve NLC Talbot, Model seçiminde aşırı uyum ve performans değerlendirmesinde müteakip seçim eğilimi, Journal of Machine Learning Research, 2010. Research, cilt. 11, s.2079-2107, Temmuz 2010. ( http://jmlr.org/papers/volume11/cawley10a/cawley10a.pdf )

Açıklayıcı örnekler ve deneysel değerlendirme ile yanlılığın nedenleri makalede bulunabilir, ancak esas olarak, performans değerlendirme kriteri model hakkında seçim yapmak için herhangi bir şekilde kullanılırsa , bu seçeneklerin (i) genelleme performansındaki gerçek gelişmeler ve (ii) performans değerlendirme kriterinin değerlendirildiği belirli veri örneğinin istatistiksel özellikleri. Başka bir deyişle, önyargı ortaya çıkar çünkü hiper-parametreleri ayarlarken çapraz doğrulama hatasına fazla uymak mümkündür (hepsi çok kolay).


5

Bir düzenlenen aşımı test seti ile clf.fitüreten tek tarafsız tahminini ile iç içe çapraz doğrulama sırasında cross_val_scoreüreten birkaç tarafsız tahminleri. İç içe çapraz doğrulamanın avantajı, algoritmanın henüz görmediği verileri kullanarak gerçek performansın daha iyi bir değerlendirmesidir. Daha iyi değerlendirme, çünkü sadece bir yerine iç içe cv ile üç test puanı alırsınız.

En iyi tahminlere ilişkin ikinci sorunuzun cevabı, iç içe cv kullanarak monte edilen modellerin parametrelerini almanın şu anda (v0.14) mümkün olmamasıdır cross_val_score. Cevabımı bir örnekle burada görebilirsiniz .

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.