Xgboost'un yaklaşık bölünmüş puan teklifini anlamak için yardıma ihtiyacınız var


12

arka fon:

içinde xgboost yineleme denemeden bir ağaç sığacak şekilde f t baştan n objektif aşağıdaki minimize örnekler:tftn

Σben=1n[gbenft(xben)+12hbenft2(xben)]

burada birinci derece ve önceki iyi tahmini üzerinde ikinci derece türevleridir y (yineleme gelen t - 1 ):gben,hbeny^t-1

  • gben=dy^l(yben,y^)
  • hben=dy^2l(yben,y^)

ve bizim kayıp fonksiyonumuzdur.l


Soru (sonunda):

Oluştururken ve belirli bir özelliği dikkate k belirli bölünmüş, bunlar sadece bazı ayrık adayları değerlendirmek için aşağıdaki sezgisel bir yaklaşım kullanın: bunların yan Onlar sıralamak tüm örnekler x k , sıralı liste üzerinden geçmek ve ikinci türev toplamı h i . Bölünmüş bir adayı yalnızca toplam ϵ'dan fazla değiştiğinde düşünürler . Neden???ftkxkhbenε

Verdikleri açıklama benden kaçıyor:

Önceki denklemi şu şekilde yeniden yazabileceğimizi iddia ediyorlar:

Σben=1n12hben[ft(xben)-gben/hben]2+cÖnstbirnt

ve cebiri takip edemiyorum - neden eşit olduğunu gösterebilir misiniz?

Ve sonra "bu tam olarak ve ağırlıkları h i etiketli kare kayıptır " - katıldığım bir ifade, ancak kullandıkları bölünmüş aday algoritması ile nasıl ilişkili olduğunu anlamıyorum. ..gben/hbenhben

Bu forum için çok uzunsa teşekkürler ve üzgünüm.

Yanıtlar:


8

Ayrıntılara girmeyeceğim, ancak aşağıdakiler fikri anlamanıza yardımcı olacaktır.

Nerede bölüneceğini belirlemek için Quantiles (Wikipedia) kullanıyorlar. 100 olası bölme noktanız varsa, (sıralı), 10- quantil bölme noktasını { x 10 , x 20 , , x 90 } deneyebilir ve zaten iyi bir yaklaşıma sahip olabilirsiniz. Bu nedir ε parametresi yapıyor. Onlar bölünmüş olan bir bölme noktasını dikkate ~ £ değenni N geçen bölme noktasını daha altında daha fazla puan. Eğer ε = 0.01{x1,,x100}10{x10,x20,,x90}ε~εN-ε=0.01, Sen ile sona erecek daha büyük olduğu, bölme noktaları { 1 % , 2 % , . . . , % 99 } diğer puanlar. "Toplam ϵ değerinden fazla değiştiğinde ancak geçerli noktanın altındaki nokta sayısı sonuncusundan ϵ daha fazla olduğunda yeni bir bölünme düşünmezler .~100{1%,2%,...,99%}εε

Şimdi, zaten iyi sınıflandırılmış çok fazla sürekli noktanız varsa, bunlar arasında bölünmek işe yaramayabilir. Veri kümenizin çok yanlış olan, öğrenmesi zor kısımlarını bölmek istiyorsunuz. Bunu yapmak için ağırlıklı nicelikler kullanırlar. Ağırlıklar burada rol oynamaktadır. İlk kantil , noktaların % 10'undan daha büyük olan ilk nokta değil, ağırlıkların % 10'undan daha büyük olan ilk nokta olacaktır .1010%10%


Sadece sana oy vermek için giriş yaptım. Kolay anlaşılır açıklama için teşekkürler.
Pakpoom Tiwakornkit

3

@Winks cevabına sadece cebirsel kısmı eklemek:

İkinci denklemin işareti aşağıdaki gibi tersine çevrilmelidir:

Σben=1n12hben[ft(xben)-(-gben/hben)]2+cÖnstbirnt=Σben=1n12hben[ft2(xben)+2ft(xben)gbenhben+(gben/hben)2]=Σben=1n[gbenft(xben)+12hbenft2(xben)+gben22hben]

gbenhbenft

-gben/hbenhben

Bana bunu açıkladıkları için ekibimden Yaron ve Avi'ye kredi gidiyor.


0

Ve sonra "bu tam olarak gi / higi / hi ve ağırlıklar hihi etiketleri ile tam kare kare kaybı" - katıldığım bir ifade, ama kullandıkları bölünmüş aday algoritması ile nasıl bir ilişki olduğunu anlamıyorum .. .

  1. wt-thw*=-gben/hben(ft--(gben/hben))2

  2. w*-birvg(gben)/cÖnst-sbengmbir(gben)/sbengmbir(hben)w*hbengbenw*hben

hben

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.