Dahili ve harici çapraz doğrulama ve model seçimi


26

Anladığım kadarıyla çapraz doğrulama ve model seçimi ile iki şeyi ele almaya çalışıyoruz:

P1 . Örneğimizle antrenman yaparken popülasyonda beklenen zararı tahmin et

P2 . Bu tahmin konusundaki belirsizliğimizi ölçün ve rapor edin (varyans, güven aralıkları, önyargı vb.)

Standart uygulama, tekrarlayan çapraz doğrulama yapmak gibi görünmektedir, çünkü bu tahmin edicimizin varyansını azaltır.

Ancak, raporlama ve analiz konusunda, benim anladığım kadarıyla iç doğrulamanın dış doğrulamanın daha iyi olduğudur, çünkü:

Rapor etmek daha iyidir:

  • Tahmin edicimizin istatistikleri, örneğin tam numune üzerindeki güven aralığı, varyans, ortalama vb. (Bu durumda CV örneği).

bildirmekten daha:

  • Tahmin edicimizin orijinal örneğin bir tutma alt kümesinde kaybı, çünkü:

    (i) Bu tek bir ölçüm olacaktır ( tahmin edicimizi CV ile seçsek bile )

    (ii) Bu tekli ölçüm için tahmin edicimiz, başlangıç ​​setine göre daha küçük olan bir sette (örn. CV setinde) eğitilmiş olacaktı çünkü tutma setine yer açmak zorunda kaldık. Bir de bu sonuçları daha önyargılı içinde (kötümser) tahmini P1 .

Bu doğru mu? Değilse neden?

Arka fon:

Örneğinizi iki gruba ayırmanızı öneren ders kitaplarını bulmak kolaydır:

  • CV sonradan tekrar tekrar ayrılır seti, tren ve doğrulama setleri.
  • Pivot sadece sonunda kullanılır (test) seti, tahmincisi performansını bildirmek

Benim sorum, bu yazının başlangıcındaki amacımız P1 ve P2 ile ilgili sorunları gerçekten ele almak olduğu düşünüldüğünde, bu ders kitabı yaklaşımının yararlarını ve avantajlarını anlama girişimidir . CV örneğinin analizi daha bilgilendirici olduğundan, tutma testi setine ilişkin raporlamanın kötü bir uygulama olduğunu düşünüyorum.

İç içe geçmiş K katlama vs yinelenen K katlama:

