Che cosa è Overfitting In Machine Learning e come evitarlo?

Costruire un modello di apprendimento automatico non è solo di alimentazione dei dati, c’è un sacco di carenze che influenzano la precisione di qualsiasi modello. L’overfitting nell’apprendimento automatico è una di queste carenze nell’apprendimento automatico che ostacola l’accuratezza e le prestazioni del modello. I seguenti argomenti sono trattati in questo articolo:

  • Che cosa è Overfitting in Machine Learning?
  • Esempi di Overfitting
  • Segnale vs rumore
  • Che cosa è Underfitting?
  • Come rilevare Overfitting?
  • Come evitare l’overfitting nell’apprendimento automatico
  • Cos’è la bontà della misura?
  • Il trade-off tra Bias e varianza

Che cosa è Overfitting In Machine Learning?

Si dice che un modello statistico sia sovralimentato quando lo alimentiamo con molti più dati del necessario. Per renderlo riconoscibile, immagina di cercare di adattarti all’abbigliamento oversize.

overfitting in machine learning - edureka

Quando un modello si adatta più dati di cui ha effettivamente bisogno, inizia a catturare i dati rumorosi e valori imprecisi nei dati. Di conseguenza, l’efficienza e la precisione del modello diminuiscono. Diamo un’occhiata ad alcuni esempi di overfitting per capire come effettivamente accade.

Esempi di Overfitting

Esempio 1

Se prendiamo un esempio di regressione lineare semplice, la formazione dei dati è tutto di scoprire il costo minimo tra la linea di misura migliore e i punti di dati. Passa attraverso una serie di iterazioni per scoprire la migliore vestibilità ottimale, riducendo al minimo i costi. Questo è dove overfitting entra in scena.

regressione lineare - overfitting in machine learning - edureka

La linea vista nell’immagine sopra può dare un risultato molto efficiente per un nuovo punto dati. Nel caso di overfitting, quando eseguiamo l’algoritmo di formazione sul set di dati, permettiamo che il costo si riduca con ogni numero di iterazione.

L’esecuzione di questo algoritmo per troppo tempo comporterà un costo ridotto, ma si adatterà anche ai dati rumorosi del set di dati. Il risultato sarebbe simile nel grafico qui sotto.

overfitting nell'apprendimento automatico - edureka

Questo potrebbe sembrare efficiente ma non lo è davvero. L’obiettivo principale di un algoritmo come la regressione lineare è trovare una tendenza dominante e adattare i punti dati di conseguenza. Ma in questo caso, la linea si adatta a tutti i punti dati, il che è irrilevante per l’efficienza del modello nel prevedere risultati ottimali per i nuovi punti dati di ingresso.

Consideriamo ora un esempio più descrittivo con l’aiuto di un’istruzione problematica.

Esempio 2

Dichiarazione del problema: Consideriamo che vogliamo prevedere se un giocatore di calcio atterrerà uno slot in una squadra di calcio di livello 1 in base al suo rendimento attuale nella lega tier 2.

Ora immagina, ci alleniamo e adattiamo il modello con 10.000 giocatori di questo tipo con risultati. Quando cerchiamo di prevedere il risultato sul set di dati originale, diciamo che abbiamo ottenuto una precisione del 99%. Ma la precisione su un set di dati diverso arriva intorno al 50 per cento. Ciò significa che il modello non generalizza bene dai nostri dati di allenamento e dai dati invisibili.

Questo è l’aspetto dell’overfitting. È un problema molto comune nell’apprendimento automatico e persino nella scienza dei dati. Ora cerchiamo di capire il segnale e il rumore.

Segnale vs rumore

Nella modellazione predittiva, segnale si riferisce al vero modello sottostante che aiuta il modello per imparare i dati. D’altra parte, il rumore è irrilevante e dati casuali nel set di dati. Per comprendere il concetto di rumore e segnale, prendiamo un esempio reale.

Supponiamo di voler modellare l’età contro l’alfabetizzazione tra gli adulti. Se campioniamo una parte molto ampia della popolazione, troveremo una relazione chiara. Questo è il segnale, mentre il rumore interferisce con il segnale. Se facciamo lo stesso su una popolazione locale, il rapporto diventerà fangoso. Sarebbe influenzato da valori anomali e casualità, per esempio, un adulto è andato a scuola presto o qualche adulto non poteva permettersi l’istruzione, ecc.

Parlando di rumore e segnale in termini di apprendimento automatico, un buon algoritmo di apprendimento automatico separerà automaticamente i segnali dal rumore. Se l’algoritmo è troppo complesso o inefficiente, potrebbe imparare anche il rumore. Quindi, sovralimentazione del modello. Cerchiamo anche di capire underfitting in Machine Learning pure.

