La sfida del disadattamento e dell'overfit nell'apprendimento automatico
Inevitabilmente, affronterai questa domanda in un'intervista con un data scientist:
Puoi spiegare cos'è la mancata corrispondenza e l'overfit nel contesto dell'apprendimento automatico?? Descrivilo in un modo che anche una persona non tecnica possa capire.
La tua capacità di spiegare questo in un modo non tecnico e di facile comprensione potrebbe rendere la tua idoneità per il ruolo di data science!!
Anche quando stiamo lavorando su un apprendimento automatico brutta copia, ci troviamo spesso di fronte a situazioni in cui incontriamo prestazioni impreviste o differenze nel tasso di errore tra il set di allenamento e il set di test (come mostrato di seguito). Come può un modello funzionare così bene nel training set e così male nel test set??
Questo accade molto frequentemente ogni volta che lavoro con modelli predittivi basati sugli alberi. A causa del modo in cui funzionano gli algoritmi, Potete immaginare quanto sia difficile evitare di cadere nella trappola del sovradattamento!!
Allo stesso tempo, può essere piuttosto opprimente quando non riusciamo a trovare il motivo sottostante per cui il nostro modello predittivo mostra questo comportamento anomalo.
Questa è la mia esperienza personale: chiedi a qualsiasi esperto di dati su questo, di solito iniziano parlando di una serie di termini fantasiosi come overfitting, disadattamento, bias e varianza. Ma si parla poco dell'intuizione dietro questi concetti di machine learning. Rettimiamo questo, essere d'accordo?
Facciamo un esempio per capire underfitting vs overfitting
Voglio spiegare questi concetti usando un esempio del mondo reale. Molte persone parlano dell'angolo teorico, ma penso che non sia abbastanza: abbiamo bisogno di visualizzare come funzionano davvero il sotto-fit e il troppo-fit.
Quindi, torniamo ai nostri tempi del college per questo.
Considera una lezione di matematica composta da 3 studenti e un insegnante.
Ora, in ogni classe, possiamo sostanzialmente dividere gli studenti in 3 categorie. Ne parleremo uno per uno.
Diciamo che lo studente A sembra uno studente a cui non piace la matematica. Non è interessato a ciò che viene insegnato in classe ed è per questo che non presta molta attenzione all'insegnante e ai contenuti che sta insegnando.
Consideriamo lo studente B. È lo studente più competitivo che si concentra sulla memorizzazione di ogni singola domanda insegnata in classe piuttosto che concentrarsi sui concetti chiave?. Semplicemente, non interessato ad apprendere l'approccio alla risoluzione dei problemi.
In sintesi, abbiamo lo studente ideale C. È puramente interessata ad apprendere i concetti chiave e l'approccio alla risoluzione dei problemi durante le lezioni di matematica, piuttosto che limitarsi a memorizzare le soluzioni presentate..
Sappiamo tutti per esperienza cosa succede in una classe. L'insegnante prima insegna e insegna agli studenti i problemi e come risolverli. Alla fine del giorno, l'insegnante fa semplicemente un test basato su ciò che hanno insegnato in classe.
L'impedimento arriva nelle prove semestrali3 che la scuola stabilisce. È qui che sorgono nuove domande (dati invisibili). Gli studenti non hanno visualizzato queste domande prima e certamente non le hanno risolte in classe.. Suona familiare?
Quindi, Discutiamo cosa succede quando l'insegnante fa un test in classe alla fine della giornata:
- Studente A, che era distratto nel suo mondo, hai appena indovinato le risposte e hai ottenuto circa un 50% voti nella prova.
- D'altra parte, lo studente che ha memorizzato ogni singola domanda insegnata in classe è stato in grado di rispondere a quasi tutte le domande a memoria e, perché, ho un 98% voti nel test di classe.
- Per lo studente C, in realtà ha risolto tutte le domande utilizzando l'approccio di risoluzione dei problemi che hai imparato in classe e hai ottenuto un punteggio di 92%.
Possiamo chiaramente dedurre che lo studente che memorizza semplicemente tutto sta ottenendo risultati migliori senza troppe difficoltà..
Ora ecco il colpo di scena. Vediamo anche cosa succede durante il test mensile, quando gli studenti devono affrontare nuove domande sconosciute che l'insegnante non insegna in classe.
- Nel caso dello studente A, le cose non sono cambiate molto e risponde ancora correttamente alle domande a caso ~ 50% tempo metereologico.
- Nel caso dello studente B, il tuo punteggio è diminuito in modo significativo. Riesci a indovinare perché?? Questo perché ha sempre memorizzato i problemi che gli sono stati insegnati in classe, ma questo quiz mensile conteneva domande che non avevo mai visto prima. Perché, le loro prestazioni sono diminuite in modo significativo.
- Nel caso dello studente C, il punteggio è rimasto più o meno lo stesso. Questo perché si è concentrato sull'apprendimento dell'approccio alla risoluzione dei problemi e, perché, è stato in grado di applicare i concetti che hai imparato per risolvere le domande non familiari.
In che modo questo è correlato alla mancata corrispondenza e all'overfit nell'apprendimento automatico??
Ci si potrebbe chiedere in che modo questo esempio si collega al problema che abbiamo riscontrato durante la formazione e ai punteggi dei test del classificatore dell'albero decisionale.. Buona domanda!
Quindi, Lavoriamo per collegare questo esempio con i risultati del classificatore dell'albero decisionale che ti ho mostrato in precedenza..
Primo, il lavoro in classe e il test in classe assomigliano ai dati di allenamento e alla prognosi sui dati di allenamento stessi, rispettivamente. D'altra parte, il test semestrale rappresenta l'insieme dei test dei nostri dati che mettiamo da parte prima di addestrare il nostro modello (o dati non visti in un progetto di machine learning del mondo reale).
Ora, ricorda il nostro classificatore dell'albero delle decisioni che ho menzionato in precedenza. Ha dato un punteggio perfetto sul set di allenamento, ma ho avuto problemi con il set di prova. Confrontandolo con gli esempi degli studenti che abbiamo appena discusso, il classificatore fa un'analogia con lo studente B che ha cercato di memorizzare ogni singola domanda nel training set.
Allo stesso modo, il nostro classificatore dell'albero delle decisioni tenta di apprendere ogni singolo punto nei dati di addestramento, ma soffre radicalmente quando trova un nuovo punto dati nel set di test. Non riesco a generalizzare bene.
Esta situación en la que un modelo dado tiene un rendimiento demasiado bueno en los datos de addestramentoLa formazione è un processo sistematico volto a migliorare le competenze, conoscenze o abilità fisiche. Viene applicato in vari ambiti, come lo sport, Formazione e sviluppo professionale. Un programma di allenamento efficace include la pianificazione degli obiettivi, Pratica regolare e valutazione dei progressi. L'adattamento alle esigenze individuali e la motivazione sono fattori chiave per ottenere risultati di successo e sostenibili in qualsiasi disciplina...., ma le prestazioni scendono in modo significativo rispetto al set di test è chiamato modello di overfitting.
Come esempio, modelli non parametrici come alberi decisionali, KNN e altri algoritmi basati su alberi sono molto inclini all'overfitting. Questi modelli possono apprendere relazioni molto complesse che possono portare a sovradattamento. Il grafico seguente riassume questo concetto:
D'altra parte, se il modello si comporta male durante il test e l'addestramento, quindi lo chiamiamo un modello poco aderente. Un esempio di questa situazione sarebbe la costruzione di un modello di regressione lineare su dati non lineari.
Note finali
Spero che questa breve intuizione abbia chiarito tutti i dubbi che potresti aver avuto sui modelli non adatti, si adattano troppo e si adattano meglio e come funzionano o si comportano sotto il cofano.
Sentiti libero di inviarmi qualsiasi domanda o commento qui sotto.
Imparentato
Articoli correlati:
- Comprendere l'apprendimento automatico | Cos'è l'apprendimento automatico??
- Algoritmi di apprendimento automatico | Introduzione all'apprendimento automatico
- Algoritmo di apprendimento automatico online | Apprendimento online vs apprendimento in batch
- Intelligenza artificiale Vs Machine Learning Vs Deep Learning