tag Overfitting

Bu sayfada Overfitting etiketi ile işaretlenmiş 5 yapay zeka kavramını bulabilirsiniz.

Dropout, derin sinir ağı eğitimi sırasında her güncelleme adımında belirli bir olasılıkla (dropout oranı, p) gizli katman nöronlarının çıkışlarını sıfırlayan ve bu şekilde modelin belirli nöronlara bağımlılığını kıran bir düzenlileştirme tekniğidir. 2014 yılında Srivastava ve arkadaşları tarafından önerilen bu yöntem, derin öğrenme tarihinin en etkili yeniliklerinden biri olarak kabul görmektedir. Temel fikir, eğitim sırasında ağı sürekli değişen rastgele alt ağlar üzerinde çalıştırarak her nöronun diğer nöronların varlığına ya da yokluğuna göre hareket etmeyi öğrenmesini önlemektir. Bu mekanizma, ko-adaptasyonu (co-adaptation) kırar ve her nöronu bağımsız olarak yararlı özellikler çıkarmaya zorlar. Ağ böylece tek bir nörona veya nöron grubuna aşırı güvenmek yerine dağıtık temsiller öğrenir. Pratikte dropout oranı p=0.5, tam bağlı katmanlar için standart başlangıç noktası olarak yaygın biçimde kullanılmaktadır. Ancak giriş katmanlarında p=0.1-0.2, konvolüsyonel katmanlarda daha düşük değerler tercih edilir; bu katmanlarda zaten az parametre bulunduğundan çok yüksek dropout aşırı bilgi kaybına yol açabilir. Batch normalization ile birlikte kullanıldığında dikkatli olmak gerekir; ikisi arasındaki etkileşim bazen istenmeyen davranışlara neden olabilmektedir. Test aşamasında dropout tamamen devre dışı bırakılır; tüm nöronlar aktif kalır. Ağırlıklar eğitim sırasında kullanılan seyrelmeyi telafi etmek için (1−p) çarpanıyla ölçeklenir. Modern çerçeveler "inverted dropout" uygular: eğitim sırasında kalan nöronların çıkışları 1/(1−p) ile çarpılır, böylece test aşamasında ekstra işlem gerekmez. PyTorch'ta torch.nn.Dropout(p=0.5) ve Keras'ta layers.Dropout(0.5) ile tek satırda eklenir. Dropout ayrıca Bayesian derin öğrenmeyle de ilişkilendirilmektedir. Test zamanında da dropout açık tutularak birden fazla tahmin yapılırsa (MC Dropout), bu tahminlerin dağılımı modelin belirsizliğine dair istatistiksel bilgi üretir. Özellikle tıbbi teşhis ve otonom araç gibi güvenlik açısından kritik uygulamalarda bu özellik son derece değerlidir. Spatial Dropout ise konvolüsyonel ağlarda tüm özellik haritası kanallarını sıfırlayarak uzamsal bağıntıları daha etkili biçimde kırmaktadır.

shuffle

Dropout (Düzenlileştirme Tekniği)

Dropout, derin sinir ağı eğitimi sırasında her güncelleme adımında belirli bir olasılıkla (dropout oranı, p) gizli katman nöronlarının çıkışlarını sıfırlayan ve bu şekilde modelin belirli nöronlara bağımlılığını kıran bir düzenlileştirme tekniğidir. 2014 yılında Srivastava ve arkadaşları tarafından önerilen bu yöntem, derin öğrenme tarihinin en etkili yeniliklerinden biri olarak kabul görmektedir. Temel fikir, eğitim sırasında ağı sürekli değişen rastgele alt ağlar üzerinde çalıştırarak her nöronun diğer nöronların varlığına ya da yokluğuna göre hareket etmeyi öğrenmesini önlemektir. Bu mekanizma, ko-adaptasyonu (co-adaptation) kırar ve her nöronu bağımsız olarak yararlı özellikler çıkarmaya zorlar. Ağ böylece tek bir nörona veya nöron grubuna aşırı güvenmek yerine dağıtık temsiller öğrenir. Pratikte dropout oranı p=0.5, tam bağlı katmanlar için standart başlangıç noktası olarak yaygın biçimde kullanılmaktadır. Ancak giriş katmanlarında p=0.1-0.2, konvolüsyonel katmanlarda daha düşük değerler tercih edilir; bu katmanlarda zaten az parametre bulunduğundan çok yüksek dropout aşırı bilgi kaybına yol açabilir. Batch normalization ile birlikte kullanıldığında dikkatli olmak gerekir; ikisi arasındaki etkileşim bazen istenmeyen davranışlara neden olabilmektedir. Test aşamasında dropout tamamen devre dışı bırakılır; tüm nöronlar aktif kalır. Ağırlıklar eğitim sırasında kullanılan seyrelmeyi telafi etmek için (1−p) çarpanıyla ölçeklenir. Modern çerçeveler "inverted dropout" uygular: eğitim sırasında kalan nöronların çıkışları 1/(1−p) ile çarpılır, böylece test aşamasında ekstra işlem gerekmez. PyTorch'ta torch.nn.Dropout(p=0.5) ve Keras'ta layers.Dropout(0.5) ile tek satırda eklenir. Dropout ayrıca Bayesian derin öğrenmeyle de ilişkilendirilmektedir. Test zamanında da dropout açık tutularak birden fazla tahmin yapılırsa (MC Dropout), bu tahminlerin dağılımı modelin belirsizliğine dair istatistiksel bilgi üretir. Özellikle tıbbi teşhis ve otonom araç gibi güvenlik açısından kritik uygulamalarda bu özellik son derece değerlidir. Spatial Dropout ise konvolüsyonel ağlarda tüm özellik haritası kanallarını sıfırlayarak uzamsal bağıntıları daha etkili biçimde kırmaktadır.

