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

L2 normalleştirmesi, aşağıdaki formülü kullanan 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ığa sahip bir model için L2 normalleş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ştirmesini çok fazla etkilemediğini ancak büyük ağırlıkların büyük bir etkisi olabileceğini unutmayın. Örneğin, önceki 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ın 0'a doğru gitmesini teşvik eder ancak ağırlıkları hiçbir zaman sıfıra kadar itmez.

Alıştırmalar: Öğrendiklerinizi test edin

Bir modeli eğitirken L2 normalleştirmesi kullanırsanız modelin genel karmaşıklığı genellikle nasıl değişir?
Sistemin genel karmaşıklığı büyük olasılıkla azalır.
L2 normalleştirmesi, ağırlıkların 0'a doğru olmasını teşvik ettiğinden genel karmaşıklık muhtemelen azalır.
Modelin genel karmaşıklığı muhtemelen aynı kalır.
Bu çok düşük bir ihtimaldir.
Modelin genel karmaşıklığı büyük olasılıkla artar.
Bu olası değildir. L2 normalleştirmesinin ağırlıkların 0'a doğru yönelmesini teşvik ettiğini unutmayın.
Bir modeli eğitirken L2 normalleştirmesi kullanırsanız bazı özellikler modelden kaldırılır.
Doğru
L2 normalleştirmesi bazı ağırlıkları çok küçük hale getirebilir ancak hiçbir ağırlığı sıfıra kadar düşürmez. Sonuç olarak, tüm özellikler modele bir katkıda bulunmaya devam edecektir.
Yanlış
L2 normalleştirmesi, ağırlıkları hiçbir zaman sıfıra kadar düşürmez.

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 ayarlamak için değerini normalleştirme oranı adlı bir skaler ile çarpar. Yunanca lambda karakteri 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üzenlemenin etkisini güçlendirerek aşırı uyum sağlama olasılığını azaltır.
  • Aşağıdaki özelliklere sahip bir model ağırlıkları histogramı oluşturma eğilimindedir:
    • normal dağılım
    • ortalama ağırlığı 0 olan bir veri kümesi.

Düşük normalleştirme oranı:

  • Düzenlemenin etkisini azaltarak aşırı uyum sağlama olasılığını artırır.
  • Düz bir dağılıma sahip model ağırlıkları histogramı oluşturma eğilimindedir.

Örneğin, yüksek normalleştirme oranı için model ağırlıklarının histogrami Şekil 18'de gösterildiği gibi görünebilir.

Şekil 18. Ortalaması sıfır ve normal dağılıma sahip bir modelin ağırlıklarının histogrami.
Şekil 18. Yüksek normalleştirme oranı için ağırlık histogramı. Ortalama sıfırdır. Normal dağılım.

 

Buna karşılık, düşük bir normalleştirme oranı Şekil 19'da gösterildiği gibi daha düz bir histogram elde etme 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.

 

Normalleştirme oranını seçme

İdeal normalleştirme oranı, yeni ve daha önce görülmemiş verilere iyi genelleştiren bir model oluşturur. Maalesef bu ideal değer verilere bağlı olduğundan manuel veya otomatik olarak bazı düzenlemeler yapmanız gerekir. ayarlama.

Erken durdurma: Karmaşıklığa dayalı normalleştirmeye alternatif

Erken durdurma, karmaşıklık hesaplaması içermeyen bir normalleştirme yöntemidir. Erken durdurma, model tam olarak birleşmeden önce eğitimi sonlandırmak anlamına gelir. Örneğin, doğrulama veri kümesinin kayıp eğrisi artmaya başladığında (eğim pozitif hale geldiğinde) 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 bir normalleştirme şeklidir. Elde edilen modelin, ideal normalleştirme hızında ayrıntılı olarak eğitilmiş bir model kadar iyi olma olasılığı çok düşüktür.

Öğrenme hızı ile normalleştirme hızı arasında denge bulma

Öğrenme hızı ve normalleştirme hızı, ağırlıkları birbirine zıt yönlere çekme eğilimindedir. Yüksek öğrenme hızı genellikle ağırlıkları sıfırdan uzaklaştırır; yüksek normalleştirme hızı ise ağırlıkları sıfıra yakınlaştırır.

Düzenleme oranı, öğrenme hızına göre yüksekse zayıf ağırlıklar, kötü tahminler yapan bir model oluşturma eğilimindedir. Buna karşılık, öğrenme hızı normalleştirme hızı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 normalleştirme hızı arasında dengeyi bulmaktır. Bu, zor bir süreç olabilir. En kötüsü, bu dengeyi bulduktan sonra öğrenme hızını değiştirmeniz gerekebilir. Ayrıca, öğrenme hızını değiştirdiğinizde ideal normalleştirme hızını tekrar bulmanız gerekir.