Overfitting (Aşırı Öğrenme), Underfitting (Eksik Öğrenme) ve Bias- Variance Tradeoff (Yanlılık/Varyans İkilemi)

Hilal Gevrek
4 min readJan 8, 2023

Makine öğrenmesi modelleriyle uğraştıysanız generalization kavramını daha önce duymuşsunuzdur. Generalization yani genelleme, makine öğrenmesi algoritmalarını kullanarak geliştirdiğiniz modelinizde, modelinizin eğitim (train) için kullandığınız verilere karşılık, yeni ve önceden görülmemiş test verileri karşısında doğru tahmin yapabilme yeteneğini ifade eder. Peki modelinizin ne kadar iyi tahmin yapabileceğini öngörmek mümkün müdür? Gelin, beraber inceleyelim.

  • Overfitting (aşırı öğrenme) ve underfitting (eksik öğrenme) ne anlama gelir?

Bildiğiniz üzere makine öğrenmesinde supervised (denetimli) modellerde tahminleme sistematiğini geliştirmek için verileri train (eğitim) ve test olmak üzere iki ayrı veri seti olacak şekilde ayırırız. Bu sayede eldeki veriden örüntüler öğrenip bu örüntüleri kullanarak tahminleme yapan bir model geliştirmeyi hedefleriz. Ancak bazı durumlarda zayıf bir performansla karşılaşabiliriz. Modelin zayıf performans göstermesine neden olan temelde iki etken vardır. Modelin eğitimde kullanılan veri setini aşırı öğrenmesi yani overfitting durumu ya da eksik öğrenmesi sonucu ortaya çıkan underfitting durumu.

Modelin örüntüler yerine gözlemleri (observation yani veri setimizdeki her bir satır) öğrenmeye başlaması sonucu aşırı öğrenme ortaya çıkacaktır. Ancak bu şekilde geliştirilen bir modelin, yeterli bir tahmin algoritması geliştirilmediğinden, ilk defa gördüğü veriler ile karşılaştığında iyi bir tahminde bulunma olasılığı oldukça düşük olacaktır.

Modelin gözlemlerdeki örüntüyü eksik yakalaması durumunda ise eksik öğrenme ortaya çıkacaktır. Bu durumdaki bir modelin de iyi tahmin yapma ihtimali yine düşük olacaktır.

  • Overfitting ve underfitting’de bias ve variance durumları

Bias (taraflılık, yanlılık), kelime anlamı olarak bir fikir ya da şey hakkında oransız bir şekilde olumlu ya da olumsuz tutum anlamına gelmektedir.

Varyans (variance, değişim) kavramı ise dağılıma ait her bir değerin dağılımın ortalamasından ne kadar uzak olduğuyla ilgilidir.

Her iki kavramın da kelime anlamına değindiğimize göre biraz daha spesifik bir inceleme ile ilerleyebiliriz.

Bias, bize bir modelin yanlı olup olmadığı hakkında fikir verirken; varyans, modelin tahmin ettiği verilerin, gerçek verilerin etrafında nasıl bir dağılım gösterdiği hakkında fikir verecektir.

Şimdi gelin, underfitting ve overfitting kavramlarını biraz da grafikler üzerinden açıklayarak devam edelim.

Overfitting:

Aşağıdaki grafik aşırı öğrenmiş bir modelin tahmin ve gerçek değerlerini göstermektedir.

Aşırı öğrenme

Yukarıdaki grafik, yüksek değişkenlik yani yüksek esnekliğe sahip bir modele aittir. Model, eğitim verisindeki düşük değişimlere bile aşırı duyarlılık gösterecek ve overfit (aşırı öğrenmiş) duruma düşecektir. Şekilden de anlaşılacağı üzere mavi çizgi ile belirtilen tahmin değerleri tüm eğitim algoritmasını takip etmiş ve veriyi ezberleme hatasına düşmüştür. Dolayısıyla yüksek değişkenliğe sahip bir grafik ortaya çıkmıştır.

Underfitting:

Aşağıdaki grafik eksik öğrenmiş bir modelin tahmin ve gerçek değerlerini göstermektedir.

Eksik öğrenme

Yukarıdaki grafik, yüksek yanlılığa sahip underfit durumundaki bir modele aittir. Grafikten de anlaşılacağı üzere tahmin algoritması featurelar (veri setindeki sütunlar) ve target value (label, hedef değişken) arasındaki ilişkiyi doğru kurgulayamamış ve bazı gözlemlerde yanlı bir tutum sergilemiştir.

  • Dengeyi nasıl sağlayabiliriz?

Doğru değer dengesini bulmak, ‘bias- variance tradeoff’ olarak bilinir. Biraz daha açacak olursak, ‘Denetimli öğrenme algoritmalarının eğitim setlerinin ötesinde genelleme yapmasını önleyen iki hata kaynağını aynı anda en aza indirme sorunu’ diyebiliriz.

İdeal bir algoritma, verilerin ne altında ne de üstünde olmalıdır. Amacımız, hem fazla uydurma hem de yetersiz uydurmadan kaynaklanan hataların minimum olduğu en uygun orta yol bulmaktır. Yani anlayacağınız verilerimizdeki sinyalleri yakalayacak kadar eski ama yeni verilere uygulanamayacak kadar karmaşık olmayan bir model istiyoruz.

Denge

Yukarıdaki grafiğe bakacak olursak tahmin çizgisinin tüm noktaları yani gözlemleri tek tek takip etmediği ama tek bir noktada da yanlı olmadığı görülmektedir. İşte bu iyi bir dengenin sağlandığı anlamına gelir. İdeal dengenin kurulduğu bu grafik düşük bias ve düşük varyansa sahiptir.

  • Overfitting ve underfitting durumlarını nasıl tespit edebiliriz?

Verinin aşırı öğrenme ya da eksik öğrenmesi durumunu model performans metriklerinin değerlendirilmesi ile tespit etmek mümkündür.

Modeliniz hem eğitim hem de test aşamasında düşük bir doğruluk değerine sahip ise eksik öğrenmiş bir modeliniz var demektir.

Makine öğrenmesi modellerinde sıklıkla karşılaşabileceğimiz bir diğer durum ise modelimizin eğitim aşamasında yüksek değere sahipken test aşamasında düşük bir değere sahip olması yani aşırı öğrenme durumudur. Yani anlayacağınız %95’ler düzeyinde doğruluğa sahip bir eğitim verisi kulağa ne kadar hoş görünse de sanıldığının aksine aşırı öğrenmiş bir veri olma ihtimali yüksektir. Çünkü model verileri ezberlemiştir. Farklı bir veri setinde aynı performansı sergilemesi de beklenemeyecektir. Aşırı öğrenmiş bir veride train datası ve test datası doğruluk oranları arasındaki fark ne kadar çoksa varyans da o kadar yüksek demektir.

Modeliniz eğitim aşamasında iyi sonuçlar verirken test aşamasında düşük bir doğruluk değerine sahip ise aşırı öğrenmiş bir modeliniz var demektir.

Umarım faydalı olabilmişimdir. Bir sonraki yazımda görüşmek üzere 🙂

--

--