arrow_forward
balance

Bias-Variance Tradeoff (Önyargı-Varyans Dengesi)

Bias-Variance Tradeoff (Önyargı-Varyans Dengesi), makine öğrenmesinde bir modelin tahmin hatası üzerindeki iki temel kaynağı arasındaki dengeyi açıklayan merkezi bir kavramdır. Bu iki kaynak —önyargı (bias) ve varyans (variance)— genellikle birbirinin tersi yönde hareket eder ve bu gerilim, model seçiminin özünü oluşturur. Önyargı (Bias), modelin gerçek ilişkiyi ne kadar basit varsaydığını ölçer. Yüksek önyargılı bir model, verinin karmaşık yapısını kavramak yerine aşırı basitleştirilmiş varsayımlar yapar. Örneğin, doğrusal olmayan bir probleme yalnızca doğrusal regresyon uygulamak bu duruma yol açar. Sonuç, hem eğitim hem test setinde yüksek hata oranı ve yetersiz öğrenme (underfitting) olarak kendini gösterir. Varyans (Variance), modelin eğitim verisindeki gürültüye ve rastgele dalgalanmalara ne kadar duyarlı olduğunu ölçer. Yüksek varyanslı bir model, eğitim setini adeta ezberler; eğitim hatası düşük, ancak test hatası yüksek olur. Bu aşırı öğrenme (overfitting) durumuna, çok derin karar ağaçları veya yüksek dereceli polinom modeller yol açabilir. Matematiksel olarak, bir modelin beklenen ortalama karesel hatası şöyle ayrıştırılır: Toplam Hata = Bias² + Varyans + Gürültü Gürültü terimi, verinin kendisinden kaynaklanan ve azaltılamayan bir sabit hatadır. Bias ve Varyans ise model karmaşıklığına doğrudan bağlıdır: model basitleştikçe bias artar, karmaşıklaştıkça varyans artar. Bu dengeyi pratikte yönetmek için yaygın olarak kullanılan teknikler şunlardır: Regularizasyon (L1/L2) varyansı azaltmak için model ağırlıklarını cezalandırır. Çapraz doğrulama (cross-validation), modelin gerçek genelleştirme gücünü ölçerek aşırı öğrenmeyi tespit eder. Ensemble yöntemleri (Random Forest, Gradient Boosting) birden fazla modeli birleştirerek hem önyargıyı hem de varyansı dengeler. Dropout, derin sinir ağlarında rastgele nöronları devre dışı bırakarak varyansı azaltır. Veri miktarının artması genellikle varyansı düşürür, çünkü model daha az rastgele örüntülere tutunmak zorunda kalır. Ancak önyargıyı azaltmak için doğru model ailesi seçimi şarttır; daha fazla veri yüksek önyargılı bir modeli iyileştirmez. Deneyimli veri bilimciler, öğrenme eğrilerini ve validasyon metriklerini analiz ederek modelin hangi uçta baskın hata ürettiğini tespit eder ve uygun müdahaleyi seçer.

arrow_forward
code_blocks

Cross-Validation (Çapraz Doğrulama) (Çapraz Doğrulama)

