Destekleme: öğrenme oranına neden bir düzenleme parametresi denir?


19

Öğrenme oranı parametresi ( ) Gradyan küçülür -typically her yeni baz model seri olarak bağlanır sığ tree katkısını Arttırılması de. Daha küçük adımlarda olduğu gibi anlaşılabilir olan test seti doğruluğunu önemli ölçüde arttırdığı gösterilmiştir, kayıp fonksiyonunun minimumuna daha hassas bir şekilde ulaşılabilir. ν[0,1]

Öğrenme oranının neden bir düzenleme parametresi olarak değerlendirildiğini anlamıyorum ? Atıfta İstatistiksel Öğrenme Elements , bölüm 10.12.1, p.364:

Ağaç sayısını kontrol etmek tek olası düzenleme stratejisi değildir. Sırt regresyonunda ve sinir ağlarında olduğu gibi, büzülme teknikleri de kullanılabilir. Daha küçük değerler tekrarlamalar aynı sayıda için büyük bir eğitim riskinde (daha büzülme) sonucu . Böylece, hem ve eğitim verilerine kontrol tahmini riski.νMνM

Düzenleme "aşırı takılmayı önlemenin yolu" anlamına gelir, bu nedenle iterasyon sayısının bu açıdan çok önemli olduğu açıktır ( çok yüksek olan bir fazla takmaya neden olur). Fakat:MM

Daha küçük değerler tekrarlamalar aynı sayıda için büyük bir eğitim riskinde (daha büzülme) sonucu .νM

sadece düşük öğrenme oranlarıyla, eğitim setinde aynı doğruluğu elde etmek için daha fazla tekrarlamaya ihtiyaç duyulduğu anlamına gelir. Peki bu aşırı uydurmayla nasıl ilişkilidir?

Yanıtlar:


23

Diyelim ki yineleme sayısı ile objektif işlevi en aza indirmeye çalışıyorsunuz. Ve mevcut değer . Verilen veri kümesinde "indirgenemez hata" yoktur ve egzersiz verileriniz için kaybı indirebilirsiniz. Şimdi bunu yapmanın iki yolu var.100.00.0

  • İlk yol, "büyük öğrenme oranı" ve az sayıda yinelemedir. Eğer ile kaybı azaltmak varsayalım o zaman, içinde, her tekrarında tekrarlarına, sen kaybını azaltmak .10.0100.0

  • İkinci yol, "yavaş öğrenme oranı" olmakla birlikte daha fazla yinelemedir. Her yinelemede kaybı azaltabileceğinizi ve egzersiz verilerinizde 0.0 kaybın olması için yinelemeye ihtiyacınız olduğunu varsayalım .1.0100

Şimdi şunu düşünün: İki yaklaşım eşit mi? ve değilse optimizasyon bağlamında ve makine öğrenimi bağlamında hangisi daha iyi ?

In optimizasyon literatüründe , iki yaklaşım aynıdır. İkisi de optimum çözüme yaklaştıkça . Öte yandan, makine öğreniminde eşit değildirler. Çünkü çoğu durumda antrenmandaki kaybı ayarlamıyoruz, bu da aşırı uyuma neden olacak.0

İlk yaklaşımı "kaba seviye ızgara araması", ikinci yaklaşımı "ince seviye ızgara araması" olarak düşünebiliriz. İkinci yaklaşım genellikle daha iyi çalışır, ancak daha fazla yineleme için daha fazla hesaplama gücüne ihtiyaç duyar.

Aşırı uymayı önlemek için, farklı şeyler yapabiliriz, ilk yol yineleme sayısını kısıtlamak, ilk yaklaşımı kullandığımızı varsayalım, yineleme sayısını 5 olarak sınırlıyoruz. Sonunda, eğitim verisi kaybı . (BTW, bu optimizasyon bakış açısından çok garip olurdu, bu da gelecekteki çözümümüzü geliştirebileceğimiz / yakınsak değil, seçmeyi tercih ettiğimiz anlamına gelir. Optimizasyonda genellikle objektif işleve açıkça kısıtlamalar veya cezalandırma terimleri ekleriz, ancak genellikle yineleme sayısını sınırlamaz.)50

Öte yandan, ikinci yaklaşımı da kullanabiliriz: öğrenme oranını küçük olarak ayarlarsak , her yinelemede kaybını azalt diyelim, yinelemede çok fazla yineleme olmasına rağmen , kaybı hala 0,0'a .0.15000.0

Bu nedenle, küçük öğrenme oranı bir şekilde "daha fazla düzenlemeye" eşittir.

Aşağıda, deneysel veriler üzerinde farklı öğrenme hızlarının kullanımına ilişkin bir örnek verilmiştir xgboost. Ne anlama geldiğini etaveya ne anlama n_iterationsgeldiğini görmek için lütfen iki bağlantıyı kontrol edin .

