Derin Öğrenmede Fazla Uyum ve Yetersiz Uyum

Merhabalar,

Bu yazımda derin öğrenmede sıklıkla karşılaşılan “Overfitting”, Türkçe tabiriyle “fazla uyumlu olma” ve “Underfitting”, yani Türkçe tabiriyle “yetersiz uyum” kavramlarından bahsedeceğim.

Derin öğrenmeyle yüksek lisans tezimde uğraşırken benzer sorunlarla karşılaştım. Herhangi bir veri kümesiyle öğrenme sürecini oluşturdukları model üzerinde ilerletirken bu sorunu yaşayanlar için bazı ufak detayları paylaşmak istediğimden bu yazıyı yazma kararı aldım.

Öncelikle bu kavramları tanıyalım. Overfitting, yani fazla uyumlu olma, aslında öğrenme sürecinde geliştirdiğimiz modelin hata oranının çok düşük seviyede olması ya da neredeyse hiç olmaması anlamına gelir. Underfitting, yani yetersiz uyumlu olması ise tam tersine geliştirdiğimiz modelin başarılı sayılmayacak kadar yüksek hata oranına sahip olmasıyla açıklanabilir.

Peki her iki durumla da baş etmek adına ne yapmalıyız? Overfitting sorununa çözüm için, çok klasik olan veri kümesindeki hatalı veri arttırımını sağlayarak modelimizi tekrar öğrenmeye sokabiliriz. Buna ek olarak, L1/L2 regülasyonu da sağlayabiliriz.

L1/L2 regülasyonundaki (L1/L2 regulation), L1 ve L2, makine öğrenmesindeki hatayı azaltmaya yönelik iki loss fonksiyonu. Uygulamasıyla ilgili numpy örneğine netteki şu kaynaktan veya buradan erişebilirsiniz.

Underfitting, yani yetersiz uyum sorununa da iki koldan çözüm sağlayabiliriz. Öğrenme sırasında kullandığımız katmanlardaki (layers) nöron sayısını arttırabilir ya da daha fazla katman (layer) ekleyebiliriz. Bir başka çözümse, öğrenme sürecimizi biraz daha fazla uzatmak olabilir.

Bunun dışında derin öğrenmedeki bu iki temel soruna çözüm önerisi sunanların cevaplarını blogumda yorum olarak yayımlayarak katkı sağlamak isterim. Uzun süren bir aranın sonunda yapay zeka alanındaki Türkçe kaynaklara bir katkı yaparak tekrar sahalara geri dönmek istedim. Birilerine faydalı olursa ne mutlu bana 🙂