L1 ve L2 düzenlileştirme, makine öğrenmesi modellerinde overfitting'i önlemek ve genelleştirme performansını artırmak için kullanılan iki temel tekniktir. Lasso (L1) ve Ridge (L2) olarak da bilinen bu yöntemler, katsayılara farklı cezalar uygulayarak modelin karmaşıklığını kontrol eder. Doğru düzenlileştirme yöntemini seçmek, model başarımı üzerinde kritik bir etkiye sahiptir.
Düzenlileştirme (Regularization) Nedir ve Neden Önemlidir?
Düzenlileştirme, aşırı uyumu (overfitting) engellemek için model parametrelerine bir ceza terimi ekleyen bir tekniktir. Amaç, modelin eğitim verisine çok fazla uyum sağlamasını (yüksek varyans) önleyerek, görülmemiş verilere daha iyi genellenmesini sağlamaktır. L1 ve L2 en yaygın düzenlileştirme türleridir. Her ikisi de kayıp fonksiyonuna bir ceza terimi ekler, ancak cezalandırma şekilleri farklıdır.
L1 Düzenlileştirme (Lasso) Nasıl Çalışır?
L1 düzenlileştirme, katsayıların mutlak değerlerinin toplamını ceza olarak ekler. Matematiksel olarak, kayıp fonksiyonu: Loss = Orijinal Kayıp + λ * Σ|w_i|. Bu ekleme, katsayıların bir kısmını tam olarak sıfıra iter, böylece otomatik özellik seçimi (feature selection) yapar. Lasso, yüksek boyutlu veri setlerinde yalnızca en önemli özellikleri tutarak daha basit ve yorumlanabilir modeller oluşturur. Ancak, korelasyonlu özellikler arasında kararsız kalabilir ve bunlardan yalnızca birini seçme eğilimindedir.
L2 Düzenlileştirme (Ridge) Nasıl Çalışır?
L2 düzenlileştirme, katsayıların karelerinin toplamını ceza olarak ekler: Loss = Orijinal Kayıp + λ * Σw_i². Bu ceza, katsayıları sıfıra yaklaştırır ancak tam olarak sıfırlamaz, yani özellik seçimi yapmaz. Ridge, tüm özellikleri korur ve korelasyonlu özelliklere daha dengeli cezalar verir, böylece kararlı ve düşük varyanslı modeller üretir. Genellikle çok sayıda özellik olduğunda veya tüm özelliklerin bilgi taşıdığı düşünüldüğünde tercih edilir.
L1 ve L2 Arasındaki Temel Farklar
| Özellik | L1 (Lasso) | L2 (Ridge) |
|---|---|---|
| Ceza terimi | Katsayıların mutlak değerlerinin toplamı (λ∑|w|) | Katsayıların karelerinin toplamı (λ∑w²) |
| Özellik seçimi | Evet, bazı katsayıları sıfır yapar | Hayır, katsayıları sıfıra yaklaştırır ama sıfırlamaz |
| Çoklu korelasyon | Korelasyonlu özelliklerden birini seçer | Korelasyonlu özelliklere dengeli ceza dağıtır |
| Model yorumlanabilirliği | Yüksek (daha az özellik) | Düşük (tüm özellikler kalır) |
| Hata türü | Düşük sapma, yüksek varyans (sıfırlanan katsayılardan dolayı değişken) | Düşük varyans, yüksek sapma (katsayılar küçülür) |
Lasso mu Ridge mi? Hangi Durumda Hangi Yöntem Seçilmeli?
Seçim, veri setinin yapısına ve probleme bağlıdır: - Çok sayıda özellik varsa ve yalnızca birkaçının anlamlı olduğunu düşünüyorsanız Lasso (L1) kullanın. Lasso, gereksiz özellikleri sıfırlayarak daha basit ve yorumlanabilir bir model oluşturur. - Tüm özelliklerin bilgi taşıdığını düşünüyorsanız veya korelasyonlu özellikler varsa Ridge (L2) daha uygundur. Ridge, tüm özellikleri korur ve kararlı bir model sağlar. - Hiperparametre λ (lambda), cezanın gücünü kontrol eder. Büyük λ daha güçlü düzenlileştirme demektir. λ'nın optimal değerini bulmak için çapraz doğrulama (cross-validation) kullanılmalıdır. - İkisi arasında kararsız kalıyorsanız Elastic Net (L1+L2 birleşimi) deneyebilirsiniz. Elastic Net, L1'in özellik seçme kabiliyeti ile L2'nin kararlılığını birleştirir. Daha önce yayınladığımız PCA vs t-SNE vs UMAP yazısında olduğu gibi, boyut indirgeme yöntemleri de düzenlileştirme gibi modelin aşırı karmaşıklığını azaltmaya yardımcı olur, ancak farklı bir mekanizma ile çalışır.
Elastic Net: L1 ve L2'nin Birleşimi
Elastic Net, L1 ve L2 düzenlileştirmeyi birleştirirken her birinin güçlü yanlarını alır. Kayıp fonksiyonu: Loss = Orijinal Kayıp + λ1 * Σ|w_i| + λ2 * Σw_i². Bu, özellikle yüksek korelasyonlu özelliklerin bulunduğu durumlarda Lasso'nun kararsızlığını gidermek için etkilidir. Elastic Net, L1'in özellik seçme yeteneğini korurken, bir grup korelasyonlu özelliği birlikte seçme veya silme eğilimindedir. L1 ve L2 arasında bir denge kurarak daha esnek bir düzenlileştirme sağlar.
Pratik Uygulama ve İpuçları
Düzenlileştirme uygularken şu noktalara dikkat edilmelidir:
- Özellik ölçeklendirme: L1 ve L2 düzenlileştirme, özelliklerin ölçeğine duyarlıdır. Bu nedenle, uygulamadan önce verileri standartlaştırmak (ortalama 0, varyans 1) önemlidir.
- Lambda seçimi: λ değeri için genellikle 0.001, 0.01, 0.1, 1, 10 gibi logaritmik bir aralık denenir ve çapraz doğrulama ile en iyi performansı veren değer seçilir.
- Model karşılaştırması: Düzenlileştirmeli ve düzenlileştirmesiz modelleri eğitim, doğrulama ve test setlerinde karşılaştırarak overfitting'in azalıp azalmadığını kontrol edin.
- Hata metrikleri: Düzenlileştirme sonrası RMSE, MAE, R² gibi metriklerdeki değişimleri izleyin. Genellikle eğitim hatası artarken test hatası düşer.
İnce ayar (fine-tuning) sürecinde düzenlileştirme tekniklerinin kullanımı, özellikle LLM'lerde etkili olabilir. Bu konuda daha fazla bilgi için LoRA Fine-Tuning rehberimize göz atabilirsiniz.
Sık Yapılan Hatalar
- Standartlaştırma yapmamak: Ölçeklenmemiş veride düzenlileştirme, büyük ölçekli özellikleri daha fazla cezalandırır, yanlı sonuçlar doğurur.
- Lambda'yı çapraz doğrulama ile seçmemek: Rastgele bir λ kullanmak, düzenlileştirmenin faydasını ortadan kaldırabilir veya yetersiz düzenlileştirmeye yol açabilir.
- L1 ve L2'yi aynı anda gereksiz kullanmak: Her iki düzenlileştirmeyi birlikte kullanmak istiyorsanız Elastic Net gibi bir yöntem tercih edilmeli, ayrı ayrı eklemekten kaçınılmalıdır.
- Düzenlileştirmeyi her modelde uygulamak: Düşük karmaşıklıktaki modeller (örneğin lojistik regresyon) zaten düşük varyansa sahiptir; düzenlileştirme gereksiz olabilir.
Sonuç olarak, L1 ve L2 düzenlileştirme, modern makine öğrenmesinin vazgeçilmez araçlarındandır. Doğru yöntemi seçmek ve hiperparametreleri dikkatlice ayarlamak, modellerinizin performansını önemli ölçüde artırabilir. Unutmayın, her problem için en iyi düzenlileştirme türü farklıdır; deneyler yaparak size en uygun olanı bulun.
Sık Sorulan Sorular
L1 düzenlileştirme neden özellik seçimi yapar?
L1 düzenlileştirme, katsayılara mutlak değer cezası uyguladığı için bazı katsayıları tam olarak sıfıra iter. Bu sayede gereksiz özellikler modelden çıkarılır ve otomatik özellik seçimi gerçekleşir.
L2 düzenlileştirme her zaman mı daha iyidir?
Hayır, L2 her zaman daha iyi değildir. L2, tüm özellikleri korur ve katsayıları sıfıra yaklaştırır, bu nedenle çok sayıda gereksiz özellik varsa model karmaşık kalır. L1 bu durumda daha uygun olabilir.
Hangi durumda Elastic Net kullanmalıyım?
Elastic Net, yüksek korelasyonlu özellikler olduğunda veya L1 ile L2 arasında karar veremediğinizde idealdir. L1'in özellik seçme özelliğini korurken, korelasyonlu grupları birlikte ele alarak daha kararlı sonuçlar verir.
Regularization parametresi lambda (λ) nasıl seçilir?
Lambda genellikle çapraz doğrulama ile seçilir. Logaritmik ölçekte bir dizi lambda değeri (örneğin 0.001, 0.01, 0.1, 1, 10) denenir ve en düşük doğrulama hatasını veren değer seçilir.
L1 ve L2 düzenlileştirme birlikte kullanılabilir mi?
Evet, Elastic Net yöntemi ile L1 ve L2 aynı anda kullanılabilir. Ayrı ayrı eklemek yerine Elastic Net, iki cezayı tek bir kayıp fonksiyonunda birleştirir ve daha esnek bir düzenlileştirme sağlar.






