Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Validation Data

Doğrulama verileri, hiperparametreleri ayarlamak, kontrol noktalarını seçmek ve son testten önce aşırı öğrenmeyi saptamak için geliştirme sırasında puanlanan ayrılmış veri kümesidir.

Doğrulama verileri, eğitimden ayrılan ve geliştirme sırasında modelleri karşılaştırmak, hiperparametreleri ayarlamak, kontrol noktalarını seçmek ve aşırı öğrenmeyi tespit etmek için tekrar tekrar puanlanan bir etiketli veri bölümüdür. Model, bu veriler üzerinde ağırlıklarını hiçbir zaman güncellemez. Bu nedenle doğrulama puanı, modelin eğitim verilerinden öğrendiklerini daha önce görmediği görüntülere ne kadar iyi aktarabildiğini gösterir. Doğrulama kümesi ve geliştirme (dev) kümesi eş anlamlıdır. Doğrulama puanlarına dayalı her karar, modeli belirli bir bölüme biraz daha uydurur. Bu nedenle son, tarafsız tahmin için ayrı bir test kümesi bir kenarda tutulur.

Eğitim, Doğrulama ve Test Bölmeleri#

Etiketli bir veri kümesi genellikle üç bölüme ayrılır:

  • Eğitim kümesi: Genellikle verilerin yüzde 70 ila 80'ini oluşturan ve optimize edicinin ağırlıkları uydurduğu örnekler.
  • Doğrulama kümesi: Öğrenme oranı, model boyutu, artırma gücü ve eğitimin ne zaman durdurulacağı gibi seçimlere yön vermek için eğitim çalışmaları veya epoch'lar sonrasında puanlanır.
  • Test kümesi: Beklenen gerçek dünya performansını raporlamak için tüm seçimler kesinleştikten sonra bir kez puanlanır.

Binlerce görüntü içeren veri kümelerinde 70/15/15 veya 80/10/10 oranlı bölümler yaygındır. Güvenilir tahminler için çok büyük veri kümelerinde daha küçük bir pay yeterlidir: ImageNet-1k, 1.281.167 eğitim görüntüsüne karşılık 50.000 doğrulama görüntüsünü ayırır. Test etiketleri herkese açık olmadığından ImageNet doğruluğu geleneksel olarak bu doğrulama kümesinde raporlanır ve doğrulama kümesi böylece test kümesi işlevi görür.

Yararlı bir doğrulama kümesi, modelin dağıtımda karşılaşacağı verilerle eşleşmeli ve eğitim kümesinden tamamen ayrı olmalıdır. Aynı video, hasta veya konumdan birden fazla görüntü gelmesi hâlinde rastgele görüntü düzeyindeki bölmeler bilgi sızıntısına yol açar; çünkü model nesne yerine sahneyi tanıyabilir. Hasta veya kayıt oturumu gibi gruplara göre bölmek, bu veri sızıntısını önler.

Hiperparametre Ayarı ve Model Seçimi#

Ağırlıklar gradyan inişi ile öğrenilir. Hiperparametreler ise birkaç aday eğitilip doğrulama puanı en iyi olan seçilerek belirlenir. Bu seçimi eğitim puanlarıyla yapmak mümkün değildir; çünkü daha büyük ve daha uzun süre eğitilmiş modeller, eğitim verilerine neredeyse her zaman daha iyi uyar. Aşağıdaki scikit-learn betiği, paketle birlikte gelen digits veri kümesinde bir karar ağacının derinliğini ayarlar:

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Split 1,797 digit images 60/20/20 into training, validation, and test sets
X, y = load_digits(return_X_y=True)
X_train, X_rest, y_train, y_rest = train_test_split(X, y, test_size=0.4, random_state=0, stratify=y)
X_val, X_test, y_val, y_test = train_test_split(X_rest, y_rest, test_size=0.5, random_state=0, stratify=y_rest)

