Yapay Zeka

Overfitting Nedir? Aşırı Öğrenme ve Yetersiz Öğrenme Farkı

Talha Aslan 15 dakikalık okuma 2 görüntülenme

Overfitting nedir?

Overfitting (aşırı öğrenme), bir makine öğrenimi modelinin eğitim verisini genel kalıpları öğrenmek yerine ezberlemesi ve bu yüzden yeni, görmediği verilerde kötü tahmin yapmasıdır. Model eğitim setinde çok başarılı gözükür, gerçek hayatta ise beklenen performansı veremez. Yani başarı ezberden gelir, anlamaktan gelmez.

Bu terim yapay zeka projelerinde en sık karşılaşılan sorunlardan biridir. Çünkü eğitim sırasında her şey yolunda gözükür, sorun ancak model canlıya çıkınca patlak verir. Bu yazıda kavramı sade bir dille anlatıyoruz, nedenlerini, belirtilerini ve önleme yollarını örneklerle ele alıyoruz.

Google Machine Learning Crash Course da aşırı öğrenmeyi benzer biçimde tanımlar: model eğitim setine o kadar sıkı uyar ki yeni veride doğru tahmin üretemez. Ayrıntılar için Google Machine Learning Crash Course aşırı öğrenme sayfasına bakabilirsiniz.

Overfitting nedir sorusunu sınav benzetmesiyle nasıl anlarsınız?

Bir öğrencinin sınava hazırlandığını düşünün. Öğrenci geçmiş yılların sorularını ve cevaplarını kelimesi kelimesine ezberliyor. Aynı sorular çıkarsa tam puan alıyor. Ancak soru biraz değişince ne yapacağını bilemiyor, çünkü konuyu değil cevapları ezberlemiş.

Aşırı öğrenen bir model tam olarak böyle çalışır. Eğitim verisindeki rastgele ayrıntıları, tesadüfi gürültüyü ve istisnaları bile kalıp sanır. Overfitting nedir sorusunun en kısa cevabı bu nedenle "ezber yapan model" olur.

İyi öğrenen öğrenci ise konunun mantığını kavrar. Yeni bir soruyla karşılaştığında bildiği ilkeleri uygular. İyi bir model de aynı şeyi yapar: eğitim verisinden genel kuralı çıkarır ve onu görmediği örneklere taşır. Bu yeteneğe genelleme diyoruz.

Model eğitim sırasında neden ezberlemeye başlar?

Bir model eğitilirken tek hedefi eğitim verisindeki hatayı azaltmaktır. Modelin kapasitesi yüksekse, yani çok sayıda ayarlanabilir parçası varsa, bu hedefe ulaşmanın en kolay yolu örnekleri tek tek ezberlemek olur. Model genel kuralı aramak yerine her örneğe özel bir cevap saklar.

Eğitim ilerledikçe model önce büyük ve genel desenleri yakalar. Sonra kalan küçük hatayı da sıfırlamak ister. Bu aşamada artık gürültüye uyum sağlamaya başlar. Eğitim hatası düşmeye devam eder, fakat yeni veride performans bozulur.

Kısacası ezber, modelin kötü niyetinden değil, optimizasyonun doğasından gelir. Siz önlem almazsanız model eğitim verisini mümkün olduğunca mükemmel yeniden üretmeye çalışır. Bu nedenle aşırı öğrenmeyi önlemek, eğitim sürecinin tasarımına dahil bir iştir.

İş hayatındaki karşılığı da tanıdıktır. Bir çalışana yalnızca geçmiş raporların cevaplarını ezberletirseniz yeni bir raporda zorlanır. Modelden de farklısını beklemek gerçekçi olmaz. Overfitting nedir sorusunu bu yüzden bir yazılım hatası gibi değil, bir eğitim tasarımı sorunu gibi ele almanızı öneririz.

Eğitim hatası ile doğrulama hatası ne anlatır?

Eğitim hatası, modelin öğrendiği verideki kaybını gösterir. Doğrulama hatası ise modelin eğitimde hiç görmediği, ayrı tuttuğunuz bir veri parçasındaki kaybını gösterir. İkisini yan yana izlediğinizde modelin gerçekten öğrenip öğrenmediğini anlarsınız.