Che cosa è Underfitting?

Per evitare l’overfitting, potremmo interrompere l’allenamento in una fase precedente. Ma potrebbe anche portare al modello non essere in grado di imparare abbastanza dai dati di allenamento, che potrebbe avere difficoltà a catturare la tendenza dominante. Questo è noto come underfitting. Il risultato è lo stesso di overfitting, inefficienza nella previsione dei risultati.

underfitting - overfitting in machine learning - edureka

Ora che abbiamo capito che cosa underfitting e overfitting in Machine Learning è davvero, cerchiamo di capire come possiamo rilevare overfitting in Machine Learning.

Come rilevare l’overfitting?

La sfida principale con l’overfitting è stimare l’accuratezza delle prestazioni del nostro modello con nuovi dati. Non saremmo in grado di stimare la precisione fino a quando non lo testiamo effettivamente.

Per risolvere questo problema, possiamo dividere il set di dati iniziale in set di dati di allenamento e test separati. Con questa tecnica, possiamo effettivamente approssimare quanto bene il nostro modello si esibirà con i nuovi dati.

Capiamo questo con un esempio, immaginiamo di ottenere una precisione del 90% sul set di allenamento e una precisione del 50% sul set di test. Quindi, automaticamente sarebbe una bandiera rossa per il modello.

Un altro modo per rilevare l’overfitting è iniziare con un modello semplicistico che fungerà da benchmark.

Con questo approccio, se provi algoritmi più complessi sarai in grado di capire se la complessità aggiuntiva vale la pena per il modello o meno. È anche noto come test del rasoio di Occam, in pratica sceglie il modello semplicistico in caso di prestazioni comparabili in caso di due modelli. Anche se rilevare overfitting è una buona pratica, ma ci sono diverse tecniche per prevenire overfitting pure. Diamo un’occhiata a come possiamo prevenire l’overfitting nell’apprendimento automatico.

Come evitare l’overfitting nell’apprendimento automatico?

Ci sono diverse tecniche per evitare l’overfitting nell’apprendimento automatico del tutto elencate di seguito.

  1. Cross-Validazione

  2. la Formazione Con Più Dati

  3. Rimozione di Caratteristiche

  4. Arresto Precoce

  5. Regolarizzazione

  6. Ensembling

1. Cross-Validation

Una delle caratteristiche più potenti per evitare / prevenire overfitting è cross-validation. L’idea alla base di questo è quello di utilizzare i dati di formazione iniziale per generare mini train-test-split, e quindi utilizzare queste divisioni per sintonizzare il vostro modello.

In una convalida k-fold standard, i dati vengono partizionati in k-sottoinsiemi noti anche come pieghe. Dopo questo, l’algoritmo viene addestrato iterativamente sulle pieghe k-1 mentre si usano le pieghe rimanenti come set di test, noto anche come piega di holdout.

cross-validation - overfitting in machine learning - edurekaLa cross-validation ci aiuta a sintonizzare gli iperparametri con solo il set di allenamento originale. Fondamentalmente mantiene il set di test separatamente come un vero set di dati invisibili per la selezione del modello finale. Quindi, evitando del tutto l’overfitting.

2. Formazione con più dati

Questa tecnica potrebbe non funzionare ogni volta, come abbiamo anche discusso nell’esempio sopra, dove la formazione con una quantità significativa di popolazione aiuta il modello. Fondamentalmente aiuta il modello a identificare meglio il segnale.

Ma in alcuni casi, l’aumento dei dati può anche significare l’alimentazione di più rumore al modello. Quando stiamo allenando il modello con più dati, dobbiamo assicurarci che i dati siano puliti e privi di casualità e incongruenze.

3. Rimozione di funzionalità

Sebbene alcuni algoritmi abbiano una selezione automatica di funzionalità. Per un numero significativo di coloro che non hanno una selezione di funzionalità integrata, possiamo rimuovere manualmente alcune funzionalità irrilevanti dalle funzionalità di input per migliorare la generalizzazione.

Un modo per farlo è derivare una conclusione su come una funzione si inserisce nel modello. È abbastanza simile al debug del codice riga per riga.

Nel caso in cui una funzionalità non sia in grado di spiegare la pertinenza nel modello, possiamo semplicemente identificare tali funzionalità. Possiamo anche usare alcune euristiche di selezione delle funzionalità per un buon punto di partenza.

4. Arresto precoce

Quando il modello si sta allenando, è possibile misurare il rendimento del modello in base a ciascuna iterazione. Possiamo farlo fino a quando le iterazioni migliorano le prestazioni del modello. Dopo questo, il modello sovralimenta i dati di allenamento mentre la generalizzazione si indebolisce dopo ogni iterazione.

