Veri Setinde Eğitim – Test Ayrımı

Herkese merhaba, bu yazımızda makine öğrenmesi modellerinde kullanacağımız veri setlerinin kategorize edilmesinden bahsedeceğiz.

Bir makine öğrenmesi modelinde veri setleri modeli eğitmek (train set) ve test etmek (test set) için kullanılır. Model, train set ile eğitilerek bir genelleme yapar ve ilk defa karşılaştığı veriler için bir tahminde bulunur. Tahminlerin gerçeğe yakınlığı istenen düzeye gelinceye kadar model eğitilir. Tahminlerin hepsinin doğru olması istediğimiz bir sonuç olarak düşünülebilir ancak bu durum modelin overfit olduğu anlamına gelir. Peki, Overfit ne demektir? Bu kavramı biraz daha açıklamak yazının devamı içinde faydalı olur.

Model veri setindeki özellikleri bulup bir genelleme oluşturmak yerine ezberleme eğiliminde bulunuyorsa bu duruma overfit denir. Yukarıdaki grafikte modelin optimal ve overfit olmasına göre tahmin sonuçları gözükmektedir. Sağdaki grafikte, tahminlerin hepsi doğru ve çok iyi sonuç alıyoruz gibi gözükse de farklı verilerde kötü sonuç vermesi beklenir. Bunun nedeni modelin verileri öğrenmek yerine ezberlemesidir. Optimal sonuç veren grafikte ise model hatayı en aza indirgeyecek şekilde tahminde bulunur.

Modelin overfit olmasını açıkladığımıza göre veri setinin ayrılmasından bahsetmeye devam edebiliriz. Veri setinin modeli eğitmek ve test etmek için kullanıldığını tekrar hatırlayalım. Veriler %70-80 train set, %20-30 test seti olarak ayrılır. Bu duruma göre model train set ile eğitilir ve test setiyle modelin hedefe yakınlığı test edilir. Çıkan sonuçların yeterli olmadığı durumlarda modelin parametreleri testte daha iyi sonuç verecek şekilde değiştirilir. Bu durum test sonucu istenen seviyeye gelene kadar devam ettirilir. Ancak burada da teste göre model parametresi değiştirildiğinden dolaylı yoldan bir overfitting oluşur. Bu durumun oluşmaması için validation (validasyon) set eklenmelidir.

Veri setinin üçe bölünmesiyle modelin eğitim ve test aşamaları aşağıdaki gibi devam eder.

Kurulan model train veri setiyle eğitildikten sonra validation veri setinde sonuçlar gözlenir. Bu sonuçların daha iyiye gitmesi amacıyla validation sete göre parametreler değiştirilir ve istenen sonuca ulaşana kadar iterasyonlar devam eder. Bu durumda da validation setinde overfit oluşur ancak son olarak test setinde sonuçlara bakılacağından ve bu set modelin daha önce görmediği verilerden oluştuğundan objektif bir sonuç vermiş olur.

Kaynakça

https://medium.com/@gulcanogundur/overfitting-a%C5%9F%C4%B1r%C4%B1-%C3%B6%C4%9Frenme-underfitting-eksik-%C3%B6%C4%9Frenme-ve-bias-variance-%C3%A7eli%C5%9Fkisi-b92bef2f770d

https://medium.com/kodluyoruz/makine-%C3%B6%C4%9Frenmesinde-overfitting-underfitting-best-fitting-kavramlar%C4%B1-9f80a5d42719

https://medium.com/kodluyoruz/makine-%C3%B6%C4%9Frenmesi-modelleri-i%CC%87%C3%A7in-veri-b%C3%B6lme-i%CC%87%C5%9Flemi-3b517ed74e37