Sağlıklı bir eğitimde iki eğri birlikte düşer. Model yeni kalıpları öğrendikçe hem eğitim hem doğrulama hatası azalır. Aşırı öğrenme başladığında ise eğriler birbirinden ayrılır: eğitim hatası düşmeye devam eder, doğrulama hatası durur ve sonra yükselmeye başlar.

Google Machine Learning Crash Course bu ayrışmayı kayıp eğrileri üzerinden anlatır. Eğriler birbirinden uzaklaşıyorsa model büyük olasılıkla eğitim setini ezberliyordur. Bu yüzden her eğitimde iki eğriyi birlikte çizdirmenizi öneririz.

Eğrileri okurken tek bir noktaya değil, genel eğilime bakın. Doğrulama hatası kısa süre dalgalanabilir ve bu tek başına alarm sayılmaz. Birkaç tur üst üste yükseliyorsa ve eğitim hatası düşmeye devam ediyorsa gerçekten aşırı öğrenme vardır. Overfitting nedir sorusunun görsel cevabı, işte bu ayrışan iki çizgidir.

  • İki hata da düşükse model genelliyor demektir, bu sağlıklı bir işarettir.
  • Eğitim hatası düşük ama doğrulama hatası yüksekse aşırı öğrenme belirtisi vardır.
  • İki hata da yüksekse yetersiz öğrenme belirtisi vardır.

Overfitting nedir ve işletmede nasıl fark edersiniz?

Teknik ekip olmadan da bazı işaretleri görebilirsiniz. En belirgin işaret, test sırasında harika görünen bir modelin canlıda hayal kırıklığı yaratmasıdır. Rapordaki doğruluk yüksektir, ama gerçek kararlar beklentiyi karşılamaz.

İkinci işaret, modelin küçük veri değişikliklerine aşırı hassas olmasıdır. Birkaç yeni örnek eklediğinizde tahminler çok oynuyorsa model gürültüye yapışıyor olabilir. Üçüncü işaret ise performansın zamanla hızla düşmesidir.

  1. Eğitim ve doğrulama sonuçlarını ayrı ayrı isteyin.
  2. İki sonuç arasındaki farkın büyük olup olmadığına bakın.
  3. Modeli hiç görmediği yeni bir veriyle sınayın.
  4. Canlıdaki performansı düzenli aralıklarla izleyin.

Eğitim sonucu ile yeni veri sonucu arasındaki fark büyükse overfitting nedir sorusunun cevabı sizin projenizde de karşınızdadır. Bu durumda önce veriyi ve model karmaşıklığını gözden geçirmelisiniz.

Underfitting (yetersiz öğrenme) nedir?

Underfitting, modelin veriden yeterince öğrenememesidir. Model o kadar basittir ya da o kadar az eğitilmiştir ki hem eğitim verisinde hem yeni veride kötü sonuç verir. Aşırı öğrenmenin tam tersi bir tablodur.

Sınav benzetmesine dönersek, derse hiç çalışmayan öğrenci ne eski soruları çözebilir ne yeni soruları. Hata her yerde yüksektir. Eğitim hatası bile düşmediği için bu sorunu fark etmek aslında daha kolaydır.

Yetersiz öğrenmenin tipik nedenleri şunlardır: model ihtiyaç duyduğu karmaşıklığın altında kalır, eğitim erken biter, önemli girdi bilgileri modele verilmez ya da düzenlileştirme gereğinden güçlü uygulanır. Çözüm çoğu zaman modele daha fazla kapasite, daha anlamlı girdi ve daha uzun eğitim vermektir.

Dikkat edin: yetersiz öğrenmeyi çözmeye çalışırken aşırı öğrenmeye geçmek kolaydır. Kapasiteyi bir anda büyütmek yerine adım adım artırın ve her adımda doğrulama sonucunu kontrol edin. Böylece iki ucun arasındaki dengeli bölgeyi kaçırmazsınız.

Genelleme nedir ve neden asıl hedeftir?

Genelleme, modelin eğitimde görmediği yeni örneklerde de doğru tahmin yapabilmesidir. Bir modeli değerli yapan şey eğitim verisindeki başarısı değil, bu yeteneğidir. Çünkü iş hayatında model her zaman daha önce görmediği müşteri, ürün ya da dönem için karar verir.

