2016-03-14 10 views
10

Xgboost'da,parametresini DMatrix için ayarlamak mümkündür. Bu, görünüşte, her bir değerin, karşılık gelen bir numune için bir ağırlık olduğu, ağırlıkların bir listesidir. Bu ağırlıkların gerçekte degrade yükseltme işleminde nasıl kullanıldığıyla ilgili bilgi bulamıyorum. eta ile ilgili mi? Ben 1'e bütün numuneler için 0.3 ve eta için weight set olsaydıDegrade artırma yordamında (xgboost) kullanılan "weight" (DMatrix) parametresi nasıl?

Örneğin, bu 1'e 0.3'e eta ve weight ayarı ile aynı olurdu?

+1

Dokümanlar gerçekten bu konuda eksiktir ancak biraz yavaşça örnek ağırlıkları kullanıyorum ve birkaç bağlantıyı buldum .. iyi soru –

cevap

13

xgboost, not ettiğiniz gibi, örneğin DMatrix'un yapımı sırasında ağırlıklandırmaya izin verir. Bu ağırlık doğrudan örneği bağlar ve tüm eğitim boyunca onunla birlikte seyahat eder. Böylece, gradyanların ve hesslerin hesaplarına dahil edilir, ve doğrudan bir xgboost modelinin ayrık noktalarını ve izini etkiler.

XGBoost örnekleri önemini ayırt etmek için her bir örneğe bir ağırlığının sağlanması destekler

here ve here

Örnek Ağırlık Dosya bkz. Örneğin, aşağıdaki örnekte "train.txt" dosyası için bir örneği ağırlık dosyasını sağlar edin:

train.txt.weight

0,5

0,5

0,5

Bu, XGBoost'un ilk ve dördüncü örnekte daha fazla vurgulayacağı anlamına geliyor, yani eğitim sırasında pozitif örnekler demek. yapılandırması, grup bilgilerinin yapılandırılmasına benzer. örnek dosya adı "xxx" ise, XGBoost aynı dizinde "xxx.weight" adlı bir dosyasının olup olmadığını kontrol edecek ve varsa, eğitim modelleri sırasında ağırlıkları kullanacaktır.

sadece son ağaç topluluğu içine eğitimli ne kadar harman xgboost söylereta

eta çok farklıdır. Her iterasyonda topluluğun açgözlülüğünün nasıl olması gerektiğinin bir ölçüsü. Bütün numuneler için 0.3'e weight ayarlayabilir ve eta 1'e olsaydı

Örneğin, bu 1 ila 0,3 kadar eta ve weight ayarı ile aynı olurdu?tüm örneklerini

  • Sürekli weight 1 böylece hala eşit ağırlık olacağını tüm örneklerini .3 bir sabite bu değişiyor, varsayılan, bu nedenle bu çok fazla şeyler etkilememelidir. Ancak, eta ayarı .3'e kadar 1'e ayarlandığında, eğitimi çok daha saldırgan yapar.