CV katlamadan sonraki adım nedir?
Bu video dersine rastladım https://www.youtube.com/watch?v=wjILv3-UGM8k kat çapraz doğrulama (CV). Video dersinde verilen algoritma aşağıda sunulmuştur:
k = 1: 5 için
k hariç her şeyi eğitmek
model al $M_{\tilde{k}}$
doğruluğu hesaplamak $k$ gibi $A_k$
son
Nihai çapraz doğrulama doğruluğunu hesaplayın: $A = > \frac{1}{5}\sum_{k=1}^5 A_k$
Bu benim için oldukça açık. Buraya$M$sanırım sadece tek bir makine öğrenimi algoritması türü. Ancak 6:35 zaman damgasında sunum yapan kişi, üretilen 5 farklı modelin hepsiyle ne yapacağımız sorusunu gündeme getiriyor. Ona göre ya tüm modelleri birleştirip buna göre karar veriyoruz ya da 5 modelden en iyi modeli çıkarıyoruz . Bu ifade doğru mu?
Buradaki dahil birçok sitede (https://stats.stackexchange.com/questions/310953/doubt-about-k-fold-crossvalidation?noredirect=1&lq=1 ; https://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validation ve https://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validation) ve araştırma makaleleri şunu anladım:
- k kat CV kullanarak model eğitimi yapmak için, CV döngüsünün bitiminden sonra tüm veri setini yeniden eğitiyoruz ve bu son modeldir.
- CV eğitimi yapma fikri, ML algoritmasının tüm veri setindeki doğruluğunu kontrol etmekse, CV döngüsünün içinden herhangi bir model seçmeyiz.
- Bununla birlikte, birden fazla ML algoritmamız varsa, CV döngüsü içinde rastgele orman, sinir ağı, SVM diyorsak, o zaman en yüksek doğrulukta algoritmayı seçeriz.
- Başka bir teknik olan iç içe geçmiş çapraz doğrulama, hiperparametre ayarı için kullanılır.
Anladığım doğru mu?
Yanıtlar
Bağlantılı videoyu izlemedim, ancak açıklamalarınıza dayanarak: evet, anladığınız doğru.
Yaygın bir kafa karışıklığı, çapraz doğrulamanın normal bir eğitim aşamasına benzer olduğunu ve bu nedenle bir model ürettiğini varsaymaktır. Bu varsayım yanlıştır: CV , yöntemi / parametreleri değerlendirmek amacıyla tekrarlanan eğitimi / testi içerir . Bu anlayıştan şu sonuç çıkar:
k kat CV kullanarak model eğitimi yapmak için, CV döngüsünün bitiminden sonra tüm veri setini yeniden eğitiyoruz ve bu son modeldir.
Evet, nihai modeli olabildiğince doğru elde etmek istediğimiz için tüm verileri kullanmalıyız. Bu durumda, performansın iyi bir tahminini hesaplamak için CV kullanılmıştır.
CV eğitimi yapma fikri, tüm veri setinde ML algoritmasının doğruluğunu kontrol etmekse, CV döngüsünün içinden herhangi bir model seçmeyiz.
Doğru, yoksa CV kullanmanın bir anlamı yok.
Bununla birlikte, birden fazla ML algoritmamız varsa, CV döngüsü içinde rastgele orman, sinir ağı, SVM diyorsak, o zaman en yüksek doğrulukta algoritmayı seçeriz.
Birden çok yöntemin ve / veya parametrenin değerlendirildiği herhangi bir durum, tek bir yöntemin normal durumundan biraz daha karmaşıktır: birden çok sistemi değerlendirmek, bazı parametreleri seçmemiz anlamında, kendi başına ek bir eğitim katmanıdır (tipik olarak en iyisi model) verilere göre. Bu, seçimin kendisinin CV aşamasında kullanılan tüm verilere dayandığı anlamına gelir, bu nedenle en iyi modelin CV performansı, bir eğitim setinde elde edilen performansa benzer. Bu nedenle, modelin nihai performansını elde etmek için başka bir test setine (veya iç içe geçmiş CV'ye) ihtiyaç vardır. Bunu anlamanın sezgisel bir yolu, örneğin CV'li milyonlarca modeli değerlendirmeyi hayal etmektir: En iyi performansın şans eseri olup olmadığını anlamanın tek yolu, ilgili modeli yeni bir test setinde değerlendirmektir.
Not: Tüm modellerin çıktılarını birleştirme durumu farklı bir hikaye çünkü bu tek bir meta modele indirgeniyor.
Video
inanıyorum videoda o dediğinde 5 farklı veri kümeleri üzerinde eğitilmiş 5 modelleri var biraz yanlıştır.
5 veri kümesinde eğitilmiş bir modeliniz var. Dolayısıyla 5 eğitimli modeliniz var.
Daha sonra oylamaya vb. Dayalı bir model seçmeyi önerdi. Bu, Ensemble modellerinin çalışma şeklidir, ancak Çapraz doğrulama Modelleri Birleştirme süreci için değildir
Neden K-Katlamalı CV K-Katlamalı CV'nin
temel amacı güvenilir bir tahmin sağlamaktır. mevcut tren verileriyle test hatası .
Basit bir bölünmüş yaklaşımda, doğrulama setinin modelin aşırı iyimser bir değerlendirmesine yol açan daha kolay örnekler içerdiği için şanslı olabiliriz .
Ya da doğrulama seti daha zor örnekler içerdiğinde ve modelin performansı hafife alındığında şanssız olabiliriz .
Model hatasının yalnızca bir tahminine değil, daha çok bir tahmin sayısına (K) dayanır.
Unutulmaması gereken en önemli nokta, hala tren veri kümeniz üzerinde çalıştığınızdır.
Bu yaklaşımla, test verilerinde kontrol etmeden önce eğitim puanının sahip olabileceğiniz en iyi (güvenilirlik) puan olduğundan daha emin olursunuz.
Bu nedenle, Model yapılandırmasına (Hiperparametre) daha fazla güvenebilirsiniz, çünkü
bu hala eğitim verisidir, Modeli tüm veri setinde tanımlanan hiperparametrelerle eğitmelisiniz.
Bununla birlikte, birden fazla ML algoritmamız varsa, CV döngüsü içinde rastgele orman, sinir ağı, SVM diyorsak, o zaman en yüksek doğrulukta algoritmayı seçeriz.
Bir K-Fold içinde birden fazla modelimiz olabileceğini sanmıyorum. Basit bir döngüde birden fazla modelde k-katını tekrarlamayı kastediyorsak. O zaman tek değerlendirme kriteri "puan" ise en yüksek puana sahip modeli seçebiliriz.