Google Machine Learning Crash Course iyi genelleme için birkaç varsayım sayar. Örneklerin birbirinden bağımsız çekilmesi, verinin zamanla değişmemesi ve eğitim, doğrulama, test setlerinin benzer dağılımdan gelmesi gerekir. Bu varsayımlar çökerse iyi bir model bile gerçekte zayıf kalır.

Örneğin dün toplanmış verilerle eğitilen bir model, müşteri davranışı değiştikten sonra eskisi kadar iyi çalışmayabilir. Bu durum klasik aşırı öğrenme değildir, ancak belirtisi benzerdir. Dolayısıyla performansı yalnızca bir kez değil, düzenli olarak ölçmeniz gerekir.

Veriyi neden eğitim, doğrulama ve test diye üçe bölersiniz?

Aşırı öğrenmeyi ölçebilmek için modelin görmediği veriye ihtiyacınız vardır. Bu nedenle eldeki veriyi genellikle üç parçaya bölersiniz. Eğitim seti modelin öğrendiği kısımdır. Doğrulama setiyle geliştirme sırasında ayarları denersiniz. Test seti ise en sonda tek ve tarafsız bir sınav olarak kalır.

Google Machine Learning Crash Course test setini sık sık kullanmanın riskine dikkat çeker. Aynı test setiyle ne kadar çok deneme yaparsanız model o sete o kadar uyum sağlar. Böylece "teste göre ders çalışma" etkisi doğar ve ölçüm güvenilirliğini kaybeder.

  • Eğitim seti: modelin parametrelerini öğrendiği örnekler.
  • Doğrulama seti: ayar ve model seçimi için kullandığınız örnekler.
  • Test seti: son kararı vermeden önce bir kez baktığınız örnekler.

Bölme oranları projeye göre değişir. Üstelik test setinde eğitim verisinin kopyası bulunmamalıdır. Kopya örnekler sonucu olduğundan iyi gösterir ve sizi yanıltır.

Overfitting nedenleri nelerdir?

Google kaynaklarına göre aşırı öğrenme iki ana kökten gelir. Birincisi, eğitim verisinin gerçek dünyayı temsil etmemesidir. İkincisi, modelin çözülecek problem için gereğinden karmaşık olmasıdır. Pratikte bu iki neden çoğu zaman birlikte çalışır.

  • Az veri: model az sayıda örnekten genel kural çıkaramaz, örnekleri ezberler.
  • Gürültülü veri: yanlış etiketler ve rastgele hatalar kalıp gibi gözükür.
  • Aşırı karmaşık model: gereğinden çok parametre ezberlemeyi kolaylaştırır.
  • Gereğinden uzun eğitim: model sonunda gürültüye bile uyum sağlar.
  • Temsil etmeyen örnekler: eğitim verisi gerçek kullanıcıları yansıtmaz.
  • Veri sızıntısı: test bilgisi eğitime farkında olmadan karışır.

Her nedenin çaresi farklıdır. Veri azsa veri toplar ya da çoğaltırsınız. Model fazla karmaşıksa sadeleştirir veya kısıtlarsınız. Eğitim fazla uzunsa erken durdurma kullanırsınız. Bu yüzden sorunun kökenini bulmadan ilaç seçmek zaman kaybettirir.

Veri artırma overfitting riskini nasıl azaltır?

Veri artırma, eldeki örneklerden anlamlı yeni varyasyonlar üretme yöntemidir. Modele daha çok ve daha çeşitli örnek gösterdiğinizde ezberlemek zorlaşır, genel kuralı öğrenmek kolaylaşır. Görüntü projelerinde bir fotoğrafı hafifçe döndürmek, kırpmak ya da parlaklığını değiştirmek buna örnektir.

Metin ve tablo verisinde de benzer fikri kullanırsınız, ancak daha dikkatli olmanız gerekir. Yeni üretilen örnek gerçek hayatta mümkün olmayan bir durumu temsil ediyorsa modele zarar verir. Bu yüzden etiketin değişmediğinden emin olmalısınız.

Veri artırma tek başına mucize değildir. Asıl çözüm gerçek ve temsil gücü yüksek veri toplamaktır. Ancak toplama pahalıysa artırma iyi bir yardımcıdır. Veri tarafındaki temel hazırlık için yapay zeka ile veri analizi rehberimize bakabilirsiniz.

Düzenlileştirme (regularization) overfittingi nasıl önler?

