K-kat çapraz doğrulamasında ızgara araması


16

10 kat çapraz doğrulama ayarında 120 örnek veri kümesi var. Şu anda, ilk yayının eğitim verilerini seçiyorum ve ızgara aramasıyla gama ve C değerlerini seçmek için 5 kat çapraz doğrulama yapıyorum. RBF çekirdeği ile SVM kullanıyorum. Kesinlik, hatırlama bildirmek için on 10 çapraz doğrulama yaptığım için, her kılavuzun eğitim verilerinde bu ızgara aramasını gerçekleştiriyor muyum (her biri% 10 test ve% 90 eğitim verisine sahip 10 duraklatma var)? Bu çok zaman alıcı olmaz mıydı?

İlk dağıtımın gama ve C'sini kullanır ve k-kat çapraz doğrulamanın 9 bekletmesi için kullanırsam, bu bir ihlaldir, çünkü gama ve C almak için tren verilerini kullanacak ve tekrar verilerinin ikinci dağıtımda test olarak bir kısmı?


Bu sorunun daha fazla bilgiye ihtiyacı var. Hangi modeli takıyorsunuz? Bu modelde gama ve C nedir? Ayrıca, bu bilgiyi yorumlarla değil soruyu düzenleyerek verir misiniz?
olasılık

Yanıtlar:


14

Evet, dış çapraz validasyonun 2-10. Katları için test verileri, çekirdek ve düzenlileştirme parametrelerinin değerlerini belirlemek için kullanılan kat 1 için eğitim verilerinin bir parçası olacağından bu bir ihlal olacaktır. Bu, test verileri hakkında bazı bilgilerin potansiyel olarak modelin tasarımına sızdığı anlamına gelir, bu da performans değerlendirmesine potansiyel olarak iyimser bir önyargı verir, bu da hiper parametrelerin ayarına çok duyarlı modeller için en iyimserdir (ör. çoğu zaman istenmeyen bir özelliğe sahip modelleri tercih eder).

Bu önyargı, bu gibi küçük veri kümeleri için daha güçlü olacaktır, çünkü model seçim ölçütünün varyansı, küçük veri kümeleri için en büyüktür, bu da model seçim ölçütüne aşırı uymayı teşvik eder, bu da test verileri hakkında daha fazla bilgi sızabileceği anlamına gelir vasıtasıyla.

Bir ya da iki yıl önce bu konuda bir makale yazdım, çünkü tam olarak iç içe çapraz doğrulamanın getirdiği önyargı sapmalarının büyüklüğü ile şaşırttım, bu da sınıflandırıcı sistemler arasındaki performans farkını kolayca değiştirebilir. Makale "Model Seçiminde Aşırı Uydurma ve Performans Değerlendirmede Sonraki Seçim Yanlılığı Üzerine" Gavin C. Cawley, Nicola LC Talbot; JMLR 11 (Tem): 2079-2107, 2010.

Esasen hiper parametrelerin ayarlanması, modelin takılmasının ayrılmaz bir parçası olarak düşünülmelidir, bu nedenle SVM'yi yeni bir veri örneği üzerinde her eğittiğinizde, o örnek için hiper parametreleri bağımsız olarak yeniden ayarlayın. Bu kurala uyarsanız, muhtemelen çok fazla yanlış gidemezsiniz. Tarafsız bir performans tahmini elde etmek için hesaplama maliyetine değer, aksi takdirde denemenizden yanlış sonuçlar çıkarma riskiyle karşı karşıya kalırsınız.


1
Kişisel deneyimim beni bu tür aşırı uydurma kaynakları konusunda da çok ihtiyatlı kıldı.
cbeleites Monica

6