early stopping - overfitting in machine learning - edureka

Quindi, in pratica, l’arresto anticipato significa interrompere il processo di allenamento prima che il modello superi il punto in cui il modello inizia a sovraccaricare i dati di allenamento. Questa tecnica è utilizzata principalmente nell’apprendimento profondo.

5. Regolarizzazione

Significa fondamentalmente, forzando artificialmente il tuo modello a essere più semplice utilizzando una gamma più ampia di tecniche. Dipende totalmente dal tipo di studente che stiamo usando. Ad esempio, possiamo potare un albero decisionale, utilizzare un dropout su una rete neurale o aggiungere un parametro di penalità alla funzione di costo in regressione.

Molto spesso, la regolarizzazione è anche un iperparametro. Significa che può anche essere sintonizzato attraverso la convalida incrociata.

6. Ensembling

Questa tecnica combina fondamentalmente previsioni da diversi modelli di apprendimento automatico. Due dei metodi più comuni per ensembling sono elencati di seguito:

  • l’Insacco di tentativi per ridurre la possibilità che l’overfitting i modelli

  • Incentivare i tentativi di migliorare la prognosi di flessibilità dei modelli più semplici

Anche se sono entrambi metodi di ensemble, l’approccio totalmente inizia da direzioni opposte. Bagging utilizza modelli di base complessi e cerca di appianare le loro previsioni mentre boosting utilizza modelli di base semplici e cerca di aumentare la sua complessità aggregata.

Che cos’è la bontà della misura?

Nella modellazione statistica, la bontà dell’adattamento si riferisce a quanto strettamente i risultati o i valori previsti corrispondono ai valori osservati o veri. Un modello che ha imparato il rumore invece del segnale è sovralimentato perché si adatta al set di dati di allenamento, ma avrà un’efficienza inferiore con il nuovo set di dati.

Il compromesso tra Bias e varianza

Sia varianza che bias sono forme di errore di previsione nell’apprendimento automatico. Il compromesso tra alta varianza e alta polarizzazione è un concetto molto importante nelle statistiche e nell’apprendimento automatico. Questo è un concetto che riguarda tutti gli algoritmi di apprendimento automatico supervisionati.

Il trade-off bias-variance ha un impatto molto significativo sulla determinazione della complessità, underfitting e overfitting per qualsiasi modello di apprendimento automatico.

Bias

Non è altro che la differenza tra i valori previsti e i valori effettivi o veri nel modello. Non è sempre facile per il modello imparare da segnali piuttosto complessi.

Immaginiamo di adattare una regressione lineare a un modello con dati non lineari. Non importa quanto efficacemente il modello apprende le osservazioni, non modellerà le curve in modo efficiente. È conosciuto come underfitting.

Varianza

Si riferisce alla sensibilità del modello a set specifici nei dati di allenamento. Un algoritmo ad alta varianza produrrà un modello bizzarro che è drasticamente diverso dal set di allenamento.

Immagina un algoritmo che si adatti al modello non vincolato e super-flessibile, imparerà anche dal rumore nel set di allenamento che causa un overfitting.

Bias-Variance Trade-off

Un algoritmo di apprendimento automatico non può essere percepito come un metodo una tantum per addestrare il modello, invece, è un processo ripetitivo.

Bassa varianza-gli algoritmi ad alta polarizzazione sono meno complessi, con una struttura semplice e rigida.

  • Addestreranno i modelli che sono coerenti, ma in media imprecisi.

  • Questi includono algoritmi lineari o parametrici, come regressione, Naive Bayes, ecc.

Alta varianza-gli algoritmi di bias basso tendono ad essere più complessi, con una struttura flessibile.

  • Addestreranno i modelli che sono incoerenti ma accurati in media.

  • Questi includono algoritmi non lineari o non parametrici come alberi decisionali, vicini più vicini, ecc.

Questo ci porta alla fine di questo articolo dove abbiamo imparato Overfitting in Machine learning e su varie tecniche per evitarlo. Spero che tu sia chiaro con tutto ciò che è stato condiviso con voi in questo tutorial.

Se hai trovato questo articolo su “Overfitting In Machine Learning” rilevante, controlla il Machine Learning Certification Training di Edureka, una società di apprendimento online di fiducia con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

Siamo qui per aiutarvi con ogni passo del vostro viaggio e venire con un curriculum che è stato progettato per gli studenti e professionisti che vogliono essere un ingegnere di apprendimento automatico. Il corso è progettato per darti un vantaggio nella programmazione Python e allenarti per concetti Python sia di base che avanzati insieme a vari algoritmi di apprendimento automatico come SVM, Albero decisionale, ecc.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.