Bias ve Varyans Dengesi Üzerinden Overfitting ve Underfitting Durumlarının Anlaşılması

Yiğit Şener
Data Runner
Published in
3 min readJul 21, 2020

Gözetimli (supervised) makine öğrenmesinde modeli performansını gözlemlemek için belirli kıstaslar bulunmaktadır. Öncelikle başlıkta yer alan kavramların neler olduğunu kısaca açıklayıp ardından bu metriklerin bir arada yorumlaması ile overfitting ve underfitting üzerinden ne gibi risklere işaret ettiğini anlatalım.

  1. Train ve Test veri seti: Veri setinde model için çalışılan kesite Train, modelin nasıl çalıştığını gözlemlemek için ayrılan veriye Test denir. Daha ayrıntılı açıklamaya buradaki yarımdan ulaşabilirsiniz.
  2. Overfitting: Aşırı öğrenme, ezberleme. Bir modelde overfitting durumunu train ve test arasındaki doğruluk oranındaki farktan anlayabiliriz. Train veri seti üzerinden eğittiğimiz model veriyi ezberlediği için test veri setinden gelen yeni bir input olduğunda sonucu alakasız verebilir.
  3. Underfitting: yetersiz ya da eksik öğrenme, aslında öğrenememe. Train edilen veri setinde model eğitilirken sonuçların doğruluğu düşük çıkıyor ise bir underfitting durumu var diyebiliriz.
  4. Bias: Hata/yanlılık/sapma. Modelleme sonucunda tahmin edilen veriler ile gerçek veriler arasındaki uzaklığı yansıtan değerdir.
  5. Variance (Varyans): Varyans, belirli bir veri noktası için model tahmininin değişkenliği veya verilerin nasıl yayıldığını bize gösteren değerdir.

Bias ve varyans ilişkisi bize oluşturulan makine öğrenmesi algoritmasının geçerliliği konusunda ipuçları vermektedir.

Bias & Variance, Underfitting & Overfitting

Yukarıdaki şekilde dairelerin merkezine yaklaştıkça doğruluk artmaktadır. İç içe geçmiş her bir daire ise dağılım derecesini göstermektedir. Buradan yola çıkarak gözetimli (supervised) öğrenme için underfitting ve overfitting durumlarını inceleyelim.

Bir model için bias değeri yüksek ve varyansı değeri düşük olduğu durumda underfitting var diyebiliriz. Underfitting durumu eğitilmek istenen algoritmanın veri seti altında yatan deseni modelleyememesinden kaynaklanmaktadır. Bu durum ya yeterince eğitilecek verinin bulunmamasından ya da doğrusal olmayan (non-linear) bir veri ile doğrusal (linear) model kurulmaya çalışılmasından oluşabilir. Bunu çözebilmek için doğru veriye doğru algoritma inşa edilmesi gerekmektedir. Örneğin doğrusal (linear) ya da logistic regresyon modellemeleri için underfitting sıkıntısının yaşanma ihtimali daha yüksektir.

Overfitting, Underfitting ve Model Uyumu

Bias değeri düşük ancak varyansı yüksek ise overfitting’den bahsedebiliriz. Burada model veri deseni içerisindeki tüm gürültüleri de öğrenerek gözlemlere karşılık gelen değerleri (target) ezberler. Train veri seti içerisinde temiz bir data olmadığına delalet eder. Train ve test veri seti arasındaki doğruluk oranlarındaki farklılıklar overfitting’e işaret etmektedir. Decision Trees, k-Nearest Neighbors ve Support Vector Machines gibi kompleks yapıdaki modellemeler için overfitting durumuyla karşılaşılabilir.

Bias Variance Tradeoff (Bias Variance Dengesi)

Eğer modelimize aldığımız değişkenleri sayısı bir kaç tane ise muhtemelen yüksek bias ve düşük varynas değerine sahip oluruz. Diğer yandan oldukça fazla değişkene sahip olduğumuzda modelimiz düşük bias ve yüksek varyans değerine sahip olacaktır. Bu yüzden underfitting ve overfitting sınırına takılmadan modelin dengeli kurulması gerekmektedir.

Overfitting Önleme Yöntemleri

  1. Cross Validation: Train veri setinden farklı kesitler alarak modelin eğitilmesi.
  2. Veri Ekleme: Model veri setinden ezberlemeye yönelmeye başladığında daha fazla gözlem (row/satır) eklenebilir.
  3. Feature Selection: Değişkenlerin sayısı azaltılarak veri setindeki gürültü ve bias azaltılabilir. Feature Selection (Değişken seçimi) konusunda oldukça fazla yöntem bulunmaktadır.
  4. Budama ya da Durdurma: İterasyon olarak çalışan modelin veri üzerinde çok fazla eğitilmesi engellenebilir. Örneğin karar ağacı için çok fazla dallanmadan budama işlemi gerçekleştirilerek overfitting engellenebilir.
  5. Regularization (Düzenleştirme): Bu yöntem, modelinizi yapay olarak daha basit olmaya zorlayan çok çeşitli teknikleri ifade eder.
  6. Ensembling: Birden fazla ayrı modelden tahminleri birleştiren bir yöntemdir.

Sonuç

Bir makine öğrenmesi modeli kurarken her zmana için overfitting ve underfitting durumlarını algoritmanın her aşamasında düşünmemiz gerekiyor. Yaşanabilecek bu sıkıntıları bazen veri hazırlığında bazen de model parametre optimizasyonunda çözebiliriz. Ancak her zaman train veri setindeki doğruluk oranının test veri setinden yüksek olması durumu overfitting olduğuna işaret etmeyebilir.

--

--