2016-03-14 18 views
10

In xgboost è possibile impostare il parametro weight per un DMatrix. Questo è apparentemente un elenco di pesi in cui ogni valore è un peso per un campione corrispondente. Non riesco a trovare alcuna informazione su come questi pesi sono effettivamente utilizzati nella procedura di aumento gradiente. Sono relativi a eta?Come viene utilizzato il parametro "peso" (DMatrix) nella procedura di aumento gradiente (xgboost)?

Ad esempio, se avrei impostato weight a 0,3 per tutti i campioni e eta a 1, questo sarebbe uguale alla configurazione eta 0,3 e weight a 1?

+1

i documenti sono davvero carenti su questo, ma ho usato un po 'i pesi di istanza leggermente e ho scavato alcuni link .. buona domanda –

risposta

13

xgboost consente ad esempio la ponderazione durante la costruzione dello DMatrix, come è stato notato. Questo peso è direttamente legato all'istanza e viaggia con esso durante l'intero allenamento. Così è incluso nei calcoli dei gradienti e degli hessiani, e influenza direttamente i punti di divisione e il percorso di un modello xgboost.

Visualizza file here e here

grado Peso

XGBoost supporta fornendo ogni istanza un peso di differenziare l'importanza delle istanze. Ad esempio, se forniamo un file peso un'istanza il file "train.txt" nell'esempio come qui sotto:

train.txt.weight

0,5

0,5

0,5

Significa che XGBoost enfatizzerà maggiormente la prima e la quarta istanza, vale a dire le istanze positive durante l'allenamento. La configurazione di è simile alla configurazione delle informazioni di gruppo. Se il nome del file di istanza è "xxx", XGBoost verificherà se esiste un file denominato "xxx.weight" nella stessa directory e se lo sarà, lo sarà il utilizzare i pesi durante l'allenamento dei modelli.

è molto diverso daeta

eta semplicemente dice xgboost quanto la miscela l'ultimo albero addestrato nel complesso. Una misura di quanto avido dovrebbe essere l'ensemble ad ogni iterazione.

Ad esempio, se avrei impostato weight a 0,3 per tutti i campioni e eta a 1, questo sarebbe uguale alla configurazione eta 0,3 e weight a 1?

  • Una costante weight di 1 per tutte le istanze è l'impostazione predefinita, in modo da cambiare che, per una costante del 0,3 per tutte le istanze sarebbe ancora lo stesso peso, quindi questo non dovrebbe avere un impatto troppo le cose. Tuttavia, l'impostazione di eta fino a 1, da .3, renderebbe l'allenamento molto più aggressivo.