Destek vektör makineleri için öğrenme parametrelerini seçme bağlamında çapraz doğrulama nasıl uygun şekilde uygulanır?


9

Harika libsvm paketi, sınıflandırıcının doğruluğunu en üst düzeye çıkaran öğrenme parametrelerini (maliyet ve gama) otomatik olarak arayan bir python arayüzü ve "easy.py" dosyası sağlar. Belirli bir öğrenme parametresi seti içinde, doğruluk çapraz doğrulama ile işlevselleştirilir, ancak bunun çapraz doğrulama amacını baltaladığını hissediyorum. Yani, öğrenme parametrelerinin kendileri, verilerin aşırı uyumuna neden olabilecek bir şekilde seçilebildiği sürece, daha uygun bir yaklaşımın, aramanın seviyesinde çapraz doğrulamayı uygulamak olacağını düşünüyorum: bir eğitim veri setinde ve daha sonra ayrı bir test veri setinde değerlendirerek, en son seçilen öğrenme parametrelerinden kaynaklanan SVM'nin kesin doğruluğunu değerlendirin. Yoksa burada bir şey mi kaçırıyorum?

Yanıtlar:


10

Tam egzersiz verilerindeki hiper parametreleri öğrenir ve ardından çapraz doğrularsanız, iyimser bir önyargılı performans tahmini elde edersiniz, çünkü her kattaki test verileri hiper parametrelerini ayarlamak için zaten kullanılmış olacaktır. seçilen parametreler kısmen test setindeki verilere uyduklarından seçilir. Bu şekilde sunulan iyimser önyargılar beklenmedik bir şekilde büyük olabilir. Bkz. Cawley ve Talbot, "Model Seçiminde Aşırı Uydurma ve Performans Değerlendirmede Sonraki Seçim Yanlılığı", JMLR 11 (Tem): 2079−2107, 2010.(Özellikle bölüm 5.3). Yapılacak en iyi şey iç içe çapraz doğrulamadır. Temel fikir, modeli oluşturmak için kullanılan tüm yöntemi çapraz doğrulamanızdır, bu nedenle model seçimine (hiper parametreleri seçerek) model montaj prosedürünün (parametrelerin belirlendiği yer) bir parçası olarak davranın ve gidemezsiniz. çok yanlış.

Hiper parametreleri belirlemek için eğitim setinde çapraz doğrulamayı kullanır ve daha sonra ayrı bir test seti kullanarak tüm eğitim setindeki bu parametreleri kullanarak eğitilmiş bir modelin performansını değerlendirirseniz, bu da iyidir (yeterli veriye sahip olmanız şartıyla) modelin güvenilir şekilde takılması ve ayrık bölümler kullanılarak performansın tahmin edilmesi için).


Güzel referans!
Andrew

İkinci paragrafta, özellik seçimi yapmayı da nasıl dahil edersiniz? Aşağıdakileri yapmak iyi olur: i) yukarıda belirtildiği gibi hiper parametre optimizasyonu yapmak (optimal hiper parametreleri almak) ii) bir dizi üst tahminci almak için başka bir çapraz doğrulama turunda özellik seçimini çalıştırmak (özellik seçimi, hiper parametre optimizasyonunda kullanılan herhangi bir yeniden örnekleme yöntemi kullanılarak bir alt eğitim ve doğrulama seti). iii) Tam hiper parametresi ve tam tahmin verisi üzerine ayarlanmış üst tahmincisi olan bir modeli eğitmek. Ayrı test setinde test edin.
sma

ii) biraz daha açık olmak için ii) bir dizi en iyi yordayıcıyı elde etmek için başka bir çapraz doğrulama turunda özellik seçimini çalıştırın (eğitim verileri, alt parametre ve doğrulama parametresine hiper parametre optimizasyonunda kullanılan yeniden örnekleme yöntemi ile ayrılır. veri aktarımı).
sma

Alternatif olarak, en iyi özellik setini almak için ilk önce çapraz doğrulama yoluyla özellik seçimi yapılabilir, ardından en iyi özellik setini kullanarak (yukarıdaki çapraz doğrulamada olduğu gibi) ilgili hangi modellerin hiper parametre ayarlaması yapılabilir? Daha sonra, modelleri önceden belirlenmiş en iyi özellik seti ile tam egzersiz verileri üzerinde optimum hiper parametreleriyle eğitin ve ayrı test seti üzerinde test yapın?
sma

0

Test veri düzeyinde yapıldığı için LIBSVM durumunda çapraz doğrulamanın yanlış kullanıldığını düşünmüyorum. Tek yaptığı k-kat çapraz doğrulaması ve RBF çekirdeği için en iyi parametreyi aramak. Kabul etmediğinizi bildirin.


Hiper-parametrelerin seçimi hiçbir şekilde test verilerini içermemelidir, çünkü bu iyimser bir şekilde taraflı bir performans tahminine yol açacaktır. Esasen hiper parametrelerin seçilmesi, SVM'nin takılmasının ayrılmaz bir parçası olarak ele alınmalıdır, bu nedenle test prosedürünün hiper parametrelerin seçimi nedeniyle hatayı da test etmesi gerekir, soruya cevabımda başvurduğum makaleme bakın (açık erişimdir).
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.