Che cos'è l'overfitting e l'underfitting nell'apprendimento automatico? [Tutto quello che devi imparare]
Pubblicato: 2020-02-18L'apprendimento automatico non è la materia più facile da padroneggiare. Overfitting e Underfitting sono solo alcuni dei tanti termini comuni nella comunità di Machine Learning. La comprensione di questi concetti getterà le basi per il tuo apprendimento futuro.
Impareremo a fondo questi concetti in questo articolo. Discuteremo anche l'idea di base di questi errori, perché si verificano e come risolverli. Imparerai anche qualcosa sui modelli di dati e sulla loro relazione con questi errori.
Quindi, senza giri di parole, tuffiamoci subito:
Sommario
Che cos'è un modello di dati?
Prima di iniziare a discutere di cosa siano Overfitting e Underfitting, capiamo prima cosa sia un modello. Un modello di dati è un sistema per fare previsioni con l'input. Si può dire che un modello è una teoria per risolvere un problema. Ad esempio, se vuoi prevedere la crescita di più aziende, puoi prendere i loro profitti come input e generare risultati in base alla relazione tra i loro guadagni e la crescita. L'output di questo esempio sarebbe la crescita prevista delle aziende.
Quindi l'input è il profitto attuale delle aziende, mentre le loro proiezioni di crescita sono l'output. La relazione tra questi due è il modello. I modelli sono necessari per generare output.
Il modello comprende la relazione tra input e output attraverso un set di dati di addestramento. Chiamiamo funzioni di input e etichette di output. Quindi, potresti vedere questi nomi anche nell'articolo. Durante l'addestramento del modello, gli fornirai le caratteristiche e le etichette e gli lascerai capire la relazione tra loro. Una volta completata la formazione, puoi provare il modello assegnandogli solo un insieme di funzionalità, le cui previsioni corrette sono a tua disposizione.

Dopo che ha generato le sue previsioni, le confronteresti con le previsioni corrette che hai e vedrai quanto fosse accurato il modello. I modelli sono di molte forme.
Formazione e test dei dati
Potresti dare al tuo modello di dati funzionalità perfette quando sei un principiante, ma non è quello che succede nel mondo reale. I dati nel mondo reale sono pieni di rumore e informazioni inutili. Non importa quale sia la fonte dei tuoi dati, troverai alcune variabili presenti in esso, che non si adattano alla tendenza.
Nel nostro esempio di proiezioni di crescita delle aziende, sai che la loro crescita non dipenderebbe interamente dai loro profitti. Ci sarebbero molti fattori in gioco. Durante l'addestramento del tuo modello, dovresti aggiungere del rumore per renderlo realistico. Dopo aver creato i dati, dovresti dividerli in due set per l'addestramento e il test.
Utilizzeresti i dati di addestramento per aiutare il modello ad apprendere la relazione tra funzionalità ed etichette. E useresti i dati dei test per valutarne le prestazioni.
Ci sono molte forme di modelli presenti nel mondo dei dati. Scegliere uno può essere un po' scoraggiante, ma con un po' di pratica diventa più facile. Un modello standard è una regressione polinomiale. È una forma di regressione lineare in cui gli input vengono elevati a una varietà di poteri. È una specie di regressione lineare, ma non forma una linea retta. Ulteriori informazioni sull'implementazione della regressione lineare.
Definisci un polinomio in base al suo ordine. L'ordine di un polinomio è la massima potenza di x nella sua equazione. E anche l'ordine del polinomio mostra il suo grado. Ad esempio, un'equazione di linea retta ha 1 grado.
Importanza della correzione dell'overfitting e dell'underfitting nell'apprendimento automatico
Overfitting e Underfitting si verificano quando si ha a che fare con il grado polinomiale del modello. Come accennato in precedenza, il grado del polinomio dipende dalla massima potenza di x nella sua equazione. Questo valore indica quanto è flessibile il tuo modello. Se il tuo modello ha un grado elevato, avrebbe molta più libertà. Con un grado elevato, un modello può coprire molti oggetti dati.
D'altra parte, un modello con gradi inferiori a quelli richiesti non sarebbe in grado di coprire oggetti dati sufficienti. Entrambe queste situazioni possono portare a risultati sporchi che non sono utili.
Il primo problema di grado superiore al necessario era l'overfitting. E il secondo problema di grado inferiore a quello richiesto era l'inadeguatezza. Come puoi vedere, entrambi possono essere dannosi per il tuo modello e danneggiare i tuoi risultati.