Her vekil model için ızgara araması yaptıktan sonra, birkaç şeyi kontrol edebilir ve kontrol etmelisiniz:

  • optimize edilmiş parametrelerin değişimi (burada ve C ). Optimal parametreler kararlı mı? Değilse, başınız büyük belada.γC
  • İç ve dış çapraz doğrulamanın rapor edilen performansını karşılaştırın.
    İç (yani ayarlama) çapraz doğrulaması dıştan (son modelin doğrulaması) çok daha iyi görünüyorsa, o zaman da başınız belada: aşırı uyuyorsunuz. Ayarlanan parametrelerin hiç optimal olmaması konusunda önemli bir risk vardır. Bununla birlikte, dış çapraz doğrulama düzgün bir şekilde yapılırsa (tüm test setleri ilgili vekil modellerden gerçekten bağımsızsa), en azından hala modelin performansı hakkında tarafsız (!) Bir tahmininiz vardır. Ancak bunun en uygun olduğundan emin olamazsınız.
  • Optimum ne kadar belirgindir? Yetersiz parametreler için performans hızla düşüyor mu? Optimum performans ne kadar iyi?

Model seçimiyle aşırı sığdırma hakkında söylenecek çok şey var. Bununla birlikte, hem varyansın hem de iyimser önyargının gerçekten zarar verebileceğini unutmayın.

  • varyans, yanlışlıkla gerçekten optimal hiper parametrelerden oldukça uzakta olabileceğiniz anlamına gelir.
  • aynı zamanda önyargı da incinebilir: eğer fazla takıyorsanız, birçok modelin iç çapraz doğrulamaya mükemmel göründüğü durumlarla karşılaşabilirsiniz (ancak gerçekten değiller). Bu durumda, ayarlamalar yoldan çıkabilir, çünkü modeller arasındaki farkları tanımıyor.
  • Önyargı hiper parametrelere bağlıysa, büyük beladasınız demektir.

Bir örnekle ilgileniyorsanız ve Almanca okuyabiliyorsanız, Diplom tezimi çevrimiçi yapabilirim.

Deneyimlerime göre, hiperparametreleri ayarlamak aşırı uyum için son derece etkili bir fikirdir ...

Şimdi, aşırı taktığınızı fark ederseniz, esas olarak iki seçeneğiniz vardır:

  • optimizasyonun fazla takmayla ilgili bir sorunu olduğunu ancak bununla sonuçlanan uygun bir dış doğrulama yaptığınızı bildiriniz (dış çapraz doğrulama sonuçları).
  • modelin karmaşıklığını kısıtlar. Bunu yapmanın bir yolu hiper parametrelerini düzeltmektir:

Hiper parametreleri her bir eğitim setine ayarlamaya alternatif olarak, parametreleri (hiper) önceden belirtebilirsiniz (yani önceden sabitleyebilirsiniz). Bunu modellerim için olabildiğince çok yapıyorum, genellikle sizden daha az vakaya sahibim, aşağıya bakın.
Ancak, bu sabitleme gerçekten ve dürüst bir şekilde önceden yapılmalıdır: örneğin, bir meslektaşımdan benzer bir veri setinde (bağımsız deney) optimize edilmiş parametrelerini sordum veya parametreler üzerinde ızgara araması da dahil olmak üzere bir ön deneme yaptım. Bu ilk deney daha sonra gerçek deney ve veri analizi için bazı deneysel parametrelerin yanı sıra model parametrelerini düzeltmek için kullanılır. Daha fazla açıklama için aşağıya bakın.

Elbette, otomatik olarak optimize edilmiş modellerde (çift veya iç içe doğrulama) uygun testler yapmak mümkündür, ancak örnek boyutunuz verilerin iki kez bölünmesine izin vermeyebilir .
Bu durumda, IMHO, modelleme parametrelerinin nasıl seçileceğine ilişkin profesyonel deneyim kullanılarak oluşturulmuş bir model için dürüst bir tahminin, bir tür otomatik olarak optimize edilmiş modele ilişkin overoptimistik bir tahminin rapor edilmesinden çok daha iyi olduğunu bildirir.
Durumla ilgili başka bir bakış açısı, ticaret yapmak zorunda olduğunuz

  • parametre optimizasyonu için başka bir grup vakayı bir kenara bırakması nedeniyle daha kötü performans (daha küçük eğitim örnek boyutu => daha kötü model, ancak "optimal" parametreler)
  • uzman tarafından yetersiz parametre sabitlemesi nedeniyle daha kötü performans (ancak daha büyük egzersiz verilerinde).

Benzer bir soruya benzer bazı düşünceler: /stats//a/27761/4598


Parametrelerin sabitlenmesi ve Dikran Marsupial'ın yorumları