Cross-validation (çapraz doğrulama), makine öğrenimi ve istatistikte bir modelin görülmemiş veriye ne kadar iyi genelleyeceğini tahmin etmek için kullanılan sistematik bir değerlendirme yöntemidir. Temel fikir basittir: mevcut veriyi tek seferlik eğitim/test bölümüne ayırmak yerine, veriyi birden fazla kez farklı biçimlerde bölüp her seferinde ayrı bir test seti oluşturmak ve sonuçların ortalamasını almaktır. En yaygın yöntem k-kat çapraz doğrulama (k-fold cross-validation) dır. Bu yöntemde veri seti k eşit parçaya bölünür; model k kez eğitilir ve her seferinde farklı bir parça test seti olarak ayrılırken kalan k-1 parça eğitim için kullanılır. Genellikle k=5 veya k=10 değeri tercih edilir. Ortaya çıkan k performans puanı ortalaması, modelin genel başarısını temsil eden tarafsız bir tahmin sunar. Çapraz doğrulamanın en kritik faydası aşırı uyum (overfitting) riskini düşürmesidir. Tek bir sabit test seti kullanıldığında model o teste göre dolaylı olarak optimize edilebilir; çapraz doğrulama ise her iterasyonda farklı veriler gördüğünden bu riski minimize eder. Özellikle sınırlı veri miktarı söz konusu olduğunda her örnek hem eğitim hem test için değerlendirileceğinden veriden maksimum bilgi çıkarılmış olur. Yöntemin varyantları arasında sınıf dağılımını koruyan tabakalı k-kat (stratified k-fold), her seferinde yalnızca bir örneği test seti bırakan bırak-bir-dışarıda (leave-one-out, LOOCV) ve zaman serisi analizine uygun kayan pencere yaklaşımı sayılabilir. Tabakalı k-kat, dengesiz sınıf dağılımı olan sınıflandırma problemlerinde standart tercih haline gelmiştir. Hesaplama maliyeti açısından bakıldığında çapraz doğrulama modeli k kez eğitmeyi gerektirir; büyük veri setlerinde ve derin öğrenme modellerinde bu ciddi bir kaynak artışı anlamına gelebilir. Bu durumlarda daha küçük k değerleri veya tek seferlik validasyon seti yaklaşımları tercih edilebilir. Bununla birlikte çoğu geleneksel makine öğrenimi senaryosunda çapraz doğrulama, model seçimi ve hiperparametre ayarı için vazgeçilmez bir araç olmayı sürdürmektedir.

arrow_forward
science

Feature Selection (Özellik Seçimi)

Ozellik secimi (feature selection), bir makine ogrenimi modelinin egitiminde kullanilacak en bilgilendirici ve gercek anlam tasiyan ozellik alt kumesini belirlemek amaciyla gereksiz, tekrarli veya alakasiz ozelliklerin elenme surecidir. Cok sayida ozellik her zaman daha iyi model anlamina gelmez; aksine fazla ozellik overfitting riskini arttirir, egitim suresini uzatir ve modelin yorumlanmasini guclestirir. Ozellik secimi uc ana kategoride incelenir. Filter yontemleri, model egitiminden bagimsiz olarak ozellikleri istatistiksel kriterlerle puanlar ve siralar. Chi-squared test, mutual information ve Pearson korelasyon katsayisi bu kategorinin temsil ornekleridir. Uygulamasi hizlidir ve overfitting riski tasimaz; ancak ozellikler arasindaki etkilesimi dikkate almaz. Wrapper yontemleri, secilen ozellik alt kumesini dogrudan bir model uzerinde dener ve performansa gore degerlendirme yapar. Recursive Feature Elimination (RFE), ozellik sayisini katlanarak azaltip her adimda modeli yeniden egiterek en kotu ozelligi eler; bu surec hedef ozellik sayisina ulasana kadar devam eder. Wrapper yontemleri genellikle filter yontemlerine kiyasla daha iyi ozellik alt kumesi bulur ancak hesaplama maliyeti cok yuksektir. Embedded yontemler ozellik secimini model egitim surecininin icine gommus sistemlerdir. LASSO (L1 duzenlemesi) bazi ozellik agirliklarini sifira indirerek otomatik secim saglar. Random Forest ve XGBoost gibi agac tabanli modeller egitim sirasinda her ozelligin onemi hesaplar; bu skorlar dusuk onemli ozellikleri elemede kullanilir. Boyutsallak laneti (curse of dimensionality), yuksek ozellikli uzaylarda orneklerin birbirinden uzaklasip mesafe bazli algoritmalarin anlamsizlasmasi olgusunu ifade eder. Ozellik secimi bu problemi dogrudan adreste. Ek olarak secimlerin yorumlanabilirligi saglar: hangi ozelliklerin modeli surdurup surdurmediginin anlasilmasi, hem ayiklama hem de alan uzmanlarindan geri bildirim alma acisindan kritik oneme sahiptir. **Sik Sorulan Sorular** **Ozellik secimi ile boyut indirgeme (PCA gibi) arasindaki fark nedir?** Ozellik secimi mevcut ozelliklerin bir alt kumesini tutar; orijinal ozellikler yorumlanabilirligini korur. PCA gibi boyut indirgeme yontemleri yeni, yapay ozellikler olusturur; yorumlanabilirlik kaybolur ama bazen daha iyi genelleme saglar. **Kac ozellik yeterlidir?** Genel kural yoktur; veri boyutuna, ornek sayisina ve modele bagimlidir. Cross-validation ile farkli ozellik sayilari denenerek elbow noktasi belirlenir. **Ozellik secimi her zaman gerekli midir?** Sinirli ornek sayisi veya yuksek boyutlu veri durumunda buyuk fayda saglar. Derin ogrenme modelleri ozellik muhendisligini buyuk olcude otomatiklestirebilir; bu durumda acik ozellik secimi daha az kritik olabilir. **Kategorik ozellikler icin hangi yontem kullanilir?** Chi-squared test veya mutual information filter yontemleri kategorik ozellikler icin uygundur. Tree-based modellerin onem skorlari ise kategorik ve sayisal ozelliklerin karisik oldugu veri kumelerinde pratik bir embedded yontemdir.

