? Overfitting-Underfitting-Cross Validation - Akademi Algo

Overfitting-Underfitting-Cross Validation

22.07.2018 11:13:31

Overfitting (High Variance)

3 gün sonra istatistik sınavına gireceğinizi düşünün. Geçmiş 10 yılın sorularının olduğu bir arşiv var elinizde, sınavın geçmiş senelere benzeyeceğini düşünüyorsunuz ve bütün soruları-cevapları ezberliyorsunuz.

Burada eğitim seti geçmiş 10 yılın soruları, model sınavın geçmiş senelere benzeyeceğini düşünmeniz, test seti hiç görmediğimiz istatistik sınavı, başarı kriteri aldığınız not. Sınav soruları beklendiğiniz gibi gelmez de kötü not alırsanız bu olaya overfitting denir.

Overfitting probleminde model çalıştığımız veri seti üzerinde harika sonuçlar verir (training error düşük) fakat hiç görmediği yeni veri setleri üzerinde başarısız tahminler yapar. (test error yüksek) Yukarıda örneğini verdiğim gibi bütün soruları ezberlemek modelimizi çok kompleks hale getiriyor ve gürültü (noise) barındırıyor. Biz eğitim setindeki değişkenlerin arasındaki gerçek ilişkiyi modellemeye çalışıyoruz sadece o veri setine özgü gürültüyü değil.

Underfitting (High Bias)

Hoca bu konuyu sormaz şu konuyu sormaz diye diye kafanıza göre konuları çalışmaktan vazgeçip düşük not alırsanız buna da underfitting denir.

Diğer bir deyişle eğer modelimizi eğitim (training) veri seti üzerinde çok basit olarak kurguladıysak hiç görmediğimiz test verisi üzerinde başarısız tahminler (sallama) yaparız ve gerçek değerle tahmin ettiğimiz değer arasındaki fark çok olur.

underfitting overfitting ile ilgili görsel sonucu

Makine öğrenmesi modellerinin sistematiği genelde şöyledir: Veriyi eğitim (arşiv soruları) ve test (final soruları) setlerine ayırırız. ML modellerini verimizin bir kısmıyla eğitiriz ve eğitmediğimiz hiç görmediği test verisi üzerinde isabetli tahminler yapmasını bekleriz.

Diğer bir deyişle, modelimizin genelleme yeteneğinin yüksek olmasını sadece o veri seti üzerinde iyi çalışmasını değil hiç görmediği başka veri setleri üzerinde de iyi sonuçlar vermesini bekleriz.

Günlük hayatta underfitting probleminden dert yanan pek olmaz. Çünkü başarısız olduğu ispatlanmış bir modelde kimse diretmez.

Problem overfitting, başarılı olduğu düşünülen modelin gerçekte o kadar da başarılı olmadığının idrak edilmesi.

Ne yapmalı?

Validasyon

Sınava girmeden önce arşiv sorularının (training data) bir kısmına diyelim ki %20'sine hiç bakmayıp (validation data) sanki gerçekten sınava giriyormuş gibi kendimizi denemeye validasyon metodu diyoruz. Bu methodun 2 sakıncası var.

  • Bütün veri eğitim sürecinden geçmiyor bir kısmı validasyona ayrılıyor bu senaryoda eksik veri underfitting problemine sebep olabilir.(verideki bazı patternler trendler gözden kaçabilir.)
  • Eğitimden geçen veri iyi bir örneklem olmayabilir.

Çapraz Doğrulama (Cross Validation)

Yukarıdakii problemle başa çıkabilmek için çapraz doğrulama yöntemini kullanabiliriz. Literatürde çeşitli çapraz doğrulama metotları var. Bu yazı için K-fold yönteminden bahsedeceğim diğer metotlara buradan ulaşabilirsiniz.

Mantığı çok basit:

1. deney için yukarıda olduğu gibi veri setinin yüzde 20'lik kısmını test (validation) için yüzde 80'lik kısmını eğitim için ayırıyoruz.

2. deney için veri setinin farklı bir yüzde 20'lik kısmını test için yüzde 80'lik kısmını eğitim için ayırıyoruz ve bu prosedürü 3. 4. 5. deneyler için de gerçekleştiriyoruz. Günün sonunda modellerin başarı oranlarının ortalamasını alıyoruz.

Diyelim ki modellerin başarı oranı sırasıyla %88, %93, %97, %96, %95. Bu senaryoda modelimizin başarı oranı %93.8'dir.

Gördüğünüz gibi veri setindeki her örnek hem eğitildi hem test edildi. Elimizdeki veri setinin sadece belirli bir yüzde 80'lik kısmı eğitilip yüzde 20'lik kısmı üzerinde test edilmedi. Böyle bir deneyin başarı oranı %97 olabilirdi halbuki başka eğitim ve test verilerinde çok daha düşük sonuçlar elde ettik. Ortalamanın alınması ayaklarımızın biraz yere basmasını sağlıyor.

Sonuç

  • Modelimizin karmaşıklığı arttıkça overfitting (variance) artar underfitting (bias) azalır.
  • Underfitting durumunda yüksek training ve test error olur.
  • Overfitting durumunda düşük training yüksek test error olur.


Çalışmanın Medium versiyonuna şuradan ulaşabilirsiniz.


Sorunuz olursa bana Linkedin veya Twitter hesaplarından yazabilirsiniz.

Akademi Algo

Akademi Algo bir RiskTürk markasıdır

Risk Türk

İletişim

Adres Risk Yazılım Teknolojileri Ltd. Ş.T.İ. İstanbul Teknik Üniversitesi Ayazağa Kampüsü ARI-1 Teknopark Binası 13-14
Maslak - İstanbul - TURKEY

;
IWC Aquatimer Replica IWC Big Pilot Replica IWC Ingenieur Replica IWC Portofino Replica IWC Da Vinci Replica Replica Watches