Bir kutu prensip olarak yuvalanmış K-katlama elde etmek için tutma kısmını normal K-katlama ile birleştirir . Bu, tahmin edicimizin değişkenliğini ölçmemize izin verir, ancak bana göre, aynı sayıda toplam model için (toplam kat sayısı) tekrarlanan K-katının, iç içe geçirilmiş K'dan daha az önyargılı ve daha kesin olan tahmin edicilere neden olacağını düşünüyorum. kat. Bunu görmek için:

  • Tekrarlanan K-katlama, toplam K örneğimizin aynı K için yuvalanmış K-katlamadan daha büyük bir kısmını kullanır (yani daha düşük yanlılığa yol açar)
  • 100 yineleme, tahmin edicimizin iç içe geçmiş K-katında (K = 10) sadece 10 ölçümünü verirken, K-katında 100 ölçüm yapar (daha fazla ölçüm P2'de daha düşük varyansa neden olur )

Bu akıl yürütmenin nesi yanlış?


1
Bilmek istediklerinize daha özel olmak için unvanını değiştirdim. Bu şekilde ihtiyacınız olan bilgiyi edinme olasılığınızın daha yüksek olduğunu düşünüyorum. Kabul etmiyorsanız geri değiştirmek için çekinmeyin. Ayrıca, bu iş parçacığının yüksek sayıda düzenleme nedeniyle otomatik olarak CW olduğunu unutmayın. CW olmasını istemiyorsanız, yöneticinin dikkatini çekmek için işaretleyin; Bunu tersine çevirmek mümkün olmalı (sanırım).
gung - Reinstate Monica

1
Teşekkürler. Benim tek endişem bazı insanlar ile tutun aşımı şaşırtmak olabilmesidir 2 kat CV bununla, bence, dış CV vs iç nettir Steyerberg03 olduğu gibi
Amelio Vazquez-Reina

Yanıtlar:


20

Zaten burada olan güzel cevaplara birkaç puan ekleyeyim:

Yuvalanmış K-katlama - tekrarlanan K-katlama: yuvalanmış ve tekrarlanan k-katlama, farklı amaçlar için kullanılan tamamen farklı şeylerdir.

  • Bildiğiniz gibi , içsel cv'yi model seçimi için kullanmak istiyorsanız, iç içe geçmiş olmak iyidir.
  • tekrarladı: IMHO daima k-kat cv'yi tekrar etmelisiniz [aşağıya bakınız].

Bu nedenle, iç içe geçmiş k - kat çapraz onaylamayı tekrarlamanızı tavsiye ederim .

Daha iyi rapor "Tahmin edicimizin istatistikleri, örn. Tam numune üzerindeki güven aralığı, varyans, ortalama vb. (Bu durumda CV örneği)." :

Emin. Bununla birlikte, güven aralığını yalnızca çapraz doğrulama sonuçlarına göre tahmin edemeyeceğinizi (kolayca) yapamayacağınızın farkında olmanız gerekir. Bunun nedeni, yeniden örneklemenize rağmen, baktığınız gerçek vaka sayısının sonlu olmasıdır (ve genellikle oldukça küçüktür - aksi halde bu ayrımlardan rahatsız olmazsınız).
Bakınız, örneğin Bengio, Y. ve Grandvalet, Y .: K-Katlı Çapraz Doğrulama Varyasyonunun Varyansı Tahmini Yok Edici, Makine Öğrenimi Araştırması Dergisi, 2004, 5, 1089-1105 .

n

nσ2(p^)=1np(1p)pp^np=0.5
C. Beleites, R. Salzer ve V. Sergo: Kısmi Sınıf Üyeliği Kullanılarak Yumuşak Sınıflandırma Modellerinin Doğrulanması: Astrositom Dokularının Sınıflandırılmasında Uygulanan Genişletilmiş Bir Hassasiyet Kavramı, Chemom. Intell. Lab. Syst., 122 (2013), 12-22.

Bu da , beklemeye karşı savınızı değiştirmeme izin veriyor :

  • Tek başına yeniden örnekleme de (zorunlu olarak) size varyansın iyi bir tahminini vermez,
  • OTOH, çapraz doğrulama tahmininin sonlu test-numune-boyut-varyansının nedenini açıklayabilirseniz, bu, tutma için de mümkündür.

Bu tek ölçüm için tahmin edicimiz, bekletme setine yer açmak zorunda olduğumuz için ilk numunemizden daha küçük olan bir sette (örneğin CV setinde) eğitilmiş olacaktı. Bu P1'de daha önyargılı (karamsar) bir tahminle sonuçlanır.

1k

CV örneğinin analizi daha bilgilendirici olduğundan, tutma testi setine ilişkin raporlamanın kötü bir uygulama olduğunu düşünüyorum.

Genellikle evet. Bununla birlikte, validasyonun yeniden örneklenmesi ile ölçülemeyen / tespit edilemeyen önemli hata türlerinin (sapma gibi) olduğunu akılda tutmak iyidir.
Bakınız örneğin Esbensen, KH ve Geladi, P. Doğrulama İlkelerinin Prensipleri: Doğrulama için yeniden örneklemenin kullanımı ve kötüye kullanılması, Chemometrics Dergisi, 2010, 24, 168-187

fakat bana göre, aynı sayıda toplam model için eğitilmiş (toplam kat sayısı) tekrarlanan K-katlama, iç içe K-katlamadan daha az önyargılı ve daha doğru tahmin edicileri sağlar. Bunu görmek için:

Tekrarlanan K-katlama, toplam K örneğimizin aynı K için yuvalanmış K-katlamadan daha büyük bir kısmını kullanır (yani daha düşük yanlılığa yol açar)

Buna hayır derdim: Model eğitiminin nasıl kullandığı önemli değil.k1kn
k

100 yineleme, tahmin edicimizin iç içe geçmiş K-katında (K = 10) sadece 10 ölçümünü verirken, K-katında 100 ölçüm yapar (daha fazla ölçüm P2'de daha düşük varyansa neden olur)

Bunun bir fark yaratıp yaratmayacağı (vekil) modellerin kararsızlığına bağlıdır, yukarıya bakın. Kararlı modeller için önemli değildir. Bu yüzden 1000 veya 100 dış tekrar / yineleme yapıp yapmadığınız olabilir.


Ve bu yazı kesinlikle bu konudaki okuma listesine aittir: Cawley, GC ve Talbot, NLC Model Seçiminde Aşırı Uygunluk ve Performans Değerlendirmede Sonraki Seçim Yanlılığı, Makine Öğrenimi Araştırmaları Dergisi, 2010, 11, 2079-2107


6

Bunu açıklayan önemli bir referans:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Ayrıca bakınız:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

Kendi çalışmamda, veri bölmenin tatmin edici bir şekilde çalışması için 10.000'e yaklaşan eğitim ve test örneği boyutları gerektirdiğini gördüm.


Frank - Bunlar harika kaynaklar. Acaba bu bilginin @Dan'ın cevabında sağladıkları ile nasıl bir ilgisi olduğunu merak ediyorum. Belki de bunu yanlış okuyorum ama toplum bu konuda bölünmüş gibi görünüyor.
Amelio Vazquez-Reina,

İlkini okumak için zamanım olmadı, ama ikincisi olduğu gibi, hızlıca bir göz attım ve belgelerimin tam olarak ne dediğini yankılandım. "İstatistiksel analiz" bölümüne yakından bakın, Dikran'ın yukarıda bağladığım gönderide tanımladığı özellik seçme sürecini tarif ettiklerini göreceksiniz. Çalıştıkları insanların böyle yapmadıklarını tahmin ediyorum ve bu yüzden “Yetersiz doğrulama nedeniyle, seçtiğimiz çalışmalarımız kendi analizlerimizle karşılaştırıldığında aşırı başarılı sonuçlar yayınladı.” Herhangi bir anlaşmazlık olduğunu sanmıyorum.
Dan L,

4

Model oluşturma sürecinize gerçekten bağlı, ancak bu makaleyi yararlı buldum

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

Burada tartışılanın ana noktası, performansını tahmin etmek için kullandığınız şeyi temel alarak modelinizi seçmeniz durumunda ortaya çıkacak olan önemli liberal önyargıdır (model performansının gerçekte olacağından daha iyi olacağını tahmin eder). Bu nedenle, modelinizi çapraz doğrulama hatasına bakarak olası bir dizi modelden seçiyorsanız, model performansını tahmin etmek için çapraz doğrulama hatasını (veya başka bir dahili tahmin yöntemini) kullanmamalısınız.

Başka bir yararlı kaynak

/stats//a/27751/26589

Bu gönderi, tüm veriler "göründüğünde" özelliklerinizi seçmenizin model performansında liberal bir önyargıya neden olacağına dair net bir örnek ortaya koymaktadır (modelinizin gerçekte olduğundan daha iyi performans göstereceğini söyleyerek).

Yaptığınız şeye daha spesifik bir örnek vermemi istersen, oluşturduğunuz modellerin genel bir tanımını verebilirsiniz (ne kadar veriye sahipseniz, kaç tane özellik seçtiğinizden, gerçek model, vb.)


Teşekkürler Dan. Bunların hepsi ilginç. Basit olması için, ikili sınıflandırma için (<~ 10 parametresi) bir SVM'nin (örneğin bir RBF çekirdeği) çekirdek parametrelerini tahmin etmeye çalıştığımızı ve büyük bir popülasyondan 100 örnekle (örn. 20 pozitif) çalıştığımızı varsayabiliriz.
Amelio Vazquez-Reina,

Birkaç hızlı soru. 1) SVM'lerinizi oluştururken, kendinize 10 parametrenin bir alt kümesini seçme izni veriyor musunuz, yoksa her zaman size verilenleri mi kullanıyorsunuz? 2) Farklı çekirdek veya modelleri (lojistik, rastgele ormanlar vb.) Hiç düşündünüz mü? 3) Hangi yazılımı / paketi kullanıyorsunuz? Dahili çapraz doğrulama uygulamaları çeşitlilik gösterir ve hangisini kullanacağınızı bilmek isterim.
Dan L,

Thank you @Dan - Modeller ve parametreler arasında bir ızgara araması yapıyorum (örn., Çekirdekler ve parametreler ızgara aramalarında farklıdır). Şebeke aramadaki her deney için CV yapıyorum (tekrarlanan K-kat çapraz doğrulama). Scikit-learn kullanıyorum.
Amelio Vazquez-Reina

1
Teşekkürler @Dan. Sanırım iç içe çapraz doğrulama ile ilgili geriye kalan tek sorum, modelin nasıl seçileceği (dış döngünün her katında farklı bir model elde ettiğimden). Bu dış döngüde en yüksek puana sahip olan modeli seçmek bana mantıklı gelmeyecek, çünkü her kattaki kazanan model veri setinin farklı bir kısmına karşı ölçülüyor.
Amelio Vazquez-Reina,

1
Diyelim ki 3 dış kıvrımınız var. Bu, tüm model oluşturma işlemini 3 kez gerçekleştirerek size üç farklı model verdiğiniz anlamına gelir. Sonunda bu modellerden hiçbirini kullanmazsınız - son modelinizi elde etmek için tüm model oluşturma işlemini tüm verilerinizde çalıştırırsınız (muhtemelen bağımsız bir değerlendirme seti hariç). Bu, fazladan donmaya yol açacak gibi görünüyor, ancak model oluşturma stratejiniz sona ererse, aynı zamanda dış çapraz onaylamada da uygun olmalı ve daha yüksek bir hata tahminine yol açmalıdır.
Dan L,

2

Anlayışınızın doğru olduğunu düşünüyorum, tek bir bekletme testi seti kullanılarak elde edilen zarar tahmincisi genellikle yüksek değişkenliğe sahiptir. K-kıvrımlar çapraz onaylama gibi bir şey yaparak, kaybın dağılımının yanı sıra kaybı hakkında daha doğru bir fikir edinebilirsiniz.

Genellikle bir tradeoff olur, CV ne kadar fazla katlanırsa, tahmininiz o kadar iyi olur, ancak daha fazla hesaplama süresi gerekir.


Teşekkürler. Sorumu daha da netleştirmek için OP’ye bir arka plan parçası ekledim.
Amelio Vazquez-Reina
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.