Espressioni d'insieme

Nov 19 2020

Ho due modelli, $m_1$ e $m_2$e voglio unirli in un modello finale. Voglio essere in grado di pesare di più l'uno o l'altro secondo una ricerca a griglia. Ci sono due idee principali che mi vengono in mente quando lo faccio:

  • Definisci una famiglia di modelli $m_1 \cdot a + m_2 \cdot (1 - a)$, dove $0 < a < 1$, trovare la $a$ che dà il miglior punteggio.
  • Definisci una famiglia di modelli $m_1^a \cdot m_2^{1 - a}$, dove $0 < a < 1$, trovare la $a$ che dà il miglior punteggio.

Tuttavia, in alcuni casi, ho visto i migliori modelli nelle competizioni Kaggle fare cose abbastanza diverse, come avere un modello finale del modulo$m_1^a + m_2^b$.

La mia domanda è: quali sono i vantaggi e gli svantaggi di ogni soluzione? Quando funzionano meglio e quando funzionano peggio? Quando è adatto il terzo tipo di ensemble e c'è qualche euristica da sintonizzare$a$ e $b$?

Risposte

1 BrianSpiering Nov 21 2020 at 23:03

Questa è una domanda empirica. La risposta cambierà per diversi modelli e diversi set di dati.

L'approccio migliore sarebbe utilizzare la convalida incrociata per vedere quale tecnica di assemblaggio ha il miglior punteggio nella metrica di valutazione per i dati forniti.

1 CarlosMougan Nov 23 2020 at 21:22

Puoi fare la stessa domanda con ogni algoritmo di Machine Learning e la risposta rimarrà comunque molto simile.

Qual è il vantaggio della regressione lineare rispetto agli alberi decisionali? Per rispondere a questa domanda potresti definirli matematicamente. Nel tuo caso, la definizione matematica sembra facile: media ponderata o media geometrica.

Quando un modello funziona meglio con un altro modello? Provalo con la convalida incrociata.

Purtroppo, la metodologia scientifica nell'apprendimento automatico viene eseguita per tentativi ed errori. Dire quale sarà il valore di un iperparametro prima di adattare il modello non è affidabile.

"Provi" che un algoritmo funziona in ML quando lo esegui attraverso una serie di set di dati e funziona meglio degli altri.

Tornando alla tua domanda, ciò che accade in kaggle tende ad essere la cosa più avanzata dal punto di vista tecnico. Quindi, se è lì, vale la pena provarlo.

DaL Nov 23 2020 at 13:15

Sono d'accordo con Brain. La soluzione che funzionerà meglio è quella che si adatterà meglio ai tuoi dati.

Si noti che se si dispone di un solo parametro, è possibile derivare il valore ottimale invece di eseguire una ricerca sulla griglia. La tua famiglia di soluzioni è limitata, quindi non mi aspetto un guadagno significativo ma non c'è motivo per non usarla.