Ağaç Güçlendirici için Parametreler

XGBoost Kontrolü aşırı uydurma

Aynı sayıda yineleme için diyelim . Küçük bir öğrenme oranı "uygun olmayan" dır (veya modelin "yüksek önyargıya sahip") ve büyük bir öğrenme oranı "fazla uygun" dur (veya modelin "yüksek sapma" özelliğine sahip).50

XGBoost modelinde değişen öğrenme oranı ETA örneği

PS. yetersiz uyumun kanıtı hem eğitim hem de test setinin büyük bir hataya sahip olmasıdır ve eğitim ve test için hata eğrisi birbirine yakındır. Aşırı uydurma işareti, eğitim setinin hatası çok düşük ve test seti çok yüksek, iki eğri birbirinden uzakta.


Düşük bir öğrenme oranıyla, aynı kayıp için yüksek bir öğrenme oranından daha fazla yineleme yapmanıza (aramanızı daha da hassaslaştırmanıza) izin veriyor musunuz? Sanırım aktarmaya çalıştığınız sezgiyi alıyorum ama daha titiz açıklamalar ve / veya açıklayıcı bir örnek incitmez.
Antoine

teşekkür ederim. Bağlantılarınızı güncelleyebilir misiniz? Benim için çalışmıyorlar
Antoine

Sonraki yinelemelerde egzersiz hatasını artırmazsanız daha yüksek bir öğrenme oranı kullanmak her zaman daha iyidir. Bahsettiğiniz düzenlenme (sapma ve sapma), öğrenme oranı ile değil eğitim / doğrulama hatasıyla ilgilidir. İster büyük ister küçük bir öğrenme oranı kullanın, 0.0 egzersiz hatasına ulaşırsanız, o kadar fazla uyuyorsunuz. Daha yüksek öğrenme oranı kullanıyorsanız, aşırı sığmayı önlemek için optimizasyonunuzu daha önce durdurmanız gerekir. Egzersizin hangi noktada egzersizi durdurduğunuzu doğrulamak için bir doğrulama seti kullanabilirsiniz.
Meraklı

ya da bir şey eksik olabilir :)
Meraklı

This is why small learning rate is sort of equal to "more regularizations". Bu makaleye göre, öğrenme oranı ne kadar büyükse, o kadar düzenlileşme: Süper Yakınsama: Büyük Öğrenme Oranlarını Kullanarak Sinir Ağlarının Çok Hızlı Eğitimi
Antoine

2

Newton yöntemi ile, kaybın eğimini, kaybın eğriliğine bölerek parametrelerinizi güncellersiniz. Degrade iniş optimizasyonunda, öğrenme hızındaki kayıp sürelerinin gradyanını çıkararak parametrelerinizi güncellersiniz. Başka bir deyişle, gerçek kayıp eğriliği yerine öğrenme hızının karşılıklılığı kullanılır.

Diyelim tanımlayan sorun kaybını tanımlar kötü bir olaya karşı iyi bir model nedir bu kayıp olması. Bu gerçek kayıp. Optimize edilmiş kaybı , güncelleme kurallarınızla gerçekten minimize edilen olarak tanımlayalım .

Tanım olarak, bir normalleştirme parametresi, optimize edilmiş kayıpta olan, ancak problem kaybı olmayan herhangi bir terimdir. Öğrenme oranı, optimize edilmiş kayıpta ekstra ikinci dereceden bir terim gibi davrandığı, ancak problem kaybı ile ilgisi olmadığı için, bu bir düzenlenme parametresidir.

Bu bakış açısını haklı çıkaran diğer düzenlenme örnekleri:

  • Büyük ağırlıkları cezalandıran optimize edilmiş kayıpta ekstra bir terim gibi olan kilo kaybı,
  • karmaşık modelleri cezalandıran terimler ve
  • özellikler arasındaki korelasyonları cezalandıran terimler.

- Anlamıyorum In other words, the reciprocal of the learning rate is used in place of the real loss curvature. - Bir etki alanı uzmanı değilim ve ben tanımını ilk defa görüyorum: a regularization parameter is any term that is in the optimized loss, but not the problem loss. Ben de tam anlamıyorum. Alakalı bir referans verebilir misiniz? Şimdiden teşekkürler
Antoine

@Antoine Referans sağlayamıyorum. Sadece benim deneyimlerim, diğer üç örneği kullanarak haklı göstermeye çalıştım. Ters kayıp eğriliği yerine oturan öğrenme oranına gelince, Newton'un yöntemini ve degrade iniş güncelleme kurallarını yan yana yazdığınızı görebilirsiniz.
Neil G
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.