‫La quarta parte della modellazione è la parte finale della modellazione, e il confronto volendo sapere qui è come si
‫comporterà il nostro modello nel mondo reale?
‫Quindi, dopo aver ottimizzato le prestazioni del tuo modello tramite l'ottimizzazione degli iperparametri, è il momento di
‫vedere come si comporta nei test.
‫Nel test set è come l'esame finale per i modelli di machine learning.
‫Se hai creato correttamente la suddivisione dei dati, dovrebbe darti un'indicazione su come si comporterà il tuo
‫modello.
‫Una volta implementato in produzione, significa essere a contatto con il cliente piuttosto che essere semplicemente sul tuo computer locale.
‫Poiché il tuo modello non ha mai visto dati nel set di test, valutare il tuo modello su di esso è un buon modo
‫per vedere come si generalizza.
‫E ricorda, per generalizzazione intendo adattarsi a dati che non ha mai visto prima, ad esempio come si comporterebbe il modello di
‫apprendimento automatico di previsione delle malattie cardiache nel classificare se un paziente ha una malattia cardiaca o meno
‫su un paziente che non era nei nostri dati originali set.
‫Un buon modello produrrà risultati simili sui set di addestramento, convalida e test e non è raro
‫vedere un leggero calo delle prestazioni del modello.
‫Nel set di addestramento e convalida per il set di test, ad esempio, il modello potrebbe ottenere un'accuratezza del
‫98% sul set di dati di addestramento e un'accuratezza del 96% sul set di test.
‫Quello di cui dovresti preoccuparti è se le prestazioni del set di allenamento sono notevolmente superiori al
‫set di test, noto anche come sottoalimentazione, e se le prestazioni del set di test sono superiori alle prestazioni
‫del set di allenamento, noto anche come OVERFITTING.
‫Overfitting e Underfeeding sono entrambi esempi di un modello che non è in grado di generalizzare bene, che è ciò
‫che non vogliamo.
‫Il modello ideale si presenta nella zona Riccioli d'oro.
‫Si adatta perfettamente, non troppo bene, ma non troppo male.
‫Vedi qui questo modello di apprendimento automatico.
‫Se questi erano i tuoi dati, questi punti dati verdi, questa linea qui, si adatta alla forma.
‫Ma è questo che sarebbe classificato come sottoalimentazione.
‫Questo non è ciò che vogliamo modellare oggi.
‫E questo qui.
‫Sta facendo un buon lavoro nel riempire tutti i punti dati, ma si sta avvicinando troppo.
‫È un modello quasi troppo perfetto.
‫Sta solo serpeggiando tra di loro.
‫Quindi questo esempio significherebbe che il modello ha appreso i modelli troppo bene in questo set di dati.
‫Sarebbe come vedere l'esame finale prima di sostenere effettivamente l'esame finale.
‫Questa qui è la zona di Riccioli d'oro.
‫Destra.
‫Questo è un processo iterativo in cui esattamente questa zona di Riccioli d'oro è come un modello bilanciato che dipenderà davvero dai
‫tuoi dati e dal problema che stai cercando di risolvere.
‫Ecco perché, ancora una volta, è un processo iterativo, trovare questa zona equilibrata.
‫E ora, dopo un po' di esperienza e pratica lavorando su diversi problemi di apprendimento automatico, sarai in
‫grado di iniziare a capire se il tuo modello è overfitting o underfeeding.
‫Ora, ci sono diversi motivi per cui può verificarsi un'apertura insufficiente, ma i principali sono la perdita di dati
‫e la mancata corrispondenza dei dati.
‫La perdita di dati si verifica quando alcuni dei tuoi dati di test perdono nei tuoi dati di addestramento e questo spesso si traduce in un sovradattamento
‫o in un modello che funziona meglio sul set di test rispetto ai dati di addestramento indicati.
‫È come, ricorda, era come se dovessi dare un'occhiata all'esame finale o tutti dovessero guardare l'esame
‫finale come l'esame pratico, il tuo modello di apprendimento automatico ha appena imparato su cosa sta per
‫essere testato.
‫Quindi, quando arriva il momento di modellare, è semplicemente imparato troppo bene e inizia a adattarsi ai dati in questo
‫modo.
‫Ed è per questo che è importante eseguire correttamente la suddivisione e assicurarsi che l'addestramento del modello di apprendimento
‫automatico avvenga solo sul set di dati di addestramento la convalida e l'ottimizzazione del modello avvenga solo sul set di dati di
‫convalida o addestramento e che il test e il confronto del modello avvengano sui dati di test set.
‫E ricordo alcuni approcci diversi utilizzati solo nel set di addestramento e test e faccio l'addestramento del
‫modello sul set di addestramento, ma il test rimane sempre lo stesso.
‫È come quando vai all'università, stai facendo un corso.
‫Vuoi assicurarti che l'esame finale sia una specie di indicazione di quanto bene capisci le cose.
‫Dicendo Con il set di dati di test per l'apprendimento automatico, il set di dati di test viene utilizzato come indicazione di
‫quanto bene si generalizzerà il modello nel mondo reale.
‫Quindi vuoi evitare la perdita di dati.
‫La mancata corrispondenza dei dati si verifica quando i dati su cui stai eseguendo il test sono diversi dai dati su cui
‫ti stai allenando, ad esempio con caratteristiche diverse nei dati di allenamento rispetto ai dati del test.
‫Avere questo tipo di mancata corrispondenza può portare a modelli con prestazioni scadenti sui dati di test rispetto ai dati di addestramento.
‫Questo è il motivo per cui è importante garantire che l'addestramento venga eseguito sullo stesso tipo di dati su cui
‫effettuerai il test e il più vicino possibile a quello che utilizzerai nelle tue applicazioni future.
‫Altri modi per combattere la sottoalimentazione includono l'utilizzo di un modello più avanzato, questo potrebbe significare un modello completamente
‫diverso o aumentare il numero di iper parametri sul modello attuale.
‫Ricorda, quando cuciniamo il nostro piatto di pollo, potremmo alterare uno degli iper parametri del nostro
‫forno alzandolo.
‫Potrebbe essere qualcosa che potresti fare su un modello di apprendimento automatico invece di utilizzare solo due livelli
‫in una rete neurale che potresti utilizzare.
‫Vedremo più di questo in un progetto futuro.
‫Potresti anche ridurre il numero di funzionalità che stai cercando di modellare, forse i tuoi dati hanno troppe funzionalità
‫e il modello che stai utilizzando ha difficoltà a trovare modelli in esse.
‫Infine, potresti addestrare il tuo modello più a lungo, a volte i modelli impiegano più tempo per l'addestramento o per l'apprendimento
‫di quanto ti aspetteresti.
‫Uno dei tuoi esperimenti potrebbe comportare una fase di addestramento più lunga.
‫E per ridurre l'overfitting, le soluzioni utili consistono nel raccogliere più dati, più dati forniranno più
‫modelli potenziali da trovare per un modello e quindi ridurranno il potenziale per trovarli tutti.
‫Oppure potresti provare a utilizzare un modello meno avanzato.
‫Questo è raro, ma è una possibilità.
‫Il modello che stai utilizzando è troppo bravo a imparare e modella i tuoi dati per, beh, essere cauti nei confronti dei
‫modelli che funzionano troppo bene in quanto potrebbero portare a previsioni errate.
‫Ricorda, nessun modello è perfetto, quindi assicurati di controllare i tuoi buoni risultati tanto quanto controlli i tuoi scarsi
‫risultati.
‫Infine, quando si confrontano due modelli diversi tra loro, è importante assicurarsi di confrontare
‫mele con mele e arance con arance.
‫Ad esempio, modello due addestrato sui dati, imposta uno rispetto al modello tre, addestrato sul set di dati uno.
‫Confronto duraturo.
‫Vuoi assicurarti di prendere in considerazione non solo il risultato finale, ma anche quello che è servito per arrivarci.
‫Se il modello due impiega un secondo per fare una previsione con un'accuratezza del novantatre virgola uno percento, il modello tre
‫impiega quattro secondi per fare una previsione con un'accuratezza del novantaquattro virgola sette.
‫È una precisione del tre percento in più che vale quei tre secondi in più di previsione?
‫Adesso.
‫E questo dipenderà da quale sarà l'obiettivo.
‫Ma se stai ottimizzando il tempo di previsione, giusto, vuoi fare previsioni il più velocemente possibile.
‫Scelgo il modello due perché fa previsioni quattro volte più velocemente del modello tre.
‫Che a un livello di precisione più elevato, ancora, questo sarà diverso a seconda del tipo di applicazione o caso d'uso
‫di produzione che si desidera utilizzare.
‫Ma solo alcune cose da tenere a mente sono più di come si comporta un modello che va nella scelta di
‫quale dovresti usare.
‫Un paio di cose che vuoi ricordare da questa lezione, evitare il sovradattamento e la sottoalimentazione, vuoi modellare
‫che si diriga verso la generalità.
‫È come quando fai il tuo esame pratico, se hai visto l'esame finale, potresti semplicemente diventare un'esperta macchina di
‫memorizzazione piuttosto che qualcuno che potrebbe usare la conoscenza nel mondo reale.
‫Mantieni il set di prova separato a tutti i costi.
‫Quando dividi i tuoi dati, vuoi avere un set di allenamento e poi buttare via il set di dati del test
‫e bloccarlo.
‫E una volta che il tuo modello è stato addestrato, puoi aprire il set di dati di test, puoi sbloccarlo,
‫estrarlo dalla cassaforte e vedere come si comporta il tuo modello.
‫Quando si confrontano i modelli, confrontare le mele con le mele, avere il modello uno e il modello due sui dati, impostare uno
‫e set di dati uno.
‫Vuoi assicurarti che i due modelli che stai confrontando siano stati creati nello stesso tipo di ambiente
‫in modo da poter garantire che ciò che stai confrontando sia un confronto legittimo.
‫Infine, una metrica delle prestazioni basata non è uguale al modello migliore.
‫Ricorda ora l'esempio, potresti ottimizzare il tempo di previsione.
‫Quindi, sebbene un modello che fa una previsione più veloce non abbia la stessa precisione di un altro modello, ciò richiede
‫un po' più di tempo.
‫Potrebbe non essere importante per te perché hai bisogno di qualcosa che possa prevedere il più velocemente possibile.
‫Chi ne sa molto, ma ne vedremo molti altri in azione durante il corso.
‫Lo utilizzerai anche per tutta la tua carriera di machine learning.
‫Quindi è importante ricordare questi concetti.
‫Passiamo al passaggio successivo e vediamo come possiamo mettere insieme tutti questi passaggi precedenti nella sperimentazione del
‫passaggio 6.