Modelli di Machine Learning in ambiente di produzione


8

Diciamo che un modello è stato addestrato in data dt1 utilizzando i dati etichettati disponibili, divisi in formazione e test, ad es traindt1, testdt1. Questo modello viene quindi distribuito in produzione e fa previsioni su nuovi dati in arrivo. AlcuniX i giorni passano e ci sono un sacco di dati etichettati che vengono raccolti in mezzo dt1 e dt1+X giorni, chiamiamolo Datax. Nel mio approccio attuale, prendo campioni casuali da DATAx (prendi ad esempio la divisione 80/20),

Così, 80% di DATAx = trainx (nuovi dati utilizzati per mettere a punto il modello esistente su cui è stato addestrato dt1) 20% di DATAx = testx (nuovi dati aggiunti a testdt1)

Questo processo di messa a punto si è ripetuto col passare del tempo.

In questo modo ottengo un set di test in continua espansione, oltre a prevenire la riqualificazione dell'intero modello (essenzialmente posso buttare via i vecchi dati come il modello ha imparato da esso). Il nuovo modello generato è solo una versione perfezionata di quella precedente.

Ho alcune domande su questo approccio:

  1. Ci sono degli ovvi inconvenienti nel fare questo?
  2. Il modello dovrebbe mai essere completamente riqualificato (dimenticando tutto ciò che è stato appreso in precedenza e addestrando il modello con il nuovo treno / divisioni di prova) dopo qualche tempo o l'approccio che ho descritto sopra può continuare indefinitamente?
  3. Quale dovrebbe essere la condizione per scambiare il modello distribuito esistente con il modello appena messo a punto?

Scusa un neofita, per favore. È necessario disporre di un set di dati molto speciale affinché venga etichettato, sì? L'etichettatura controllata è per natura costosa e lenta.
xtian,

@xtian Il costo dell'etichettatura controllata e il tempo impiegato dipendono in modo significativo dal problema. Diciamo che hai avuto il modello ML che prevedeva che quando qualcuno entra in una concessionaria comprerà la macchina o no (attributi della persona data)? La raccolta di dati etichettati è relativamente veloce in questo caso. In un giorno, potresti ottenere più di 100 campioni etichettati.
pioniere

Risposte:


5

Penso che questo sia un buon approccio in generale. Però:

  • La messa a punto del modello (apprendimento online) dipende molto dall'algoritmo e dal modello di funzionamento. A seconda del tuo algoritmo, potrebbe essere saggio riqualificare il tutto

  • Lo spazio di esempio potrebbe cambiare gli straordinari. Se hai abbastanza dati, forse riqualificarli ogni pochi giorni / settimane / mesi solo nell'ultimo anno di dati potrebbe essere migliore. Se i tuoi vecchi campioni non rappresentano la situazione attuale e anche includerli potrebbe danneggiare le tue prestazioni più della guida dei campioni extra

  • La condizione più grande è se viene testato e quanto tempo di inattività comporta, ma in generale scambiare più volte è meglio e questo può essere automatizzato


Grazie per la risposta ! Attualmente sto usando metodi di ensemble come Random Forest e Gradient Boosted Trees. Il motivo per cui non li ho menzionati, perché volevo sapere quanto è buono l'approccio è agnostico al tipo di algoritmo.
pioniere

Riguardo allo spazio campione, non pensi che possa essere gestito dando pesi alle osservazioni? costruendo una sorta di nozione di tempo.
pioniere

@trailblazer aggiungere alberi alla tua foresta è un approccio decente, penso, non l'ho mai provato, ma dovrebbe esserci della letteratura. Cerca l'apprendimento online. L'algoritmo non sarà possibile perché alcuni algoritmi possono apprendere solo sull'intero set.
Jan van der Vegt,

@trailblazer per quanto riguarda la domanda dello spazio di esempio, che potrebbe funzionare per alcuni algoritmi ma non per altri, questo dipende ancora dalle possibilità di apprendimento online ma dovresti anche continuare ad aumentare i pesi o riqualificarti su tutto, non puoi ridurre in modo retroattivo il peso su campioni più vecchi senza riqualificazione
Jan van der Vegt

0

Dipende principalmente dal tipo di apprendimento del tuo algoritmo ml. Per l'apprendimento offline: riqualificare il tutto è saggio poiché alcuni algoritmi richiedono che i tuoi dati completi generino ipotesi migliori. Apprendimento online: il tuo modello può essere messo a punto sui dati recenti o più recenti con l'aggiornamento nel modello man mano che i dati arrivano.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.