Düzenlileştirme, eğitim sırasında modelin karmaşıklığını cezalandıran bir tekniktir. Model yalnızca hatayı azaltmaya çalışmaz, aynı anda çok büyük ağırlıklara da bedel öder. Böylece daha sade çözümlere yönelir ve ezber ihtimali azalır.

Google Machine Learning Crash Course en popüler örnek olarak L2 düzenlileştirmesini anlatır. Bu yöntem ağırlıkları sıfıra doğru çeker, ama hiçbirini tamamen sıfırlamaz. L1 düzenlileştirmesi ise bazı ağırlıkları gerçekten sıfıra indirebilir, dolayısıyla gereksiz girdileri eler.

Düzenlileştirme gücünü bir katsayı belirler. Katsayı yüksekse model fazla kısıtlanır ve yetersiz öğrenme riski artar. Düşükse kısıt zayıf kalır ve aşırı öğrenme riski sürer. Siz bu dengeyi doğrulama sonuçlarına bakarak ayarlarsınız.

Derin öğrenme tarafında dropout gibi benzer amaçlı tekniklerden de yararlanırsınız. Sinir ağlarının temelini merak ediyorsanız derin öğrenme nedir yazımız iyi bir başlangıçtır.

Erken durdurma ne zaman işe yarar?

Erken durdurma, doğrulama hatası artmaya başladığında eğitimi kesme yöntemidir. Eğitim hatası hâlâ düşüyor olsa bile, doğrulama hatası yön değiştirdiği anda model ezbere geçiyor demektir. O noktada durmak, aşırı öğrenmeyi hiç başlatmadan engeller.

Yöntemin cazibesi basitliğidir. Ek bir ceza terimi tasarlamazsınız, yalnızca doğrulama eğrisini izlersiniz. Google Machine Learning Crash Course bu yaklaşımı basit bulur, fakat çoğu zaman karmaşıklığı doğrudan kısıtlayan düzenlileştirme kadar iyi olmadığını da belirtir.

Pratikte iki yöntemi birlikte kullanmak mantıklıdır. Düzenlileştirme modeli baştan sade tutar, erken durdurma ise yine de kaçan bir ezberi yakalar. Doğrulama hatası dalgalanabileceği için sabırlı bir eşik tanımlamanız iyi olur.

Çapraz doğrulama neden daha sağlam bir ölçüm verir?

Çapraz doğrulama, veriyi birden fazla parçaya bölüp her seferinde farklı bir parçayı doğrulama olarak kullanma yöntemidir. Her turda modeli başka bir parçayla sınar, sonra sonuçların ortalamasını alırsınız. Böylece tek bir şanslı ya da şanssız bölmenin etkisi azalır.

Veri azsa bu yöntem özellikle değerlidir. Küçük bir doğrulama seti rastgele dalgalanabilir ve sizi yanıltabilir. Birden fazla tur size hem ortalama performansı hem de sonuçların ne kadar tutarlı olduğunu gösterir.

Bir uyarı ekleyelim: zaman sıralı verilerde, örneğin aylık satışlarda, rastgele karıştırma yapmayın. Geleceğin bilgisi geçmişe sızarsa sonuçlar gereğinden iyi gözükür. Bu durumda her zaman geçmişle eğitip sonraki dönemle doğrulayan bir düzen kurun.

Çapraz doğrulama hesaplama maliyetini artırır, ama güvenilir karar için çoğu zaman buna değer.

Model karmaşıklığını nasıl ayarlarsınız?

Model karmaşıklığı, modelin ne kadar esnek desen öğrenebildiğini belirler. Çok basit model eksik kalır, çok karmaşık model ezbere kayar. Amaç, probleminizin gerektirdiği kadar esnekliği veren orta noktayı bulmaktır.

Çalışma düzeni genellikle sadeden başlayıp kontrollü biçimde büyütmektir. Önce basit bir temel model kurarsınız. Sonra karmaşıklığı adım adım artırır ve her adımda eğitim ile doğrulama sonuçlarını karşılaştırırsınız. Doğrulama sonucu artık iyileşmiyorsa durursunuz.

  1. Basit bir temel model kurun ve sonucunu not edin.
  2. Karmaşıklığı bir adım artırın ve iki hatayı yeniden ölçün.
  3. Doğrulama hatası iyileşiyorsa devam edin.
  4. Eğitim hatası düşerken doğrulama hatası yükseliyorsa geri dönün.
  5. Düzenlileştirme ve erken durdurmayı son güvenlik katmanı olarak ekleyin.