# Fit one model per candidate tree depth and score each on the validation set
val_scores = {}
for depth in (2, 4, 8, 16):
    model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
    val_scores[depth] = model.score(X_val, y_val)
    print(f"depth {depth}: train {model.score(X_train, y_train):.3f}, validation {val_scores[depth]:.3f}")

# Refit the winner and score the test set exactly once
best = max(val_scores, key=val_scores.get)
final = DecisionTreeClassifier(max_depth=best, random_state=0).fit(X_train, y_train)
print(f"Chosen depth {best}: test accuracy {final.score(X_test, y_test):.3f}")

Ağaç derinleştikçe eğitim doğruluğu artmaya devam eder ve 16 derinlikte 1.000'e ulaşır. Doğrulama doğruluğu ise 8 derinlikte 0.836 ile zirve yapar, ağaç verileri ezberlemeye başladıkça 16 derinlikte 0.825'e düşer. Doğrulama süreci, dokunulmamış test kümesinde 0.853 puan alan 8 derinliği seçer.

Erken Durdurma ve Kontrol Noktası Seçimi#

Derin öğrenme eğitim döngüleri genellikle her epoch sonrasında doğrulama kümesini puanlar. Ağ eğitim verilerine giderek daha iyi uydukça eğitim kaybı düşmeye devam eder, ancak doğrulama kaybı veya doğruluğu sonunda yataylaşır ve ardından kötüleşir. Doğrulama puanı belirli sayıda epoch boyunca iyileşmediğinde, sabır eşiği olarak adlandırılan bu sayı kadar epoch beklendikten sonra erken durdurma eğitimi bitirir ve en iyi epoch'taki ağırlıkları korur.

Ultralytics'teki YOLO26 eğitimi, bu döngüyü varsayılan olarak çalıştırır: Her epoch sonrasında veri kümesi YAML dosyasındaki val bölümünü puanlar, en yüksek doğrulama uygunluğuna (tespit için mAP50-95) sahip epoch'u best.pt olarak kaydeder ve varsayılan olarak 100 olan patience epoch boyunca iyileşme olmazsa durur.

from ultralytics import YOLO

# Önceden eğitilmiş YOLO26 nano algılayıcıyı yükle
model = YOLO("yolo26n.pt")

# Her epoch sonrasında val bölümünde doğrulama yap ve 10 epoch boyunca iyileşme olmazsa dur
results = model.train(data="coco8.yaml", epochs=50, patience=10)

Küçük Veri Kümelerinde Çapraz Doğrulama#

Veri az olduğunda, verileri tek bir ayrılmış bölüme ayırmak örnekleri boşa harcar ve gürültülü bir puan üretir. K katlı çapraz doğrulama, verileri K kata böler ve her seferinde farklı bir katı doğrulama için ayıran K model eğitir. Ardından K puanın ortalamasını alır; böylece her örnek hem eğitim hem doğrulama için kullanılır. Beş ve on kat yaygındır. Tabakalı ve gruplu varyantlar, her kattaki sınıf oranlarını dengeler veya ilişkili görüntüleri bir arada tutar. Test kümesi tüm katların dışında kalır.

  • Test verileri: Sonda bir kez puanlanır. Seçim yapmak için tekrar kullanılması, test verilerini ikinci bir doğrulama kümesine dönüştürür ve puanın tarafsız bir tahmin olma özelliğini ortadan kaldırır.
  • Eğitim verileri: Optimize edicinin ağırlıkları öğrendiği tek bölüm.
  • Çapraz doğrulama: Hangi örneklerin doğrulama verisi olarak kullanılacağını sırayla değiştiren ve tek bir veri kümesinden K doğrulama puanı üreten bir yöntem.
  • Klinik ve düzenleyici metinlerde doğrulama: Tıp ve düzenlemeye tabi sektörlerde bir modeli doğrulamak, çoğu zaman tamamlanmış modeli bağımsız dış veriler üzerinde değerlendirmek anlamına gelir. Makine öğrenimi terminolojisinde bunun karşılığı test kümesidir.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla