Cross-Validation
Çapraz doğrulamanın model genellemesini nasıl iyileştirdiğini ve aşırı uyumu nasıl önlediğini öğren. Sağlam ML 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 setine ayıran standart bir ayırma (hold-out) 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 setini birden çok alt kümeye bölmeyi içerir. Bu teknik, bir istatistiksel analizin sonuçlarının bağımsız bir veri setine nasıl genelleneceğini değerlendirmek için kritiktir ve modelin genellenebilir desenleri öğrenmek yerine eğitim örneklerini ezberleyebileceği aşırı öğrenmeyi (overfitting) tespit etmeye yardımcı olur.
Link to this sectionK-Katlamalı (K-Fold) Çapraz Doğrulamanın Mekanizması#
Bu tekniğin en yaygın kullanılan varyasyonu K-Katlamalı (K-Fold) Çapraz Doğrulama'dır. Bu süreçte, veri setinin tamamı rastgele k eşit boyutlu gruba veya "katlamaya" bölünür. Eğitim süreci daha sonra k kez tekrarlanır. Her yinelemede, tek bir katlama modeli test etmek için doğrulama verisi görevi görürken, geri kalan k-1 katlama eğitim verisi olarak hizmet eder.
Nihai performans metriği tipik olarak her döngüden elde edilen doğruluk, kesinlik veya Ortalama Ortalama Hassasiyet (mAP) gibi puanların ortalaması alınarak hesaplanır. Bu yaklaşım, tek bir eğitim-test ayrımı denemesine bağlı varyansı önemli ölçüde azaltarak genelleme hatasının daha güvenilir bir tahminini sağlar. Değerlendirmenin, test verilerinin rastgele bir seçimiyle taraflı olmamasını garanti eder.
Link to this sectionUltralytics ile Uygulama#
Çapraz doğrulama, özellikle daha küçük veri setleriyle çalışırken veya titiz hiperparametre ayarlaması yaparken oldukça faydalıdır. PyTorch gibi modern derin öğrenme çerçeveleri eğitim döngüsünü kolaylaştırsa da, katlamaları yönetmek dikkatli bir veri hazırlığı gerektirir.
The following example demonstrates how to iterate through pre-generated YAML configuration files for a 5-fold cross-validation experiment using the YOLO26 model. This assumes you have already split your dataset into five separate configuration files.
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}")Bölünme oluşturmayı otomatikleştirmekle ilgili daha derinlemesine bilgi için K-Katlamalı Çapraz Doğrulama kılavuzuna başvurun.
Link to this sectionGerçek Dünya Uygulamaları#
Çapraz doğrulama; verinin kıt olduğu, toplanmasının pahalı olduğu veya güvenlik açısından kritik güvenilirliğin gerekli olduğu endüstrilerde vazgeçilmezdir.
- Tıbbi Tanı: Tıbbi görüntü analizinde, nadir görülen durumlar için veri setleri genellikle küçüktür. Tek bir doğrulama ayrımı, zor vakaları veya nadir patolojileri kazara hariç tutabilir. Araştırmacılar, çapraz doğrulama kullanarak sağlık hizmetlerinde yapay zeka geliştirirken, tanısal modellerinin mevcut her hasta taramasına karşı test edilmesini sağlayarak sistemin farklı demografilerde ve ekipman türlerinde çalıştığını doğrularlar.
- Hassas Tarım: Çevresel koşullar dış ortamlarda büyük ölçüde değişir. Bitki hastalığı tespiti için eğitilen bir model güneşli günlerde iyi performans gösterebilir, ancak bu görüntüler yalnızca eğitim setindeyse bulutlu havalarda başarısız olabilir. Çapraz doğrulama, modelin bu tür değişikliklere karşı dirençli 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üvenmelerine yardımcı olur.
Link to this sectionModel Geliştirmede Stratejik Avantajlar#
Çapraz doğrulamayı Yapay Zeka geliştirme yaşam döngüsüne entegre etmek, yanlılık-varyans dengesi hakkında kritik bilgiler sağlar.
-
Kararlılık Değerlendirmesi: Performans metrikleri katlamalar 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 ettiğini gösterir.
-
Veri Verimliliği: Her gözlem nihayetinde hem eğitim hem de doğrulama için kullanıldığından, sınırlı verinin faydasını en üst düzeye çıkarır.
-
Hiperparametre Optimizasyonu: Nihai test setine "göz atmadan" en iyi öğrenme oranı, yığın boyutu (batch size) veya veri artırma stratejilerini seçmek için güvenilir bir karşılaştırma ölçütü sağlar.
Link to this sectionİlgili Kavramları Ayırt Etme#
Çapraz doğrulamayı diğer değerlendirme terimlerinden ayırmak önemlidir:
- vs. Hold-out Validation: Hold-out involves a single split (e.g., 80/20). While faster and suitable for massive datasets like ImageNet, it is less statistically robust than cross-validation for smaller datasets.
- vs. Bootstrapping: Bootstrapping, yerine koyarak rastgele örneklemeyi içerirken, K-Katlamalı çapraz doğrulama veriyi yerine koymadan bölümlere ayırır (her örnek tam olarak bir katlamadadır).
Birden çok katlamadan gelen çıktıları, metrikleri ve modelleri yönetmek karmaşık olabilir. Ultralytics Platform, merkezi deney takibi sunarak bunu basitleştirir, ekiplerin farklı katlamalardaki performansı karşılaştırmasına ve model değerlendirme içgörülerini zahmetsizce görselleştirmesine olanak tanır.