Her zaman en güçlü modeli seçmek gerekmez. Sade model hem açıklaması kolay hem bakımı ucuzdur. Bu nedenle benzer doğrulama sonucunu veren iki model arasında sadeyi seçmenizi öneririz.

Satış tahmini örneğinde overfitting nasıl gözükür?

Bir e-ticaret işletmesinin aylık satış tahmini yapan bir model istediğini varsayalım. Bu bir örnek senaryodur, gerçek bir müşteri değildir. Ekip geçmiş iki yılın verisini modele verir ve çok karmaşık bir model eğitir.

Model geçmiş aylarda neredeyse kusursuz tahmin yapar. Çünkü bir kampanya haftasını, bir tatil etkisini, hatta bir sistem arızasının yarattığı geçici düşüşü bile ezberlemiştir. Ancak sonraki ayın tahmini gerçekle uyuşmaz, çünkü ezberlediği olaylar tekrar etmemiştir.

Doğru yaklaşımda ekip son dönemleri doğrulama olarak ayırır. Modeli yalnızca öncesiyle eğitir ve ayrılan dönemde sınar. Eğitim ile doğrulama arasındaki fark büyükse modeli sadeleştirir, mevsimsellik gibi anlamlı girdileri korur, tek seferlik olayları ise işaretleyerek ayırır.

Bu örnekte kritik nokta, değerlendirmenin geleceği taklit etmesidir. Yani doğrulama dönemi eğitim döneminden sonra gelir. Rastgele karıştırılmış bir bölme ise geleceği geçmişe sızdırır ve sizi iyimser bir ölçüme götürür.

Sonuç olarak işletme "geçmişi mükemmel açıklayan" modeli değil, "geleceği makul tahmin eden" modeli seçer. Tahminin iş kararına etkisini görmek için A/B testi hesaplama aracımızla canlı denemelerin anlamlılığını da kontrol edebilirsiniz.

Önyargı ve varyans dengesi aşırı öğrenmeyle nasıl ilişkilidir?

Makine öğreniminde hata iki kaynaktan beslenir: modelin fazla basit olması ve modelin veriye fazla duyarlı olması. Birincisine istatistikte önyargı (bias), ikincisine varyans denir. Burada kastettiğimiz, yapay zekanın toplumsal önyargısı değil, tamamen istatistiksel bir kavramdır.

Çok basit bir model yüksek önyargılıdır. Veriyi ne kadar değiştirirseniz değiştirin aynı yanlışı yapar, yani yetersiz öğrenir. Çok karmaşık bir model ise yüksek varyanslıdır. Eğitim verisindeki küçücük değişiklik tahminleri büyük ölçüde oynatır, yani aşırı öğrenir.

İki uç arasında bir denge noktası vardır. Karmaşıklığı artırdıkça önyargı azalır, fakat varyans artar. Sizin işiniz doğrulama sonuçlarına bakarak toplam hatanın en düşük olduğu bölgeyi bulmaktır. Bu denge sezgisi, bütün düzenlileştirme ve sadeleştirme kararlarının temelinde durur.

Toplumsal anlamdaki önyargı ise başka bir konudur. O konuyu yapay zeka önyargısı nedir yazımızda ele aldık. Burada tekrar anlatmıyoruz, yalnızca iki kavramı karıştırmamanızı rica ediyoruz.

Veri sızıntısı overfitting yanılsamasını nasıl yaratır?

Veri sızıntısı, modelin eğitim sırasında gerçek hayatta elinde olmayacak bilgiyi görmesidir. Bu bilgi bazen test örneklerinin eğitime karışmasıdır, bazen de sonucu doğrudan ele veren bir sütundur. Model bu sayede olağanüstü başarılı gözükür, ama bu başarı sahtedir.

Sızıntı, aşırı öğrenmeyle ters bir tablo üretir. Eğitim ve doğrulama sonuçları birlikte harika çıkar, sonra canlıda çöker. Bu yüzden iyi sonuç gördüğünüzde sevinmeden önce "bu bilgiyi tahmin anında gerçekten bilecek miyiz?" diye sormalısınız.

  • Aynı müşterinin kayıtlarını hem eğitim hem test setine koymak.
  • Tahmin edilecek sonucu dolaylı olarak içeren bir sütunu girdi saymak.
  • Zaman sıralı veride gelecekteki kayıtlarla geçmişi tahmin etmek.
  • Veri temizliği adımlarını bölmeden önce tüm veriye uygulamak.

