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 eta
veya ne anlama n_iterations
geldiğ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
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.