Fazla sığdırma: L2 normalleştirmesi

L2 normalleştirme aşağıdaki formülün kullanıldığı popüler bir normalleştirme metriğidir:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

Örneğin, aşağıdaki tabloda altı ağırlıklı bir model için L2 düzenlileştirme hesaplaması gösterilmektedir:

Değer Kare değeri
w1 0,2 0,04
w2 -0,5 0,25
w3 5,0 25,0
w4 -1,2 1,44
w5 0,3 0,09
w6 -0,1 0,01
    26,83 = toplam

Sıfıra yakın ağırlıkların L2 normalleştirme üzerinde fazla etkisi olmadığını, ancak büyük ağırlıkların büyük bir etkisi olabileceğini unutmayın. Örneğin, yukarıdaki hesaplamada:

  • Tek bir ağırlık (w3), toplam karmaşıklığın yaklaşık% 93'üne katkıda bulunur.
  • Diğer beş ağırlık, toplam karmaşıklığın yalnızca yaklaşık% 7'sine katkıda bulunur.

L2 normalleştirmesi, ağırlıkları 0'a yakın olmaya teşvik eder ancak ağırlıkları hiçbir zaman tamamen sıfıra indirmez.

Egzersizler: Anlayıp anlamadığınızı kontrol edin

Bir modeli eğitirken L2 düzenlileştirme kullanırsanız modelin genel karmaşıklığı genellikle nasıl etkilenir?
Sistemin genel karmaşıklığı muhtemelen azalır.
L2 normalleştirmesi ağırlıkları 0'a doğru yönlendirdiğinden, genel karmaşıklık muhtemelen düşer.
Modelin genel karmaşıklığı muhtemelen sabit kalır.
Bu çok düşük bir ihtimaldir.
Modelin genel karmaşıklığı muhtemelen artacaktır.
Bu durum pek olası değildir. L2 normalleştirmesinin ağırlıkları 0'a doğru yönlendirdiğini unutmayın.
Bir modeli eğitirken L2 düzenlileştirme kullanırsanız bazı özellikler modelden kaldırılır.
Doğru
L2 normalleştirmesi bazı ağırlıkları çok küçük hale getirebilse de hiçbir ağırlığı sıfıra indirmez. Bu nedenle, tüm özellikler modele katkıda bulunmaya devam eder.
Yanlış
L2 normalleştirmesi, ağırlıkları hiçbir zaman sıfıra kadar itmez.

Normalleştirme oranı (lambda)

Belirtildiği gibi, eğitimde kayıp ve karmaşıklığın bir kombinasyonu en aza indirilmeye çalışılır:

$$\text{minimize(loss} + \text{ complexity)}$$

Model geliştiriciler, karmaşıklığın model eğitimi üzerindeki genel etkisini, değerini düzenlileştirme oranı adı verilen bir skalerle çarparak ayarlar. Yunan karakteri lambda genellikle normalleştirme oranını simgeler.

Yani model geliştiriciler aşağıdakileri yapmayı amaçlar:

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

Yüksek normalleştirme oranı:

  • Düzenlileştirmenin etkisini güçlendirerek aşırı uyum olasılığını azaltır.
  • Aşağıdaki özelliklere sahip model ağırlıklarının histogramını oluşturma eğilimindedir:
    • normal dağılım
    • 0 ortalama ağırlığı.

Düşük normalleştirme oranı:

  • Düzenlileştirmenin etkisini azaltarak aşırı uyum olasılığını artırır.
  • Düz dağılımlı model ağırlıklarının histogramını oluşturma eğilimindedir.

Örneğin, yüksek düzenlileştirme oranına sahip bir modelin ağırlıklarının histogramı Şekil 18'de gösterildiği gibi görünebilir.

Şekil 18. Ortalaması sıfır olan ve normal dağılım gösteren bir modelin ağırlıklarının histogramı.
Şekil 18. Yüksek düzenlileştirme oranı için ağırlık histogramı. Ortalama sıfırdır. Normal dağılım.

 

Buna karşılık, düşük normalleştirme oranı, Şekil 19'da gösterildiği gibi daha düz bir histogram oluşturma eğilimindedir.

Şekil 19. Düz dağılım ile normal dağılım arasında bir yerde bulunan, ortalaması sıfır olan bir modelin ağırlıklarının histogramı.
Şekil 19. Düşük normalleştirme oranı için ağırlık histogramı. Ortalama sıfır olabilir veya olmayabilir.

 

Düzenlileştirme oranını seçme

İdeal normalleştirme oranı, yeni ve daha önce görülmemiş veriler için iyi genelleme yapan bir model oluşturur. Maalesef bu ideal değer veriye bağlıdır. Bu nedenle, manuel veya otomatik olarak bazı İnce ayarlar.

Erken durdurma: Karmaşıklığa dayalı düzenlileştirmenin alternatifi

Erken durdurma, karmaşıklık hesaplaması içermeyen bir normalleştirme yöntemidir. Bunun yerine, erken durdurma yalnızca model tam olarak yakınsamadan önce eğitimin sonlandırılması anlamına gelir. Örneğin, doğrulama kümesi için kayıp eğrisi artmaya başladığında (eğim pozitif olduğunda) eğitimi sonlandırırsınız.

Erken durdurma genellikle eğitim kaybını artırsa da test kaybını azaltabilir.

Erken durdurma, hızlı ancak nadiren optimum olan bir normalleştirme biçimidir. Elde edilen modelin, ideal düzenlileştirme oranıyla kapsamlı bir şekilde eğitilmiş bir model kadar iyi olması pek olası değildir.

Öğrenme hızı ile düzenlileştirme oranı arasında denge kurma

Öğrenme hızı ve normalleştirme oranı, ağırlıkları zıt yönlerde hareket ettirir. Yüksek öğrenme hızı, ağırlıkları genellikle sıfırdan uzaklaştırır. Yüksek düzenlileştirme oranı ise ağırlıkları sıfıra yaklaştırır.

Düzenlileştirme oranı, öğrenme hızına göre yüksekse zayıf ağırlıklar, kötü tahminler yapan bir model oluşturma eğilimindedir. Bunun tersine, öğrenme hızı düzenlileştirme oranına göre yüksekse güçlü ağırlıklar fazla uyumlu bir model oluşturma eğilimindedir.

Amacınız, öğrenme hızı ile düzenlileştirme oranı arasında dengeyi bulmaktır. Bu zorlu bir süreç olabilir. En kötüsü de, o zor bulunan dengeyi bulduğunuzda öğrenme hızını değiştirmeniz gerekebilir. Ayrıca, öğrenme hızını değiştirdiğinizde ideal düzenlileştirme hızını tekrar bulmanız gerekir.