Çözüm basittir ama disiplin ister. Önce veriyi bölün, sonra her dönüşümü yalnızca eğitim kısmından öğrenin. Ayrıca test setini tek bir kez, en sonda açın. Böylece ölçümünüz gerçekçi kalır.

Pazarlama projelerinde overfitting nasıl ortaya çıkar?

Pazarlamada tahmin modelleri yaygındır: hangi potansiyel müşteri satın alır, hangi kullanıcı aboneliği bırakır, hangi reklam kitlesi dönüşüm getirir. Hepsinde aynı tuzak vardır. Geçmiş kampanyaya mükemmel uyan model, yeni kampanyada beklediğiniz sonucu vermeyebilir.

Örnek senaryo olarak bir işletmenin potansiyel müşterilerini puanlayan bir model düşünelim. Geçmiş verideki birkaç sıra dışı kampanya, modelin gözünde kalıcı bir kural haline gelir. Örneğin yalnızca belirli bir indirim döneminde gelen müşteriler "en değerli" sayılır. Dönem bitince model yanlış kişilere öncelik verir.

Bunu önlemek için kampanya dönemlerini bölmede dikkatli olun. Eğitimi eski dönemlerle, doğrulamayı yeni dönemlerle yapın. Üstelik modelin tahminini her zaman basit bir kural ile kıyaslayın. Basit kural modeli geçemiyorsa karmaşıklığın size bir faydası yoktur.

Reklam tarafındaki sonuçların istatistiksel anlamlılığını ayrıca kontrol etmeniz gerekir. Bunun için A/B testi hesaplama sayfamızdan yararlanabilirsiniz.

Canlıya çıkan modeli nasıl izlersiniz ve ne zaman yeniden eğitirsiniz?

Model canlıya çıktığında iş bitmez. Dünya değişir, müşteri davranışı değişir, veri dağılımı kayar. Eğitimde iyi genelleyen model bile zamanla zayıflayabilir. Bu durum klasik aşırı öğrenme değildir, ancak sonuçta aynı hayal kırıklığını yaratır.

İzleme için üç basit alışkanlık yeterlidir. Birincisi, modelin gerçek sonuçlarla farkını düzenli aralıklarla hesaplamaktır. İkincisi, girdi verisinin eğitim dönemine benzeyip benzemediğine bakmaktır. Üçüncüsü, performans belirli bir eşiğin altına düşünce uyarı alacak bir düzen kurmaktır.

Yeniden eğitim kararını takvimle değil, ölçümle verin. Performans sabitse gereksiz yere değiştirmeyin. Düşüş başladıysa yeni veriyle eğitin ve doğrulama ile test düzenini baştan uygulayın. Yeni model eskisinden gerçekten iyi mi, bunu aynı test düzeninde ölçmeden devreye almayın.

Bu süreçleri kendi başınıza kurmakta zorlanıyorsanız ekibinizle birlikte basit bir izleme planı çıkarmak iyi bir başlangıçtır. Ayrıntıyı en sonda ele aldığımız danışmanlık başlığında bulabilirsiniz.

Overfitting nedir, underfitting ve iyi uyum arasında hangi fark vardır?

Üç durumu karşılaştırmak, teşhisi kolaylaştırır. Aşağıdaki tablo eğitim ve doğrulama davranışını, tipik nedenleri ve ilk müdahaleyi özetler.

DurumEğitim hatasıDoğrulama hatasıTipik nedenİlk müdahale
Overfitting (aşırı öğrenme)DüşükYüksekAz veri, gürültü, aşırı karmaşık modelVeri ekleme, düzenlileştirme, erken durdurma
Underfitting (yetersiz öğrenme)YüksekYüksekFazla basit model, kısa eğitimKapasite artırma, daha anlamlı girdi
İyi uyum (iyi genelleme)DüşükDüşük ve yakınDengeli model ve temsil gücü yüksek veriİzlemeye devam etme

