Boosting del gradiente (unità facoltativa)

Nei problemi di regressione, ha senso definire l'errore con segno come la differenza tra la previsione e l'etichetta. Tuttavia, in altri tipi di problemi questa strategia spesso porta a risultati scadenti. Una strategia migliore utilizzata nell'incremento del gradiente è:

  • Definisci una funzione di perdita simile a quelle utilizzate nelle reti neurali. Ad esempio, l'entropia (nota anche come perdita logaritmica) per un problema di classificazione.
  • Addestra il modello debole a prevedere il gradiente della perdita in base all'output del modello forte.

Formalmente, data una funzione di perdita L(y,p) in cui y è un'etichetta e p una predizione, la pseudo risposta zi utilizzata per addestrare il modello debole al passaggio i è:

zi=L(y,Fi)Fi

dove:

  • Fi è la previsione del modello efficace.

L'esempio precedente era un problema di regressione: l'obiettivo è prevedere un valore numerico. Nel caso della regressione, l'errore quadratico è una funzione di perdita comune:

L(y,p)=(yp)2

In questo caso, la sfumatura è:

z=L(y,Fi)Fi=(yp)2p=2(yp)=2 signed error

In altre parole, la derivata è l'errore con segno del nostro esempio con un fattore di 2. Tieni presente che i fattori costanti non sono importanti a causa del calo. Tieni presente che questa equivalenza è valida solo per i problemi di regressione con perdita di errore quadratico. Per altri problemi di supervised learning (ad esempio classificazione, ranking, regressione con perdita percentile), non esiste un'equivalenza tra il gradiente e un errore con segno.

Ottimizzazione di foglie e strutture con il passaggio del metodo di Newton

Il metodo di Newton è un metodo di ottimizzazione come la discesa del gradiente. Tuttavia, diversamente dalla discesa del gradiente che utilizza solo il gradiente della funzione per l'ottimizzazione, il metodo di Newton utilizza sia il gradiente (prima derivata) sia la seconda derivata della funzione per l'ottimizzazione.

Un passaggio della discesa del gradiente è il seguente:

xi+1=xidfdx(xi)=xif(xi)

e il metodo di Newton come segue:

xi+1=xidfdx(xi)d2fd2x(xi)=xif(xi)f(xi)

Facoltativamente, il metodo di Newton può essere integrato nell'addestramento degli alberi con boosting graduale in due modi:

  1. Una volta addestrato un albero, viene applicato un passaggio di Newton a ogni foglia e il suo valore viene sostituito. La struttura dell'albero rimane invariata; cambiano solo i valori foglia.
  2. Durante la crescita di un albero, le condizioni vengono selezionate in base a un punteggio che include un componente della formula di Newton. La struttura dell'albero è interessata.
Codice YDF
In YDF:
  • YDF applica sempre un passo di Newton al foglio (opzione 1).
  • Puoi attivare l'opzione 2 con use_hessian_gain=True.