Merhabalar, bu yazıda makine öğrenimi alanında sıkça karşılaşılan aşırı öğrenme (overfitting) – ezber problemine değineceğim. “Aşırı öğrenme (overfitting) nedir?”, “Nasıl meydana gelir?”, “Engellemek için neler yapılmalıdır?” sorularının cevaplarını arayacağız. Keyifli okumalar 🚀🚀
Overfitting Nedir?
Overfitting, modelinizin öğrenme yerine ezber yöntemine geçmesine verilen isimdir. Aşırı öğrenme durumunu tespit etmek için en iyi yöntemlerden birisi; eğitim verisi dışında, ilk kez karşılaşacağı veriler ile modeli test etmektir. Eğitim verileri ile %90’ın üzerinde (hatta %100’e yakın) başarılı sonuç elde edebilirken harici veriler ile bu oran çok çok düşük olabilmektedir. Makine öğrenmesindeki amaç, problemin çözümü için genel bir çözüm üretmektir. Çözümün sağlanabilmesi için tüm veriler için genelleme yapılmalıdır.
Southern New Hampshire Üniversitesi’nde yayınlanan bir makaleye göre, “Japonya-Fukushima Nükleer Kazası” olarak bilinen olayın sebepleri arasında overfitting yatıyor. Japonya’da yapılan çalışmada deprem verileri ile bir modelin eğitilmesi deneniyor. Doğrusal regrasyon uygulanarak, depremlerin yıllık frekansının belirlendiği bu projenin çıktılarına baktığımızda 7.3 şiddetinde grafikteki doğrusallık kırılıyor. Doğrusal regrasyona göre kırılma olmaması gereken bu noktada bir şekilde overfitting karşımıza çıkıyor. [3]
Bu durumda hatalı olarak 1000+ yılda 1 kez 8.5 büyüklüğünde deprem yaşanabileceği sonucu elde ediliyor. Halbuki gerçek sonuçlara ulaşılabilseydi, modelin çıktısı 300 yılda bir kez böyle bir depremin olabileceğine işaret edecekti. [4]
Fukushima Nükleer Santrali yapılırken bu modelin çıktıları baz alınarak inşaatına başlanılmış ve nükleer santral 8.6 şiddetine dayanacak şekilde inşa edilmiş. Malesef, 2011 yılında meydana gelen 9 büyüklüğündeki deprem, atmosfere radyoaktif madde salınmasına sebep olmuştur. Aradaki 0.4 büyüklüğündeki farkın deprem konusunda çok fazla tahribata neden olabileceği belirtiliyor.
Aşırı Öğrenmenin Önüne Nasıl Geçebiliriz?
- Girdileri Azaltın
Oluşturmuş olduğunuz modelde input miktarını azaltmayı başarabilirseniz ezber senaryosundan uzaklaşabilirsiniz. Modelde çok fazla değişken kullanılıyor olması overfittinge sebep olabilir. İki değişken arasındaki doğrusal ilişkinin azaltılması, değişkenlerin daha sade hale getirilmesi ezberlemenin önüne geçilmesi için faydalı olacaktır. - Regularization (Düzenlileştirme)
Regularization olarak adlandırılan düzenlileştirme, ezber durumumun önüne geçilmesi için kullanılan bir yöntemdir. Regularization içerisinde Ridge, Lasso, Elastic Net kavramları karşımıza çıkmaktadır. Ridge’ye göre önemi düşük değişkenlerin kat sayısı küçültülür ancak tüm değişkenlerin kullanılmasına devam edilir. Lasso Regrasyonu’nda ise önemsiz değişkenlerin kat sayıları 0 yapılır, böylelikle belli değişkenler seçilmiş olur. Bu iki regrasyon arasındaki fark, kayıp fonksiyonunun cezalandırma derecesidir. Kat sayıların düzenlenmesi ve değişkenlerin seçimi arasındaki dengeye ise Elastic Net adı verilmektedir. - Verileri Artırın
Aşırı öğrenme durumunun yaşanma sebebi verilerin çeşitliliğinin az olmasından kaynaklanıyor ise bu durumda veri sayısının artırılması bir çözüm olabilir. Örneğin hayvanlar ile ilgili bir çalışma yaptığınızı varsayalım. Bu çalışmada kullandığınız kedi image verilerinin hep aynı cins kedilere ait olması istenilmeyen bir durumdur. Heterojen veriler ile eğitim yapmak, çeşitliliği sağlamak açısından sonuçlara daha faydalı olacaktır. - Eğitimi Zamanında Durdurun
Kullanılan veri setleri eğitim, validation ve test olmak üzere 3 ‘e ayrılır. Bu bölümlerin oranları: eğitim %70, validation %20, test %10 veya eğitim %70, validation %10, test %20 olacak şekilde ağırlıklandırılabilir. Eğitimdeki hatalar test edilirken validation hatasının ilk artmaya başladığı nokta overfitting başlangıcı olarak kabul edilir. Tam bu noktada eğitim durdurularak overfitting durumunun önüne geçilebilir.
Kaynaklar:
- [1] Resim 1: Az. Uyum — Çok Uyum, https://veribilimcisi.files.wordpress.com/2017/07/azuyum_cokuyum.png.
- [2] Stacey, B. (2015). Fukushima: The failure of predictive models, https://mpra.ub.uni-muenchen.de/69383/1/MPRA_paper_69383.pdf, Erişim Tarihi: 04/09/2021.
- [3] Overfitting, Underfitting ve Bias-Variance İkilemi, http://erdoganb.com/2017/07/overfitting-underfitting-ve-bias-variance-ikilemi, Erişim Tarihi: 04/09/2021.
- [4] Underfitting ve Overfitting, https://www.datasciencearth.com/underfitting-ve-overfitting, Erişim Tarihi: 04/09/2021.