Tablodaki ayrım bir kural değil, bir teşhis çerçevesidir. Gerçek projelerde sınırlar bulanıktır. Yine de eğitim ve doğrulama sonuçlarını yan yana okuduğunuzda doğru yönü çoğu zaman hızla bulursunuz.

Overfitting ile hangi terimler sık karıştırılır?

Yapay zeka sözlüğünde yakın görünen birkaç kavram vardır. Her biri farklı bir sorunu anlatır, bu yüzden karıştırmak yanlış çözüme götürür. Aşağıdaki tablo ayrımı kısa tutar, ayrıntı için ilgili yazılara bakabilirsiniz.

TerimKısaca ne anlatırOverfitting ile ilişkisi
OverfittingEğitim verisini ezberleyip yeni veride kötüleşmeBu yazının konusu
Veri sızıntısıTest bilgisinin eğitime karışmasıSonuçları olduğundan iyi gösterir, aşırı öğrenmeyi gizleyebilir
Yapay zeka önyargısı (AI bias)Verideki ya da tasarımdaki sistematik adaletsizlikAyrı bir sorundur, ama temsil etmeyen veri ikisini de besler
Federe öğrenmeVeriyi paylaşmadan dağıtık model eğitmeAşırı öğrenme sorununu çözmez, gizlilik yaklaşımıdır
HalüsinasyonÜretken modelin gerçek dışı içerik üretmesiFarklı mekanizma, benzer "güvenilmezlik" hissi

Önyargı konusunu ayrıntılı görmek için yapay zeka önyargısı nedir yazımıza, gizlilik odaklı eğitim yaklaşımı için federe öğrenme nedir yazımıza göz atın.

Büyük dil modelleri ve derin öğrenmede overfitting aynı mı?

Kavram aynıdır, ölçek farklıdır. Çok büyük sinir ağları ezber yapabilecek kadar kapasiteye sahiptir. Bu yüzden derin öğrenme projelerinde de eğitim ve doğrulama kayıplarını izlemek, düzenlileştirme kullanmak ve veriyi dikkatle bölmek gerekir.

Hazır bir modeli kendi verinizle uyarlarken de risk vardır. Çok küçük ve dar bir veri kümesiyle ince ayar yaparsanız model o örneklere fazla yaslanabilir. Sonuçta genel yeteneği zayıflar, yalnızca eğitim cümlelerine benzeyen girdilerde iyi çalışır.

Burada sağlayıcının resmi belgeleri belirleyicidir. Model adı, boyutu ve ayarları hızla değişir, bu nedenle güncel önerileri her zaman sağlayıcının kendi dokümantasyonundan kontrol edin. Kavramı bildiğinizde hangi soruyu soracağınızı da bilirsiniz.

İşletmeler için overfitting kontrol listesi nedir?

Bir yapay zeka ya da tahmin projesi teslim alırken şu soruları sormanızı öneririz. Bunlar teknik ekibe ya da hizmet aldığınız firmaya yöneltebileceğiniz pratik sorulardır. Cevaplar, modelin güvenilirliği hakkında hızlı fikir verir.

  • Eğitim, doğrulama ve test sonuçlarını ayrı ayrı raporladınız mı?
  • Test setini geliştirme boyunca hiç kullanmadan mı beklettiniz?
  • Eğitim verisi gerçek kullanıcıları ve dönemleri yansıtıyor mu?
  • Zaman sıralı veride geleceğin bilgisi geçmişe karışmadı mı?
  • Düzenlileştirme ya da erken durdurma gibi önlemleri uyguladınız mı?
  • Canlıya çıktıktan sonra performansı düzenli izliyor musunuz?
  • Modeli sade bir temel modelle karşılaştırdınız mı?

Listede "hayır" cevabı sayısı arttıkça risk de artar. Bu bir hukuki ya da mali danışmanlık değildir, yalnızca kalite kontrolü için bir başlangıç çerçevesidir.

Overfitting nedir öğrenmeye başlarken hangi yol haritasını izlemelisiniz?

Kavramı kalıcı öğrenmenin en iyi yolu küçük bir uygulama yapmaktır. Küçük bir veri kümesi alın, bir modeli eğitin ve kayıp eğrilerini kendiniz çizin. Eğriler ayrıştığı anı görmek, yüzlerce cümleden daha öğreticidir.

Sıfırdan başlıyorsanız makine öğrenimine nasıl başlanır rehberimiz ve Python ile yapay zeka geliştirme yol haritası yazımız sizi adım adım ilerletir.