Dikran Marsupial'ın makalesinde kullandığı hiper-parametreler terimini kullanıyorum (cevabındaki bağlantı)

Spektroskopik verilerle çalışıyorum. Bu, veri analizi ve modellemesinin genellikle biraz ön işleme içerdiği bir tür ölçümdür. Bu hiper-parametreler olarak görülebilir (örneğin, taban çizgisi için hangi polinom sırası kullanılmalı? Hangi ölçüm kanalları dahil edilmelidir?). Svm parametrelerinize daha yakın olan başka kararlar da vardır, örneğin "gerçek" model eğitilmeden önce boyutsal azaltma için bir PCA yapılırsa kaç ana bileşen kullanılır? Ve bazen SVM sınıflandırmasını da kullanıyorum, bu yüzden SVM parametrelerine karar vermeliyim.

Şimdi, IMHO hiper parametrelerini düzeltmenin en iyi yolu, uygulamadan gelen nedenleriniz varsa. Örneğin genellikle fiziksel / kimyasal / biyolojik nedenlerle ne tür bir taban çizgisinin kullanılacağına karar veririm (örn. Örnek hakkında bilgi ve bundan sonra gelen spektroskopik davranış). Ancak, SVM parametrelerine yardımcı olan böyle bir argümanın farkında değilim ...

Yukarıda bahsettiğim ön deneyler durumu aşağıdaki gibidir:

  • bir grup hücrenin verilerini alıyoruz (farklı hücre çizgilerini ayırt etmek istiyoruz).
  • Spektrumlar analiz edilir, yinelenen çift çapraz doğrulama SVM çalıştırılır (hesaplama sunucusunda bir veya iki gece geçirilir).

    • γC
    • Ayrıca belirli bir aşırı sığdırmayı gözlemliyorum: dış çapraz doğrulama, ayarlama sonuçları kadar iyi değil. Beklendiği gibi.
    • Yine de, hiper parametrelerin ayar aralığı üzerinde performans farklılıkları vardır ve ayar ızgarası üzerindeki performans makul derecede pürüzsüz görünür. İyi.
  • Sonuç olarak: son hiper-parametrelerin optimal olduğundan emin olamasam da, dış çapraz doğrulama bana vekil modellerin performansı hakkında doğru bir tahmin verir.

  • Deneysel kısımda, deney düzeneğindeki bazı değişikliklere karar verdik (verilerin gürültüsüne giden sinyali etkilemeyen, ancak cihazın otomatikleştirilmesinde bir adım daha ileri gidenler)

  • Deneysel ayarları geliştiriyoruz ve yeni spektrumlar elde ediyoruz. Hücreler olduğu gibi, taze olarak büyütülmeleri gerekir. Yani yeni veri seti bağımsız kültür gruplarıdır.

Şimdi kararla yüzleşiyorum: İç çapraz doğrulamayı "atlamalı" ve sadece eski verilerle belirlediğim hiper parametrelerle mi gitmeliyim?

  • Yukarıda belirtildiği gibi, bu önceden belirlenmiş hiper parametrelerin optimal olmaması riskini taşıyorum.
  • Ancak, iç (ayarlama) çapraz doğrulamasını yaparak gerçekten en uygun hiper parametrelerini elde edeceğinden de emin olamıyorum.
  • Bununla birlikte, eski verilerdeki ayar sabitti.
  • Optimizasyonu yapmak Daha az örnek üzerinde çalışacağım: Zaten çok az örnek (TM) olduğu için, ikinci bir çapraz doğrulama turu için daha fazla örnek ayırırsam daha kötü modeller elde etmeyi beklemeliyim.

Bu durumda, sabit parametrelerle gitmeye karar verdim (benzer verilerdeki deneyim ve gelecekte bu kararları büyük verilerle tekrar kontrol etmek de dahil olmak üzere "ödevimizi" yapmak zorunda kalacağımızı bilerek).

