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 L2'nin hesaplanması gösterilmektedir altı ağırlığa sahip bir model için normalleştirme:

Değer Değerin karesi
h1 0,2 0,04
h2 -0,5 0,25
h3 5,0 25,0
h4 -1,2 1,44
h5 0,3 0,09
h6 -0,1 0,01
    26,83 = toplam

Sıfıra yakın ağırlıkların L2 normalleştirmesini etkilemediğine dikkat edin. ancak büyük ağırlıkların etkisi büyük olabilir. Örneğin, önceki hesaplama:

  • Tek bir ağırlık (w3), toplam bitkinin ortalama netleştirmeye yardımcı olur.
  • Diğer beş ağırlık ise toplam katkının yalnızca% 7'sine karşılık geliyor. netleştirmeye yardımcı olur.

L2 normalleştirmesi, ağırlıkları 0'a doğru teşvik eder, ancak sıfıra kadar gider.

Alıştırmalar: Öğrendiklerinizi sınayın

Bir modeli eğitirken L2 normalleştirmesini kullanırsanız genel olarak modelin genel karmaşıklığına ne olacak?
Sistemin genel karmaşıklığı muhtemelen azalacaktır.
L2 normalleştirmesi, ağırlıkları 0'a doğru teşvik ettiği için, genel karmaşıklık muhtemelen azalacaktır.
Modelin genel karmaşıklığı muhtemelen sabittir.
Bu çok düşük bir ihtimaldir.
Modelin genel karmaşıklığı muhtemelen artacaktır.
Bu, düşük bir olasılıktır. L2 normalleştirmesinin 0'a doğru ağırlıkları teşvik eder.
Bir modeli eğitirken L2 normalleştirmesini kullanırsanız bazı özellikler modelden kaldırılacak.
Doğru
L2 normalleştirmesi bazı ağırlıkları çok yüksek küçük olduğu için hiçbir ağırlıkları sıfıra kadar itmez. Sonuç olarak, tüm özellikler Google’ın bahsedeceğim.
Yanlış
L2 normalleştirmesi, ağırlıkları hiçbir zaman sıfır.

Normalleştirme oranı (lambda)

Daha önce de 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ştiricileri, karmaşıklığın model eğitimi üzerindeki genel etkisine göre ayarlamalar yapar bunun değerini düzenleme oranı. Yunan alfabesindeki lambda karakteri genellikle normalleştirme oranını sembolize eder.

Diğer bir deyişle, model geliştiricileri şunları yapmayı amaçlar:

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

Yüksek bir normalleştirme oranı:

  • Normalleştirmenin etkisini güçlendirir, böylece normalleştirme ihtimalini azaltır. uyum sağlamasıdır.
  • Aşağıdakilere sahip model ağırlıklarının histogramını üretme eğilimindedir. özellikler:
    • normal dağılım
    • ortalama ağırlık 0'dır.

Düşük bir normalleştirme oranı:

  • Normalleştirmenin etkisini azaltarak olası satışları azaltır. uyum sağlamasıdır.
  • Düz dağılımlı, model ağırlıkları histogramı üretme eğilimindedir.

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

Şekil 18. Bir modelin ağırlıklarının ortalaması sıfır ile histogramı
            bir durum vardır.
Şekil 18. Yüksek bir normalleştirme oranı için ağırlık histogramı. Ortalama sıfırdır. Normal dağılım.

 

Öte yandan, düşük bir normalleştirme oranı, normalleşme oranı nedeniyle daha düz bir histogram Şekil 19'da gösterilmiştir.

Şekil 19. Bir modelin ağırlıklarının sıfır ortalamasına sahip histogramı
            düz dağılım ile normal
            ya da
Şekil 19. Düşük bir normalleştirme oranı için ağırlık histogramı. Ortalama değer, sıfır olabilir veya olmayabilir.

 

Normalleştirme oranını seçme

İdeal normalleştirme hızı, genelde daha önce görülmemiş yeni verileri görüntüleyebilirsiniz. Maalesef bu ideal değer veriye bağlıdır. O yüzden kendi projenizde . ayarlama.

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

Erken durdurma, Karmaşıklık hesaplaması içermeyen bir normalleştirme yöntemidir. Erken durdurma, eğitimin modelden önce bitirilmesi anlamına gelir. tam olarak kesişir. Örneğin, kayıp eğrisinde bir sorun yaşadığınızda değeri artmaya başlar (eğim pozitif hale gelir).

Erken durdurma genellikle eğitim kaybını artırır, ancak test kaybı.

Erken durdurma, hızlı ancak nadiren optimum olan bir normalleştirme biçimidir. Sonuçta ortaya çıkan modelin, eğitilmiş bir model kadar iyi olma olasılığı düşüktür normalleştirme oranını araştırmalısınız.

Öğrenme hızı ile normalleştirme oranı arasındaki dengeyi bulma

Öğrenme oranı ve normalleştirme oranı, ağırlıkları tersine çekme eğilimindedir. yol tarifleri alın. Yüksek bir öğrenme hızı genellikle ağırlıkları sıfırdan uzaktan çeker; yüksek bir normalleştirme hızı, ağırlıkları sıfıra doğru çeker.

Normalleş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. Öte yandan, normalleştirmeye kıyasla öğrenme hızı yüksekse güçlü ağırlıklar bir fazla uyum modeli oluşturma eğilimindedir.

Amacınız, öğrenme hızı ile hedefin ne kadar hızlı normalleştirme oranı. Bu zorlayıcı olabilir. En kötüsü de, bulduğunuzda öğrenme hızını değiştirmeniz gerekebilir. Öğrenme hızını değiştirdiğinizde de, yine ideal koşullarda normalleştirme oranı.