Se non risolvessi questi problemi, il tuo modello non ti darebbe risultati accurati e avrai etichette inutili da utilizzare.
Ora che conosciamo il loro concetto di base, discutiamo ciascuno di essi in dettaglio:
Cos'è l'overfitting?
Quando un algoritmo di apprendimento automatico inizia a registrare il rumore all'interno dei dati, lo chiamiamo Overfitting. In parole più semplici, quando l'algoritmo inizia a prestare troppa attenzione ai piccoli dettagli. Nell'apprendimento automatico, il risultato è prevedere l'output probabile e, a causa dell'overfitting, può ostacolarne l'accuratezza alla grande. Sappiamo che sembra una buona cosa, ma non lo è.
Un esempio severo di Overfitting nell'apprendimento automatico può essere un grafico in cui tutti i punti si connettono linearmente. Vogliamo catturare la tendenza, ma il grafico non lo fa.
Un modello che non è in grado di fare buone previsioni ma impara tutto il possibile dai dati è inutile in quanto porta a risultati imprecisi.
Cosa fare quando si nota Overfitting?
Possiamo risolvere questo problema semplicemente diminuendo la quantità di dati utilizzata dall'algoritmo e non sovraccaricando il sistema. L'elevata varianza (Overfitting) rende le cose peggio che migliori. Alcune delle tecniche convenzionali utilizzate per risolvere il Overfitting sono le seguenti:
Diminuendo le iterazioni
Riducendo il numero di ripetizioni che vengono eseguite prima che si verifichi l'Overfitting, possiamo impedire che accada. Puoi trovare la quantità esatta di iterazioni con il metodo di prova ed errore.
Regolarizzazione
Vincola le stime dei coefficienti, che sono prossime a 0. In parole più semplici, possiamo dire che indica all'algoritmo di utilizzare un modello più indulgente anziché rigido. Scopri di più sulla regolarizzazione e su come evitare l'overfitting.
Potatura (standard)
Il modo più semplice e comune per evitare l'overfitting è la potatura. Elimina tutti i nodi che aggiungono poco o nessun potere predittivo.
Cinque volte la convalida incrociata
L'uso della convalida incrociata è uno dei metodi meno complicati per verificare l'Overfitting.
Cos'è l'underfitting?
Come suggerisce il nome, Underfitting è quando il modello non è abbastanza in forma per darti risultati. Un modello di dati underfit non sa come indirizzare oggetti dati sufficienti. Con un grado inferiore, il grafico finisce per perdere la maggior parte delle caratteristiche presenti.
In altre parole, il modello è "troppo semplice" per generare risultati se non è idoneo. Tuttavia, risolvere questo problema è abbastanza più comodo e non richiede tanto sforzo quanto Overfitting in precedenza.
Cosa fare quando si nota Underfitting?
Se il tuo modello non è adatto, dovresti dargli più funzionalità. Con più funzionalità, avrà uno spazio di ipotesi più ampio. Può utilizzare quello spazio per generare risultati accurati. Il rilevamento dell'underfitting è più comodo rispetto all'overfitting in modo da non avere problemi a identificare questo errore. Tuttavia, dovresti solo aumentare le funzionalità e non l'intero dato mentre hai a che fare con un modello underfit. L'espansione dei dati comporta in questo caso più errori.

Leggi: Idee interessanti per progetti di apprendimento automatico
Colpisci il punto dolce
Nell'apprendimento automatico, vorresti che il tuo modello di dati rimanga tra Underfitting e Overfitting. Non dovrebbe né coprire troppi punti dati né troppo pochi. Man mano che addestrerai ulteriormente il tuo modello, puoi migliorarlo ulteriormente e correggere i suoi errori. Gli errori del tuo modello inizieranno a diminuire con il set di addestramento e il set di test.
Un ottimo modo per raggiungere il punto debole tra Overfitting e Underfitting è interrompere l'allenamento del modello prima che i suoi errori inizino ad aumentare. È una soluzione generale, che puoi utilizzare oltre ai metodi che abbiamo menzionato in precedenza in questo articolo.
Conclusione
Ogni professionista dei dati deve affrontare il problema di Overfitting e Underfitting. L'addestramento di un modello di dati non è facile e ci vuole molta pratica per conoscerli. Tuttavia, con l'esperienza, inizierai a identificare i problemi in anticipo ed eviterai del tutto le cause degli errori.
È fondamentale avere familiarità con tali errori se vuoi diventare un esperto di machine learning. Se sei interessato a saperne di più sull'apprendimento automatico e sulla scienza dei dati, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi , status di Alumni IIIT-B, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.