Düzenleme: neden 1 / 2m ile çarpalım?


10

In hafta 3 ders notları arasında Andrew Ng adlı Coursera Machine Learning sınıfının bir terim düzene bağlama uygulamak için maliyet fonksiyonu eklenir:

J+(θ)=J(θ)+λ2mΣj=1nθj2

Ders notları şunları söylüyor:

Ayrıca tüm teta parametrelerimizi tek bir özetle düzenleyebiliriz:

mbennθ 12m [Σben=1m(hθ(x(ben))-y(ben))2+λ Σj=1nθj2]

12m daha sonra sinir ağlarının düzenlenme terimine uygulanır :

Düzenli lojistik regresyon için maliyet fonksiyonunun:

J(θ)=-1mΣben=1m[y(ben) günlük(hθ(x(ben)))+(1-y(ben)) günlük(1-hθ(x(ben)))]+λ2mΣj=1nθj2

Sinir ağları için biraz daha karmaşık olacaktır:

J(Θ)=-1mΣben=1mΣk=1K[yk(ben)günlük((hΘ(x(ben)))k)+(1-yk(ben))günlük(1-(hΘ(x(ben)))k)]+λ2mΣl=1L-1Σben=1slΣj=1sl+1(Θj,ben(l))2
  • Neden sabit bir buçuk burada kullanılıyor? Böylece türevinde iptal edilir mi?J'
  • Neden eğitim örnekleri ile bölünme ? Eğitim örneklerinin miktarı şeyleri nasıl etkiler?m

1 / m'nin J (teta) AFAIK @DikranMarsupial'ın cevabının bu varsayımı yaptığına emin misiniz ...... veya J (teta) 'nın kendisinin 1 / m terimi var mı?
seanv507

Bu varsayım yanlıştır - hem normalleştirilmemiş maliyet fonksiyonuna hem de normalleştirme süresine uygulanır. Tam formülleri vermek için soruyu güncelledim. 12m
Tom Hale

Yanıtlar:


5

Diyelim ki 10 örneğiniz var ve L2 düzenleme maliyetini örnek sayısı m'ye bölmüyorsunuz . Daha sonra, çapraz entropi maliyetine kıyasla L2 düzenlenme maliyetinin "baskınlığı" 10: 1 gibi olacaktır, çünkü her eğitim örneği toplam maliyete 1 / m = 1/10 oranında orantılı olarak katkıda bulunabilir .

Daha fazla örneğiniz varsa, diyelim ki, 100, o zaman L2 düzenleme maliyetinin "baskınlığı" 100: 1 gibi bir şey olacaktır, bu nedenle uygun bir şekilde λ'yı azaltmanız gerekir . Parti boyutundan bağımsız olarak λ sabitine sahip olmak daha iyidir .

Güncelleme: Bu argümanı daha güçlü hale getirmek için bir jupyter not defteri oluşturdum .


1
Hmm, ancak her eğitim örneğinin maliyet işlevine eşit katkıda bulunduğu maliyet işlevinden önceki 1 / m faktörünün amacı değil mi? Dolayısıyla, zaten bireysel maliyetleri ortaladığımız için, bu L2 teriminin baskınlığının nedeni olmamalıdır. Bununla birlikte, büyük simülasyonunuzdan L2 teriminden önce de 1 / m faktörünün yardımcı olduğunu görüyorum. Sadece sezgiyi arkamda göremiyorum (henüz).
Milania

Neden sakıncalı? L2 maliyetini örnek sayısına bölmek kolaydır. Bence yanlış bir şekilde ifade etmişsinizdir. Sanırım L2 maliyetini her seferinde manuel olarak ölçeklendirmenin elverişsiz olduğunu söylemek istediniz, otomatik olarak ölçeklemek için formülün bir parçası olarak örnek sayısına bölünmek daha iyidir.
SpaceMonkey

6

Egzersiz setindeki kayıp fonksiyonu J(θ) genellikle eğitim setini içeren kalıpların toplamıdır, bu nedenle eğitim seti büyüdükçe, ilk terim esas olarak doğrusal olarak ölçeklenir. m. İyi bir değer için seraching aralığını daraltabilirizλ Düzenleme terimini ilk önce bölersek m bağımlılığını dengelemek J(θ) üzerinde m. Tabii ki 2, optimali belirlemek için kullanılan optimizasyon algoritması için gerekli türevleri basitleştirmek için gerçekten paydadaθ.


İle normalleştirilmemiş maliyet ölçeklendirmesini açıkladığınız için teşekkürler m. Hala nasıl bölündüğümü anlamıyorumm tek bir yardım edecek λ çok farklı değerlerle daha iyi çalışır m. Düzenlenmemiş maliyet zaten büyük ölçüdem, neden bağımlı n parametreleri değil mörnekler? Daha fazla eğitim örneğiyle, aynı sayıda parametre verildiğinde varyans azalacağı için mi?
Tom Hale

Sorudaki kayıp işlevi, bir örnek değil, tüm örneklerin (yani m'ye bölünmesi) ortalamadır, bu yüzden bu cevabın nasıl çalıştığını gerçekten görmüyorum.
Denziloe

@ Denziloe de normalleştirme terimine uygulanır.
Dikran Marsupial

2

Bu dersi alırken aynı şeyi merak ettim ve bunu biraz araştırdım. Burada kısa bir cevap vereceğim, ancak yazdığım bir blog yazısında daha ayrıntılı bir genel bakış okuyabilirsiniz .

Ölçeklendirme katsayılarının nedeninin en azından bir kısmının, L² düzenlileşmesinin muhtemelen ilgili olmayan ancak aynı olmayan kilo kaybı kavramının tanıtılmasıyla derin öğrenme alanına girmesi olduğuna inanıyorum.

0.5 faktörü degradedeki ağırlık azalması için sadece güzel bir λ katsayısı elde etmek için var ve m ile ölçeklendirme ... iyi, bulduğum veya bulduğum en az 5 farklı motivasyon var:

  1. Yığın gradyan alçalmasının bir yan etkisi: Degrade inişin tek bir tekrarı bunun yerine tüm eğitim seti üzerinde resmileştirildiğinde, maliyet fonksiyonunu karşılaştırılabilir hale getirmek için tanıtılan 1 / m'lik ölçeklendirme faktörü olarak adlandırılan algoritma bazen 1 / m ölçeklendirme faktörü olarak ortaya çıkar. farklı boyut veri kümelerinde, ağırlık azaltma terimine otomatik olarak uygulanır.
  2. Tek bir örneğin ağırlığına yeniden ölçeklendirin : Bkz. Grez'in ilginç sezgileri.
  3. Eğitim seti temsili: Eğitim setinin boyutu büyüdükçe, normalleşmeyi ölçeklendirmek mantıklıdır, çünkü istatistiksel olarak genel dağılımın temsili de büyür. Temel olarak, ne kadar fazla veriye sahip olursak, daha az düzenli hale getirme gerekir.
  4. Λ'yı karşılaştırılabilir yapma: m değiştiğinde λ'yı değiştirme gereksinimini umarım azaltarak, bu ölçeklendirme λ'yı farklı boyut veri kümelerinde karşılaştırılabilir hale getirir. Bu, λ'yı, belirli bir öğrenme probleminde belirli bir model için gereken gerçek düzenlenme derecesinin daha temsili bir tahmincisi yapar.
  5. Ampirik değer: Müthiş not defteri grez, bunun uygulamadaki performansı artırdığını gösterir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.