Önemli olan , dış olanı değil, kısmı ( çapraz geçerliliği ayarlama ) atladığımdır . Sabit hiper-parametrelerle, muhtemelen yetersiz bir modelin performansının tarafsız bir tahminini alırım. Bu tahminin yüksek varyansa tabi olduğu doğrudur, ancak bu varyans iç ayarlamayı yapsam da yapmasam da temelde aynıdır.
Dış çapraz vaidasyonu atlamak Ayarlanmış bir modelin iyimser bir şekilde taraflı bir tahminini alırım - uygulamaya ve verilere bağlı olarak değersiz olabilir (çok fazla aşırı uzamsalsa) ve iyimser önyargı açıkça kabul edilemez olabilir.


bu cevabı düşürmek zorunda olduğum için üzgünüm, ancak hiper parametreler için önceden belirlenmiş değerleri kullanmak iyi bir uygulama değildir çünkü optimal genelleme, bu parametreler için veri kümesinden veri kümesine kadar değişecek uygun ayarlara bağlıdır (ve problemler için örnekten çok az veri olacaktır örnekleme). Deneme öncesi ızgara araması, makalemde tartışılan aynı önyargı formuyla sonuçlandığından daha da kötüdür. SVM'ler için, verileri iki kez ayırma problemi geçerli değildir, çünkü sanal CV-one-out çapraz doğrulamayı iç CV'deki model seçim kriteri olarak neredeyse ücretsiz olarak kullanabilirsiniz.
Dikran Marsupial

Bununla birlikte, optimize edilmiş parametrelerdeki varyasyonun kontrol edilmesi mükemmel bir öneridir. Parametrelerin ve hiper parametrelerin verilerden güvenilir bir şekilde tahmin edilebileceği yeterli veriye sahipseniz, makalemde bahsettiğim önyargı türleri muhtemelen çok fazla sorun olmayacaktır. Bununla birlikte, optimize edilmiş hiper parametre değerlerinde, küçük bir veri kümesine bağlı olarak çok fazla değişkenlik varsa, performans tahmininde önemli önyargıları önlemek için iç içe çapraz doğrulamanın ve diğer bu tür sıkı yaklaşımların gerçekten gerekli olduğu bir durumdur.
Dikran Marsupial

@DikranMarsupial: Arka planımı biraz daha açık bir şekilde açıkladım, bir göz atın. Ayrıca makalenizi daha ayrıntılı okudum. Bence puanlarımız o kadar da farklı değil. İsterseniz, sohbette buluşalım
Makalenizle

@DikranMarsupial: (ne yazık ki, verilerimin çoğu için, iç içe / hiyerarşik veri yapıları olduğu için analitik izni kullanamıyorum). Ayrıca, bir kez dışarı bırakma ile bazı çirkin sürprizlerle tanıştım, böylece k-katlama veya önyükleme dışı doğrulama yaptım. Ancak, bu soru için konu dışı.
cbeleites Monica

@DikranMarsupial: Optimize edilmiş parametreler kararlı değilse, yine de başım belada. Elbette, bu parametreleri yeni veriler için kullanabileceğim sonucuna varamam. Ama aynı zamanda, son model için onları (birçok parametre setinden hangisi?) En iyi olarak adlandırmazdım ... Optimizasyonun tamamen çıldırdığını gördüm, ancak bu her zaman iç (ayarlama) doğrulamasının çok fazla aşırı sonuçlarla birlikte geldi. . Ve dış çapraz doğrulamayı optimal modelin iç çapraz doğrulama tahmini ile karşılaştırarak ölçebilirim. Cevabı buna göre güncelledi.
cbeleites Monica

5

γCkterr(γ,C)γCγ,C{2nl,2nl+1,,2nu}γ

Bence anahtar, yüzeyde sadece yerel minimumları (ya da her 1-dim projeksiyonu) yumuşaklık aramak ve sadece küresel minimumları almak değil.

γ(pσ)1pγCC


Diyelim ki 120 örnekli bir veri kümem var. Başlangıçta 120 örnek kullanarak gama ve C bulmalı mıyım? Ardından, eğitilecek verilerin% 90'ını ve test edilecek verilerin% 10'unu kullanırken aynı tutma ve C tutma için 10 kat çapraz doğrulama yapın? Gamma ve C almak için aynı eğitim setini kullandığım ve örneklerin bir kısmının da test setinde olduğu anlamına gelmez mi?
user13420

γC

(γ,C)(γ,C)(γ,C)

2
λβ

2
λβλββ(λ)
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.