· ZNC Labs Ekibi · İstatistik & Matematik · 2 dk okuma
Aşırı Öğrenme (Overfitting) Nedir, Nasıl Fark Edilir?
Modeliniz eğitim verisinde mükemmel, gerçek veride kötü mü performans gösteriyor? Overfitting'in sebeplerini ve pratik çözümlerini anlatıyoruz.
Makine öğrenmesine yeni başlayanların neredeyse hepsinin düştüğü bir tuzak var: modeli eğitim verisinde test ettiklerinde %99 doğruluk görüp sevinmek, sonra gerçek/yeni veride modelin işe yaramadığını fark etmek. Bunun adı aşırı öğrenme, yani overfitting.
Overfitting aslında ne demek?
Bir model, eğitim verisindeki genel örüntüleri öğrenmek yerine o verinin kendine özgü gürültüsünü ve istisnalarını da ezberlerse overfitting olur. Model artık “öğrenmiyor”, eğitim setini neredeyse ezberliyordur. Sonuç: eğitim verisinde mükemmel, hiç görmediği veride zayıf performans.
Bunun tam tersi de var: underfitting (yetersiz öğrenme). Model o kadar basitse veya yeterince eğitilmemişse, eğitim verisinde bile düşük performans gösterir.
Nasıl fark edilir?
Standart yöntem veriyi eğitim ve test (hatta doğrulama) olarak ayırmaktır. Eğitim doğruluğu yükselirken test doğruluğu düşmeye veya sabitlenmeye başlıyorsa, bu overfitting’in klasik belirtisidir.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model.fit(X_train, y_train)
print('Eğitim skoru:', model.score(X_train, y_train))
print('Test skoru:', model.score(X_test, y_test))İki skor arasında büyük bir uçurum varsa (örneğin %98 ve %71), model muhtemelen eğitim verisini ezberlemiş demektir.
Önleme yöntemleri
- Daha fazla veri: Model ne kadar çeşitli örnek görürse, ezberlemek yerine genellemeye o kadar zorlanır.
- Düzenlileştirme (regularization): L1/L2 cezalandırma terimleri, modelin aşırı karmaşık hale gelmesini engeller.
- Daha basit model: Bazen problem, modelin kapasitesinin veri miktarına göre fazla olmasıdır; daha az parametreli bir model deneyin.
- Erken durdurma (early stopping): Özellikle sinir ağlarında, doğrulama hatası yükselmeye başladığı anda eğitimi durdurmak.
- Çapraz doğrulama (cross-validation): Tek bir eğitim/test bölünmesine güvenmek yerine veriyi farklı şekillerde bölüp ortalama performansa bakmak.
Neden önemli?
Overfitting, bir modelin demo’da harika görünüp üretimde başarısız olmasının en yaygın nedenlerinden biridir. Bu kavramı sağlam anlamadan ne model değerlendirmesi ne de MLOps süreçleri tam anlaşılabilir. Terimle ilgili daha fazla kavramı Yapay Zeka Sözlüğü’nde, pratik örnekleri ise platformdaki Orta: Makine Öğrenmesi öğrenim yolunda bulabilirsiniz.