Ogni albero ha lo stesso peso eta
e la previsione generale è la somma delle previsioni di ogni albero, come dici tu.
Probabilmente ci si aspetterebbe che agli alberi precedenti venga attribuito un peso maggiore rispetto agli ultimi alberi, ma ciò non è necessario, a causa del modo in cui la risposta viene aggiornata dopo ogni albero. Ecco un esempio di giocattoli:
Supponiamo di avere 5 osservazioni, con le risposte 10, 20, 30, 40, 50. Il primo albero è costruito e dà le previsioni di 12, 18, 27, 39, 54.
Ora, se eta
= 1, le variabili di risposta passate all'albero successivo saranno -2, 2, 3, 1, -4 (ovvero la differenza tra la previsione e la risposta vera). Il prossimo albero tenterà quindi di imparare il "rumore" che non è stato catturato dal primo albero. Se nrounds
= 2, la somma delle previsioni dei due alberi fornirà la previsione finale del modello.
Se invece eta
= 0,1, tutti gli alberi avranno le loro previsioni ridotte di eta
, quindi il primo albero invece 'prevarrà' 1.2, 1.8, 2.7, 3.9, 5.4. La variabile di risposta passata all'albero successivo avrà quindi valori 8.8, 18.2, 27.3, 36.1, 44.6 (la differenza tra la previsione ridimensionata e la risposta vera) Il secondo giro utilizza quindi questi valori di risposta per costruire un altro albero - e di nuovo le previsioni sono ridimensionati da eta
. Quindi i pronostici dell'albero 2 dicono, 7, 18, 25, 40, 40, che, una volta ridimensionati, diventano 0,7, 1,8, 2,5, 4,0, 4,0. Come prima, al terzo albero verrà passata la differenza tra questi valori e la variabile di risposta dell'albero precedente (quindi 8.1, 16.4, 24.8, 32.1, 40.6). Di nuovo, la somma delle previsioni di tutti gli alberi darà la previsione finale.
Chiaramente quando eta
= 0,1 e base_score
è 0, avrete bisogno di almeno 10 round per ottenere una previsione che sia quasi ragionevole. In generale, è necessario un minimo assoluto di 1/eta
round e in genere molti altri.
Il razionale per l'utilizzo di un piccolo eta
è che il modello beneficia di piccoli passi verso la previsione anziché fare in modo che l'albero 1 faccia la maggior parte del lavoro. È un po 'come la cristallizzazione: si raffredda lentamente e ottieni cristalli più grandi e migliori. Il lato negativo è che è necessario aumentare nrounds
, aumentando così il runtime dell'algoritmo.
piacerebbe una risposta a questa domanda ... buona domanda! –