Cross-Validation
Çapraz doğrulamanın model genellemesini nasıl iyileştirip aşırı öğrenmeyi nasıl önlediğini öğren. Sağlam makine öğrenmesi için Ultralytics YOLO26 ile K-Fold değerlendirmesini nasıl uygulayacağını keşfet.
Çapraz doğrulama, sınırlı bir veri örneği üzerinde makine öğrenimi (ML) modellerinin performansını değerlendirmek için kullanılan sağlam bir istatistiksel yeniden örnekleme prosedürüdür. Verileri tek bir eğitim ve test kümesine bölen standart ayırma yönteminin aksine çapraz doğrulama, her veri noktasının hem eğitim hem de doğrulama için kullanılmasını sağlamak amacıyla veri kümesini birden fazla alt kümeye ayırır. Bu teknik, bir istatistiksel analizin sonuçlarının bağımsız bir veri kümesine nasıl genellenebileceğini değerlendirmek için kritik öneme sahiptir ve bir modelin genellenebilir örüntüleri öğrenmek yerine eğitim örneklerini ezberleyebileceği aşırı uyumu tespit etmeye yardımcı olur.
K-Katlı Çapraz Doğrulamanın Mekanizması#
Bu tekniğin en yaygın kullanılan çeşidi K-Katlı Çapraz Doğrulama yöntemidir. Bu süreçte tüm veri kümesi rastgele, eşit boyutlu k gruba veya "katmana" ayrılır. Eğitim süreci daha sonra k kez tekrarlanır. Her yinelemede tek bir katman, modeli test etmek için doğrulama verisi görevi görürken kalan k-1 katman eğitim verisi olarak kullanılır.
Nihai performans metriği genellikle her döngüde elde edilen doğruluk, kesinlik veya Ortalama Kesinlik (mAP) gibi skorların ortalaması alınarak hesaplanır. Bu yaklaşım, eğitim-test ayırmasının tek bir denemesinden kaynaklanan varyansı önemli ölçüde azaltarak genelleme hatası için daha güvenilir bir tahmin sağlar. Değerlendirmenin, test verilerinin keyfi bir şekilde seçilmesi nedeniyle yanlı olmasını önler.
Ultralytics ile Uygulama#
Çapraz doğrulama, özellikle daha küçük veri kümeleriyle çalışırken veya titiz hiperparametre ayarlama işlemleri gerçekleştirirken kullanışlıdır. PyTorch gibi modern derin öğrenme çatılarının eğitim döngüsünü kolaylaştırmasına karşın katmanları yönetmek dikkatli veri hazırlığı gerektirir.
Aşağıdaki örnek, YOLO26 modeli kullanılarak gerçekleştirilen 5 katlı bir çapraz doğrulama deneyi için önceden oluşturulmuş YAML yapılandırma dosyaları arasında nasıl yineleme yapılacağını gösterir. Bu örnekte veri kümeni zaten beş ayrı yapılandırma dosyasına ayırdığın varsayılır.
from ultralytics import YOLO
# List of dataset configuration files representing 5 folds
fold_yamls = [f"dataset_fold_{i}.yaml" for i in range(5)]
for i, yaml_file in enumerate(fold_yamls):
# Load a fresh YOLO26 Nano model for each fold
model = YOLO("yolo26n.pt")
# Train the model, saving results to a unique project directory
results = model.train(data=yaml_file, epochs=20, project="cv_experiment", name=f"fold_{i}")Ayırma işlemi oluşturmayı otomatikleştirme hakkında daha ayrıntılı bilgi için K-Katlı Çapraz Doğrulama kılavuzuna bakabilirsin.
Gerçek Dünya Uygulamaları#
Çapraz doğrulama, verilerin kıt veya toplanmasının maliyetli olduğu ya da güvenlik açısından kritik güvenilirliğin gerekli olduğu sektörlerde vazgeçilmezdir.
- Tıbbi Tanı: Tıbbi görüntü analizinde nadir hastalıklara ilişkin veri kümeleri genellikle küçüktür. Tek bir doğrulama ayırma işlemi, zor vakaları veya nadir patolojileri yanlışlıkla dışarıda bırakabilir. Çapraz doğrulama kullanan sağlık hizmetlerinde AI geliştiren araştırmacılar, tanı modellerinin mevcut her hasta taramasına karşı test edilmesini sağlayarak sistemin farklı demografik gruplar ve ekipman türleri üzerinde çalıştığını doğrular.
- Hassas Tarım: Dış ortamlarda çevresel koşullar büyük ölçüde değişir. Ürün hastalığı tespiti için eğitilen bir model, bu görüntüler yalnızca eğitim kümesindeyse güneşli günlerde iyi performans gösterirken kapalı havalarda başarısız olabilir. Çapraz doğrulama, modelin bu tür değişikliklere karşı dayanıklı olmasını sağlayarak çiftçilerin hava koşullarından bağımsız olarak tutarlı izleme için otomatik makine öğrenimi (AutoML) araçlarına güvenmesine yardımcı olur.
Model Geliştirmede Stratejik Avantajlar#
Çapraz doğrulamayı AI geliştirme yaşam döngüsüne entegre etmek, yanlılık-varyans ödünleşimi hakkında önemli bilgiler sağlar.
-
Kararlılık Değerlendirmesi: Performans metrikleri katmanlar arasında önemli ölçüde değişiyorsa bu, modelin eğitim için kullanılan belirli veri noktalarına karşı oldukça hassas olduğunu ve yüksek varyansa işaret eder.
-
Veri Verimliliği: Her gözlem sonunda hem eğitim hem de doğrulama için kullanıldığı için sınırlı verinin faydasını en üst düzeye çıkarır.
-
Hiperparametre Optimizasyonu: Nihai test kümesine "bakmadan" en iyi öğrenme oranını, toplu iş boyutunu veya veri artırma stratejilerini seçmek için güvenilir bir kıyaslama ölçütü sağlar.
İlişkili Kavramları Birbirinden Ayırma#
Çapraz doğrulamayı diğer değerlendirme terimlerinden ayırmak önemlidir:
- Ayırma Doğrulamasına kıyasla: Ayırma doğrulaması tek bir bölme işlemi içerir (ör. 80/20). ImageNet gibi devasa veri kümeleri için daha hızlı ve uygun olsa da daha küçük veri kümelerinde çapraz doğrulamaya göre istatistiksel açıdan daha az sağlamdır.
- Bootstrap Yöntemine kıyasla: Bootstrap, yerine koymalı rastgele örneklemeyi içerirken K-Katlı çapraz doğrulama verileri yerine koymadan böler (her örnek tam olarak bir katmanda yer alır).
Birden fazla katmandan elde edilen yapıtları, metrikleri ve modelleri yönetmek karmaşık olabilir. Ultralytics Platformu, merkezi deney takibi sunarak ekiplerin farklı katmanlardaki performansı karşılaştırmasına ve model değerlendirme içgörülerini zahmetsizce görselleştirmesine olanak tanıyarak bu süreci kolaylaştırır.









