Risposta breve alla tua domanda:
quando l'algoritmo si adatta al residuo (o al gradiente negativo) sta usando una caratteristica ad ogni passo (es. modello univariato) o tutte le caratteristiche (modello multivariato)?
L'algoritmo utilizza una funzionalità o tutte le funzionalità dipendono dalla configurazione. Nella mia lunga risposta elencata di seguito, in entrambi gli esempi di discenti decisionali e di studenti lineari, usano tutte le funzionalità, ma se vuoi, puoi anche inserire un sottoinsieme di funzionalità. Le colonne (caratteristiche) di campionamento vengono visualizzate come riduzione della varianza del modello o aumento della "robustezza" del modello, soprattutto se si dispone di un numero elevato di funzioni.
In xgboost
, per chi apprende la base degli alberi, puoi impostare le colsample_bytree
funzioni di campionamento per adattarle a ciascuna iterazione. Per lo studente di base lineare, non ci sono tali opzioni, quindi dovrebbe adattarsi a tutte le funzionalità. Inoltre, non troppe persone usano uno studente lineare in xgboost o un aumento gradiente in generale.
Risposta lunga per studenti lineari deboli per migliorare:
Nella maggior parte dei casi, non possiamo usare uno studente lineare come uno studente di base. Il motivo è semplice: l'aggiunta di più modelli lineari insieme sarà comunque un modello lineare.
Nel potenziare il nostro modello è una somma di studenti di base:
f( x ) = ∑m = 1MBm( x )
MBmmt h
2B1= β0+ β1XB2= θ0+ θ1X
f( x ) = ∑m = 12Bm( x ) = β0+ β1x + θ0+ θ1x = ( β0+ θ0) + ( β1+ θ1) x
che è un semplice modello lineare! In altre parole, il modello di ensemble ha la "stessa potenza" con lo studente di base!
XTXβ= XTy
Pertanto, le persone vorrebbero utilizzare altri modelli oltre al modello lineare come studente di base. L'albero è una buona opzione, poiché l'aggiunta di due alberi non è uguale a un albero. Lo dimostrerò con un semplice caso: il moncone decisionale, che è un albero con solo 1 divisione.
f( x , y) = x2+ y2
Ora controlla le prime quattro iterazioni.
Nota, diverso dallo studente lineare, il modello in 4a iterazione non può essere ottenuto con una iterazione (un moncone di decisione singola) con altri parametri.
Finora, ho spiegato, perché le persone non usano lo studente lineare come studente di base. Tuttavia, nulla impedisce alle persone di farlo. Se utilizziamo il modello lineare come studente di base e limitiamo il numero di iterazioni, è uguale a risolvere un sistema lineare, ma limitiamo il numero di iterazioni durante il processo di risoluzione.
Lo stesso esempio, ma nella trama 3d, la curva rossa sono i dati e il piano verde è la misura finale. Si può facilmente vedere, il modello finale è un modello lineare ed z=mean(data$label)
è parallelo al piano x, y. (Puoi pensare perché? Questo perché i nostri dati sono "simmetrici", quindi qualsiasi inclinazione del piano aumenterà la perdita). Ora, controlla cosa è successo nelle prime 4 iterazioni: il modello montato sale lentamente al valore ottimale (media).
Conclusione finale, lo studente lineare non è ampiamente usato, ma nulla impedisce alle persone di usarlo o implementarlo in una libreria R. Inoltre, è possibile utilizzarlo e limitare il numero di iterazioni per regolarizzare il modello.
Post correlato:
Aumento gradiente per la regressione lineare: perché non funziona?
Un moncone di decisione è un modello lineare?