Degrade, degrade iniş gibi nasıl yükselir?


9

Degrade artırımı ( https://en.wikipedia.org/wiki/Gradient_boosting ) ile ilgili faydalı Wikipedia girişini okuyorum ve kalıntıları en dik iniş adımı ile (/ sözde degrade olarak da adlandırılır) nasıl / neden yaklaşık olarak anlayabileceğimizi anlamaya çalışıyorum ). Biri bana en dik inişin artıklara nasıl bağlı / benzer olduğuna dair sezgileri verebilir mi? Çok takdir Yardım!

resim açıklamasını buraya girin

Yanıtlar:


11

Aşağıdaki durumda olduğumuzu varsayalım. Bazı verilerimiz var , burada her bir sayı veya vektör olabilir ve en küçük kareler anlamında ilişkisine yaklaşan bir işlevini belirlemek istiyoruz. hata:{xi,yi}xiff(xi)yi

12i(yif(xi))2

küçük.

Şimdi, soru alanının olmasını istediğimiz konuya giriyor . Alan için dejenere bir seçim, eğitim verilerimizdeki noktalardır. Bu durumda, sadece istenen alanın tamamını kapsayan tanımlayabilir ve onunla yapılabilir. Bu cevaba ulaşmanın bir yolu, alan olarak bu ayrık alanla gradyanlı iniş yapmaktır. Bu, bakış açısından biraz değişiklik gerektirir. Kaybı doğru noktasının ve tahmininin bir fonksiyonu olarak görelim (şimdilik, bir fonksiyon değil, sadece tahminin değeri)ff(xi)=yy ff

L(f;y)=12(yf)2

ve daha sonra tahmine göre gradyanı al

fL(f;y)=fy

Daha sonra gradyan güncelleştirme, bir başlangıç değerinden başlayarak olany0

y1=y0f(y0,y)=y0(y0y)=y

Bu nedenle, bu kurulumla mükemmel tahminimizi degrade bir adımda kurtarıyoruz, ki bu güzel!

Buradaki kusur, elbette, eğitim veri noktalarımızdan çok daha fazla tanımlanmasını istiyoruz . Bunu yapmak için, eğitim veri setimiz dışındaki hiçbir noktada kayıp fonksiyonunu veya degradesini değerlendiremediğimiz için birkaç taviz vermeliyiz. f

Büyük fikir, ye zayıf bir şekilde yaklaşmaktır . L

Start bir ilk tahminle , neredeyse her zaman basit bir sabit fonksiyon , bu her yerde tanımlanır. Şimdi için başlangıç ​​tahminini kullanarak egzersiz verilerindeki kayıp fonksiyonunun gradyanını değerlendirerek yeni bir çalışma veri kümesi oluşturun :ff(x)=f0f

W={xi,f0y}

Now approximate L zayıf öğrenciyi . Biz yaklaşım olsun Say . Veri bir uzantısı kazanmıştır şeklinde tüm alanda biz eğitim noktalarında kayıp hassasiyet olsa biz küçük öğrenen sığacak beri.WFLWF(X)

Finally, tüm etki alanı üzerindeki gradyan güncellemesinde yerine kullanın :FLf0

f1(x)=f0(x)F(x)

Biz çıkmak , yeni bir yaklaşım biraz daha iyi, . ile ve tatmin olana kadar tekrarlayın.f1ff0f1

Umarım, gerçekten önemli olanın kaybın eğimine yaklaşmak olduğunu görürsünüz. En küçük karelerin en aza indirilmesi durumunda bu, ham artıklar biçimini alır, ancak daha karmaşık durumlarda bunu yapmaz. Makine hala geçerlidir. Antrenman verilerindeki kayıp ve kayıp derecesini hesaplamak için bir algoritma oluşturabildiği sürece, bu algoritmayı bu kaybı en aza indirgeyen bir işleve yaklaşmak için kullanabiliriz.


Yah, bence bu iyi. Dikkat edilmesi gereken tek şey, örneğin, binom kaybını en aza indirmek için artırmak istiyorsanız artık genişlettiğimiz gradyan artık değil doğal bir şekilde kalıntılarla ilgili.
iyilog(pi)+(1yi)log(1pi)
Matthew Drury

Teşekkürler Matthew. Bir şey başımı döndürmeye çalışıyorum. Literatürde genellikle model güncellemesinin F (m + 1) = F (m) + , burada h (m) zayıf öğrenen olduğu belirtilmektedir. Eğer ağaç tabanlı bir model düşünüyorsam - bu hem regresyon hem de sınıflandırma için, iki modelin sonuçlarının basit bir şekilde eklenmesiyle, belirli bir veri noktası için tahminimizi pratik olarak güncellediğimiz anlamına mı geliyor? Bunu ikili sınıflandırmaya çalışıyorsak da işe yarıyor mu? veya + işareti tam anlamıyla yorumlanmamalı mı? αmh(m)
Wouter

Artı işareti tam anlamıyla. Ancak, ağaç temelli zayıf öğrenciler için, model tahminleri, ağacın binom verisine uygun olduğu durumlarda bile, yapraktaki ağırlıklı ortalama olarak yorumlanmalıdır. Bununla birlikte, artırımda genellikle binom verisine uymadığımızı, önceki aşamada değerinde olmayacak tahminlerde değerlendirilen olasılığın gradyanına uyduğumuzu unutmayın. 0,1
Matthew Drury

1
@MatthewDrury Birçok literatürde, ile doğrudan güncellemiyoruz , ancak , 0'dan 1'e bir öğrenme oranıdır. f1f0F(x)f0αF(x)α
Haitao Du

@ hxd1011 Evet, bu kesinlikle doğru ve degrade artırmayı başarıyla kullanmak için çok önemli.
Matthew Drury
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.