K-kat çapraz doğrulaması yaptığımızda, sadece en yüksek test doğruluğuna sahip sınıflandırıcıyı mı kullanmalıyız? Çapraz sınıflandırmadan sınıflandırıcı elde etmede genellikle en iyi yaklaşım nedir?
K-kat çapraz doğrulaması yaptığımızda, sadece en yüksek test doğruluğuna sahip sınıflandırıcıyı mı kullanmalıyız? Çapraz sınıflandırmadan sınıflandırıcı elde etmede genellikle en iyi yaklaşım nedir?
Yanıtlar:
Bu iki şeyden herhangi birini yapmak istediğinizde çapraz doğrulama yaparsınız:
Model seçimi farklı senaryolarda olabilir:
(hem bir algoritma seçtiyseniz - model olarak adlandırmak daha iyi - hem de hiper parametre araması yapıyorsanız, İç İçe Çapraz Doğrulama yapmanız gerektiğini unutmayın. İç İçe Özgeçmiş gerçekten gerekli mi? )
Çapraz doğrulama, bir dereceye kadar hata tahmininin o model için genelleme hatası olarak mümkün olan en yakın olmasını sağlar (bu yaklaşık olarak çok zor olsa da). Kıvrımlar arasındaki ortalama hatayı gözlemlerken, tam veri kümesine dayanan bir model için beklenen hatayı iyi bir şekilde yansıtabilirsiniz. Ayrıca tahminin varyansını gözlemlemek de önemlidir, bu, hatanın kattan katına ne kadar değiştiğidir. Varyasyon çok yüksekse (oldukça farklı değerler), model kararsız olma eğilimindedir. Önyükleme bu anlamda iyi bir yaklaşım sağlayan diğer yöntemdir. "İstatistiksel Öğrenmenin Unsurları" Kitabı ile ilgili 7. bölümü ücretsiz olarak okumanızı tavsiye ederim: ELS-Standford
Daha önce de belirtildiği gibi, inşa edilen modeli kıvrımların hiçbirine almamalısınız. Bunun yerine, modeli tam veri kümesiyle (katlara bölünmüş olan) yeniden oluşturmanız gerekir. Ayrılmış bir test setiniz varsa, CV tarafından elde edilene benzer bir (ve kesinlikle daha yüksek) bir hata elde ederek bu son modeli denemek için kullanabilirsiniz. Bununla birlikte, CV prosedürü tarafından verilen tahmini hataya güvenmelisiniz.
Farklı modellerle (algoritma kombinasyonu vb.) CV yaptıktan sonra, hata ve kıvrımlar arasındaki varyans konusunda daha iyi performans göstereni seçin. Modeli tüm veri kümesiyle yeniden oluşturmanız gerekir. İşte terimlerle ortak bir karışıklık geliyor: modelin, modelin verilere dayalı tahmin etmeye hazır bir model olduğunu düşünerek, model seçimine atıfta bulunuyoruz, ancak bu durumda, uyguladığınız algoritma + ön işleme prosedürlerinin kombinasyonunu ifade eder. Bu nedenle, tahminler / sınıflandırma yapmak için ihtiyacınız olan gerçek modeli elde etmek için, tüm veri kümesinde kazanan kombinasyonu kullanarak oluşturmanız gerekir.
Dikkat edilmesi gereken son şey, sınıf bilgisini (özellik seçimi, LDA boyutsallık azaltma, vb.) Kullanan herhangi bir önişleme uygularsanız, bunun daha önce verilerde değil, her katta gerçekleştirilmesi gerektiğidir. Bu kritik bir husustur. Verilerin doğrudan bilgisini (PCA, normalleştirme, standardizasyon, vb.) İçeren ön işleme yöntemleri uyguluyorsanız da aynı işlemi yapmalısınız. Bununla birlikte, verilere bağlı olmayan önişlemleri uygulayabilirsiniz (uzman görüşünden sonra bir değişkeni silmek, ancak bu çok açıktır). Bu video size şu yönde yardımcı olabilir: Doğru ve yanlış CV'ye sahip olun
Burada konuyla ilgili son güzel bir açıklama: CV ve model seçimi
Hayır. K katı çapraz doğrulama sırasında oluşturulan k sınıflandırıcılarından hiçbirini seçmezsiniz. Her şeyden önce, çapraz validasyonun amacı bir öngörücü model bulmak değil, bir öngörücü modelin pratikte ne kadar doğru performans göstereceğini değerlendirmektir. İkincisi, argüman uğruna, diyelim ki belirli bir sınıflandırma problemini çözmek için üç farklı sınıflandırma algoritmasından hangisinin en uygun olacağını bulmak için k = 10 ile k-kat çapraz doğrulamayı kullanacaksınız. Bu durumda, veriler rastgele olarak eşit büyüklükteki k bölümlerine ayrılır. Parçalardan biri test için ayrılmıştır ve geri kalan k-1 parçaları eğitim için kullanılacaktır. Çapraz doğrulama işlemi k (katlama) kez tekrarlanır, böylece her yinelemede test için farklı kısım kullanılır. Çapraz doğrulamayı çalıştırdıktan sonra, her bir katlamanın sonuçlarına bakarsınız ve hangi sınıflandırma algoritmasının (eğitilmiş modellerden herhangi biri değil!) En uygun olduğunu merak edersiniz. 10 yinelemeden birinde en yüksek test doğruluğuna sahip olan algoritmayı seçmek istemezsiniz, çünkü belki de sadece belirli bir yinelemedeki test verilerinin çok kolay örnekler içerdiğini ve bunun sonucunda yüksek test doğruluğuna yol açtığını rastgele meydana getirdi. Yapmak istediğiniz, en iyi doğruluğu üreten algoritmayı seçmek bu da yüksek test doğruluğuna yol açar. Yapmak istediğiniz, en iyi doğruluğu üreten algoritmayı seçmek bu da yüksek test doğruluğuna yol açar. Yapmak istediğiniz, en iyi doğruluğu üreten algoritmayı seçmektüm k kıvrımları ortalaması alınmıştır . Şimdi algoritmayı seçtiğinize göre, tüm egzersiz verilerinizi kullanarak onu eğitebilir ve vahşi doğada tahminler yapmaya başlayabilirsiniz.
Bu, bu sorunun kapsamı dışındadır, ancak seçilen algoritmadan en iyi şekilde yararlanmak için modelin hiper parametrelerini (varsa) da optimize etmelisiniz. İnsanlar genellikle çapraz doğrulama kullanarak hiperparametre optimizasyonu yapar.
Bu nedenle,% 80'ini eğitim olarak kullandığınız ve% 20'sini doğrulama verileri olarak kullandığınız eğitiminiz olduğunu varsayalım. % 80'i eğitebilir ve kalan% 20'yi test edebiliriz, ancak aldığımız% 20'nin gerçek test verilerine benzememesi ve kötü sonuç vermesi mümkündür. Bu nedenle, bunu önlemek için k-kat çapraz doğrulamayı kullanabiliriz.
Farklı modellere sahip olduğunuzu ve veri kümenizle hangisinin daha iyi performans gösterdiğini bilmek istediğinizi varsayalım, k katlı çapraz doğrulama harika çalışıyor. K-validasyon performanslarındaki validasyon hatalarını bilebilir ve buna göre daha iyi bir model seçebilirsiniz. Bu genellikle k-kat çapraz doğrulamanın amacıdır.
Sadece bir modele geliyor ve k katlama çapraz doğrulaması ile kontrol ediyorsanız, yaklaşık test verisi hatası alabilirsiniz, ancak when you are actually training it finally, you can use the complete training data
. (Çünkü burada tüm verilerin birlikte bir kısmından daha iyi performans göstereceği varsayılmaktadır. Bazen durum böyle olmayabilir, ancak genel varsayım budur.)