Bir iş projesinde model seçimi, veri hazırlığı ve izleme planını birlikte kurmak istiyorsanız yapay zeka danışmanlığı hizmetimiz bu işi birlikte planlamanıza yardımcı olur. Talha Aslan ve ekibi olarak önce işletmenin hedefini, sonra veriyi ve ancak en sonda modeli konuşuruz.

Sıkça Sorulan Sorular

Overfitting ile underfitting arasındaki fark nedir?
Overfitting, modelin eğitim verisini ezberleyip yeni veride kötü sonuç vermesidir. Underfitting ise modelin veriden yeterince öğrenememesi ve hem eğitimde hem yeni veride zayıf kalmasıdır. İlkinde eğitim hatası düşük, doğrulama hatası yüksektir. İkincisinde iki hata da yüksektir. Çözümleri de farklıdır: birincide sadeleştirme, ikincide kapasite artırma düşünürsünüz.
Overfitting nasıl anlaşılır?
Eğitim ve doğrulama hatasını birlikte izleyerek anlarsınız. Eğitim hatası düşmeye devam ederken doğrulama hatası durup yükselmeye başlıyorsa model büyük olasılıkla ezber yapıyordur. Ayrıca test sırasında çok iyi görünen modelin canlıda belirgin biçimde kötüleşmesi de güçlü bir işarettir. Bu yüzden ayrı bir doğrulama ve test seti şarttır.
Az veri overfittinge neden olur mu?
Evet, az veri en yaygın nedenlerden biridir. Model az sayıda örnekten genel kural çıkaramayınca örnekleri ve içlerindeki gürültüyü ezberler. Daha fazla ve daha çeşitli veri toplamak, veri artırma uygulamak ya da modeli sadeleştirmek riski düşürür. Yine de veri çoksa bile model aşırı karmaşıksa ezber görülebilir.
Düzenlileştirme (regularization) tam olarak ne yapar?
Düzenlileştirme, eğitim sırasında modelin karmaşıklığına ceza ekler. Model yalnızca hatayı azaltmaya çalışmaz, aynı zamanda büyük ağırlıklardan da kaçınır. Böylece daha sade ve daha genellenebilir çözümlere yönelir. Güç ayarı fazla yüksek olursa yetersiz öğrenme doğabilir, bu yüzden değeri doğrulama sonuçlarına bakarak seçersiniz. Aynı katsayıyı bir kez seçip bırakmayın, veri değiştikçe yeniden deneyin.
Erken durdurma ve çapraz doğrulama aynı şey midir?
Hayır, farklı işler yaparlar. Erken durdurma, doğrulama hatası artmaya başlayınca eğitimi kesen bir önlemdir. Çapraz doğrulama ise veriyi birkaç parçaya bölerek modeli farklı bölmelerle sınayan bir ölçüm yöntemidir. İkisini birlikte kullanabilirsiniz: biri eğitimi kontrol eder, diğeri sonucun güvenilirliğini artırır. Böylece hem süreci hem ölçümü sağlama alırsınız.
Bir model için overfitting tamamen önlenebilir mi?
Tamamen sıfırlamak çoğu zaman mümkün değildir, ama makul düzeyde tutabilirsiniz. Amaç mükemmel uyum değil, yeni veride kabul edilebilir ve tutarlı performanstır. Doğru veri bölme, temsil gücü yüksek veri, düzenlileştirme, erken durdurma ve canlı izleme birlikte kullanıldığında risk belirgin biçimde azalır. Garanti vermek ise dürüst olmaz.
  • overfitting
  • aşırı öğrenme
  • underfitting
  • makine öğrenimi
  • düzenlileştirme
  • çapraz doğrulama
  • yapay zeka terimleri
Paylaş:
Talha Aslan

Google Partner dijital pazarlama uzmanı. 2012’den beri SEO, Google Ads, web tasarım ve e-ticaret projelerinde sahada; bu blogda gördüğünüz her yazı o deneyimden çıkar.

Sıradaki proje

Projenizi konuşalım.

Talebiniz doğrudan Talha Aslan ve ekibine ulaşır: stratejiyi Talha kurar, uygulamayı deneyimli ekip yürütür. İlk istişare ücretsizdir; hedefinizi dinler, net bir yol haritasıyla döneriz.