arrow_forward
code_blocks

Regularization (Düzenlileştirme)

Düzenlileştirme (Regularization), makine öğrenimi modellerinin eğitim verisine aşırı uyum sağlaması (overfitting) problemini önlemek için kayıp fonksiyonuna ek bir ceza terimi ekleyen teknikler ailesidir. Temel amaç, modelin eğitim setini ezberlemek yerine görülmemiş verilere genelleştirme kapasitesini artırmaktır. Aşırı öğrenme (overfitting), bir modelin eğitim verilerindeki gürültüyü ve ayrıntıları kapasitesi sayesinde öğrenmesi ama yeni veriye uygulandığında başarısız olması durumudur. Düzenlileştirme bu sorunu ağırlık değerlerini küçük tutmaya zorlayarak çözer: büyük ağırlıklar modelin tek veri noktalarına aşırı duyarlı olduğuna işaret eder; ceza terimi bu değerleri sıfıra yakın tutarak daha düz ve genelleşebilir bir karar sınırı öğretir. **L2 Düzenlileştirme (Ridge / Ağırlık Sönümlemesi)** en yaygın yöntemdir. Kayıp fonksiyonuna tüm ağırlıkların karelerinin toplamı λΣw² eklenir. Bu formülasyon büyük ağırlıkları cezalandırır ama hiçbirini tam sıfıra indirgemez; sonuç olarak tüm özellikler modelde küçük de olsa katkıda bulunur. Deep learning'de "weight decay" olarak da anılır ve PyTorch optimizer'larında `weight_decay` parametresiyle doğrudan kullanılır. **L1 Düzenlileştirme (Lasso)**, λΣ|w| ceza terimiyle bazı ağırlıkları tam sıfıra iter; bu sayede otomatik özellik seçimi gerçekleşir. Yüzlerce özellik içinden yalnızca birkaç kritik birinin önemli olduğu durumlar için idealdir. L1 ile L2'yi birleştiren Elastic Net, her iki avantajdan yararlanır. **Dropout**, derin sinir ağlarına özgü güçlü bir düzenlileştirme yöntemidir: eğitim sırasında her adımda nöronların rastgele bir oranı (ör. %20-50) devre dışı bırakılır. Model, belirli nöronlara güvenemeyeceği için farklı yollarla aynı sonuca ulaşmayı öğrenir; bu da ansambl etkisi yaratır. Çıkarım sırasında tüm nöronlar etkin olur ve ağırlıklar bırakma oranıyla ölçeklenir. **Erken Durdurma (Early Stopping)**, doğrulama kaybı artmaya başladığı noktada eğitimi kesen örtük bir düzenlileştirme yöntemidir. Model henüz eğitim setini ezberlemeye geçmeden öğrenme durdurulur. Uygulamada λ hiperparametresi kademeli grid search veya Bayesian optimizasyonla ayarlanır; çok büyük λ modeli yetersiz öğrenmeye (underfitting) iter.

arrow_forward