Training Data
Eğitim verileri, modelin ağırlıklarını öğrendiği örnekler kümesidir. Doğrulama ve test verilerinden farkını ve etiket kalitesinin neden veri miktarı kadar önemli olduğunu öğren.
Eğitim verisi, bir makine öğrenmesi modelinin öğrendiği örnekler kümesidir. Eğitim sırasında bir en iyileştirici, bu örneklerdeki hatayı azaltmak için modelin ağırlıklarını tekrar tekrar ayarlar; dolayısıyla modelin öğrenebileceklerini bu örnekler belirler. Denetimli öğrenmede her örnek, bir sokak fotoğrafında her otomobil ve yaya için sınırlayıcı kutu ve sınıf adı bulunması gibi, bir girdiyi doğru yanıtıyla eşleştirir. Öz denetimli ve denetimsiz öğrenme yöntemleri ham girdilerle ve etiket olmadan eğitim yapar. Eğitim kümesi eş anlamlı bir terimdir; çoğu projede kullanılabilir verinin en büyük bölümünü, genellikle yüzde 70 ila 80'ini oluşturur.
Modeller Eğitim Verisini Nasıl Kullanır#
Model, eğitim verisini gruplar hâlinde işler. Her grup için tahminler üretir; bir kayıp fonksiyonu bu tahminlerin etiketlerden ne kadar saptığını ölçer, geri yayılım her ağırlığın hataya katkısını hesaplar ve en iyileştirici hatayı azaltmak için ağırlıkları azar azar günceller. Eğitim kümesinin tamamının bir kez işlenmesine epok denir ve eğitim genellikle onlarca ila yüzlerce epok sürer.
Model tam olarak bu örnekler üzerinde en iyilendiği için, bu örneklerde aldığı puan yeni verilerde ne kadar başarılı olacağını olduğundan yüksek gösterir. Bunun için eğitim sırasında kullanılmayan iki veri bölümü devreye girer. Doğrulama verisi, hiperparametreleri ve kontrol noktalarını seçmek için geliştirme sırasında puanlanır; test verisi ise gerçek dünya performansını tahmin etmek üzere en sonda bir kez puanlanır. Eğitim ve doğrulama puanları arasındaki büyük fark, modelin genellenebilir örüntüleri öğrenmek yerine eğitim örneklerini ezberlediği aşırı öğrenmeye işaret eder. Her iki puanın da düşük olması yetersiz öğrenmeye işaret eder. Bölümler aynı görüntüleri içermemelidir: Aynı videodan alınmış neredeyse aynı karelerin veya aynı hastaya ait taramaların iki bölümde de bulunması veri sızıntısına yol açar ve test sırasında elde edilen tüm puanları şişirir.
Miktar, Kalite ve Kapsam#
Bir eğitim kümesinin üç özelliği, modelin ne ölçüde genelleme yapabileceğini belirler:
- Miktar: Daha fazla örnek yararlıdır, ancak getirisi giderek azalır. Aktarım öğrenmesi yoluyla önceden eğitilmiş bir modelden başlamak, yeni bir görevin ihtiyaç duyduğu etiketli örnek sayısını azaltır.
- Kalite: Yanlış, eksik veya tutarsız çizilmiş her etiket modele yanlış bir şey öğretir. Tutarlı veri etiketleme yönergeleri, etiket sayısı kadar önemlidir.
- Kapsam: Örnekler, aydınlatma, hava durumu, kamera açıları, arka planlar ve nadir sınıflar gibi modelin karşılaşacağı koşulları kapsamalıdır. Yalnızca gündüz görüntüleriyle eğitilen bir algılayıcı gece çalışmaz; yüzdeki eksik cilt tonları gibi boşluklar demografik gruplarla örtüştüğünde veri kümesi önyargısına dönüşür.
Aşağıdaki scikit-learn betiği, paketle birlikte gelen el yazısı rakam veri kümesinde aynı sınıflandırıcıyı farklı eğitim kümeleriyle eğitir ve her modeli sabit bir test bölümünde puanlar:
import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# 1,797 labeled 8x8 digit images; hold out 30% to score every model
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)
# Reassign 30% of the training labels at random to simulate careless labeling
rng = np.random.default_rng(0)
y_noisy = y_train.copy()
flip = rng.random(len(y_train)) < 0.3
y_noisy[flip] = rng.integers(0, 10, flip.sum())
# Train the same model on three different training sets
for name, n, labels in [("50 clean", 50, y_train), ("1,257 clean", 1257, y_train), ("1,257 noisy", 1257, y_noisy)]:
model = LogisticRegression(max_iter=5000).fit(X_train[:n], labels[:n])
print(f"{name}: test accuracy {model.score(X_test, y_test):.3f}")Temiz eğitim kümesini 50 görüntüden 1,257 görüntüye çıkarmak, test doğruluğunu 0.863'ten 0.961'e yükseltir. 1,257 etiketin 315'inin (yüzde 25) yanlış olduğu gürültülü çalıştırmanın puanı 0.861'dir; bu, 50 temiz görüntüyle eğitilen modelden daha iyi değildir.
Eğitim Kümesi Oluşturma#
Ekipler eğitim verilerini kamuya açık veri kümelerinden, kendi kameralarından ve günlüklerinden, giderek artan ölçüde de sentetik veriden bir araya getirir. Kamuya açık kıyaslama veri kümeleri iyi bir başlangıç noktası sunar: COCO veri kümesi, algılama, segmentasyon ve açıklama etiketleriyle 118,287 eğitim görüntüsü sağlar. Ham koleksiyonlar daha sonra yinelenenleri, bozuk dosyaları ve hedef dışı görüntüleri kaldırmak için veri temizlemeden ve ardından etiketleme ve incelemeden geçer. Veri artırma, çevirmeler, kırpmalar, renk değişimleri ve mozaiklerle eğitim sırasında elde edilen çeşitliliği çoğaltır; ancak yalnızca toplanmış verileri yeniden birleştirebilir. Bu nedenle eksik bir koşul için yine de fotoğraf çekmek gerekir.
Ultralytics YOLO, eğitim verisini veri kümesi YAML dosyasının train yolundan okur ve her görüntüyü nesne başına bir satır içeren .txt etiket dosyasıyla eşleştirir. Her satırda sınıf indeksi ve ardından görüntü boyutlarına göre normalleştirilmiş kutu merkezi, genişliği ve yüksekliği bulunur. Tüm bölümlerde aynı YOLO veri kümesi biçimi kullanılır; dolayısıyla bölümleri yeniden dengelemek için görüntüleri ve etiket dosyalarını klasörler arasında taşımak gerekir.
from ultralytics import YOLO
# Önceden eğitilmiş bir YOLO26 nano modeli yükle
model = YOLO("yolo26n.pt")
# coco8.yaml eğitim görüntülerini (train: images/train) ve doğrulama görüntülerini (val: images/val) listeler
results = model.train(data="coco8.yaml", epochs=5)YOLO26 modeli, bir eğitim işlem hattının baştan sona çalıştığını kontrol etmek için kullanılan küçük bir örnek olan COCO8 veri kümesindeki dört eğitim görüntüsüyle ince ayar yapar.
Eğitim Verisi ve İlişkili Terimler#
- Doğrulama verisi: Eğitim sırasında ne zaman durdurulacağı gibi geliştirme kararlarına yön veren, eğitimde kullanılmayan bir veri bölümüdür. Model bu bölüm üzerinde ağırlıklarını hiçbir zaman güncellemez.
- Test verisi: En sonda bir kez puanlanan, eğitimde kullanılmayan bir veri bölümüdür; böylece sonuç yeni verilerdeki performansın tarafsız bir tahminini verir.
- Gerçek değer: Örneklere eklenen doğru yanıtlardır. Denetimli öğrenmede eğitim verisi gerçek değerleri içerir, ancak puanlama için her bölümde bunların bulunması gerekir.
- Altın veri kümesi: Değerlendirme ve etiketleyici kalite kontrollerinde güvenilir referans olarak kullanılan, uzmanlarca doğrulanmış küçük bir küme.
- Kıyaslama veri kümesi: Modelleri karşılaştırmak için sabit bölümlere ayrılmış herkese açık bir veri kümesi. Eğitim bölümü çoğu zaman ön eğitim verisi olarak da kullanılır; COCO val2017'nin 5.000 görüntülük bölümü gibi ayrılmış bölümü ise birçok tespit makalesinin mAP raporladığı skor tablosuna dönüşür.










