Regolarizzazione nell'apprendimento automatico: come evitare l'overfitting?
Pubblicato: 2020-02-17L'apprendimento automatico implica l'equipaggiamento dei computer per eseguire attività specifiche senza istruzioni esplicite. Quindi, i sistemi sono programmati per imparare e migliorare automaticamente dall'esperienza. I data scientist in genere utilizzano la regolarizzazione nell'apprendimento automatico per ottimizzare i propri modelli nel processo di formazione. Cerchiamo di capire questo concetto in dettaglio.
Sommario
La regolarizzazione evita l'overfitting
La regolarizzazione nell'apprendimento automatico ti consente di evitare l'overfitting del tuo modello di allenamento. L'overfitting si verifica quando il modello acquisisce i dati arbitrari nel set di dati di addestramento. Tali punti dati che non hanno le proprietà dei tuoi dati rendono il tuo modello "rumoroso". Questo rumore può rendere il tuo modello più flessibile, ma può porre problemi di bassa precisione.
Si consideri una classe di 10 studenti con lo stesso numero di ragazze e ragazzi. Il voto complessivo della classe nell'esame annuale è 70. Il punteggio medio delle studentesse è 60 e quello degli studenti maschi è 80. Sulla base di questi punteggi passati, vogliamo prevedere i punteggi futuri degli studenti. Le previsioni possono essere fatte nei seguenti modi:
- In forma: l'intera classe segnerà 70 punti
- Vestibilità ottimale: questo potrebbe essere un modello semplicistico che prevede il punteggio delle ragazze come 60 e dei ragazzi come 80 (come l'ultima volta)
- Over Fit: questo modello può utilizzare un attributo non correlato, ad esempio il numero del rotolo, per prevedere che gli studenti otterranno esattamente gli stessi voti dell'anno scorso
La regolarizzazione è una forma di regressione che regola la funzione di errore aggiungendo un altro termine di penalità. Questo termine aggiuntivo impedisce ai coefficienti di assumere valori estremi, bilanciando così la funzione eccessivamente fluttuante.
Qualsiasi esperto di machine learning si sforzerebbe di rendere i propri modelli accurati e privi di errori. E la chiave per raggiungere questo obiettivo sta nel padroneggiare il compromesso tra bias e varianza. Continua a leggere per avere un quadro chiaro di cosa significhi.
Bias di bilanciamento e varianza
L'errore di test previsto può essere ridotto al minimo trovando un metodo che ottenga il giusto equilibrio di 'bias-varianza'. In altre parole, il metodo di apprendimento statistico scelto dovrebbe ottimizzare il modello realizzando contemporaneamente bassa varianza e bassa distorsione. Un modello con varianza elevata è overfitted e una distorsione elevata risulta in un modello underfitted.

La convalida incrociata offre un altro mezzo per evitare l'overfitting. Verifica se il tuo modello sta rilevando i modelli corretti dal set di dati e stima l'errore sul set di test. Quindi, questo metodo sostanzialmente convalida la stabilità del tuo modello. Inoltre, decide i parametri che funzionano meglio per il tuo modello particolare.
Aumentare l'Interpretabilità del Modello
L'obiettivo non è solo quello di ottenere un errore zero per il set di addestramento, ma anche di prevedere i valori target corretti dal set di dati del test. Quindi, abbiamo bisogno di una funzione "sintonizzata" che riduca la complessità di questo processo.
Spiegazione della regolarizzazione nell'apprendimento automatico
La regolarizzazione è una forma di regressione vincolata che funziona riducendo le stime dei coefficienti verso zero. In questo modo, limita la capacità dei modelli di imparare dal rumore.
Diamo un'occhiata a questa equazione di regressione lineare:
Y= β0+β1X1+β2X2+…..+βpXp
Qui, β indica le stime dei coefficienti per diversi predittori rappresentati da (X). E Y è la relazione appresa.
Poiché questa stessa funzione potrebbe riscontrare errori, aggiungeremo una funzione di errore per regolarizzare le stime apprese. Vogliamo ridurre al minimo l'errore in questo caso in modo da poterlo chiamare anche una funzione di perdita. Ecco come appare questa funzione di perdita o somma residua dei quadrati (RSS):
Pertanto, i data scientist utilizzano la regolarizzazione per regolare la funzione di previsione. Le tecniche di regolarizzazione sono anche conosciute come metodi di restringimento o decadimento del peso. Cerchiamo di capirne alcuni nel dettaglio.
Regolarizzazione della cresta
Nella regressione di cresta, la funzione di perdita viene modificata con una quantità di ritiro corrispondente alla somma dei valori al quadrato di β. E il valore di λ decide quanto il modello sarebbe penalizzato.
Le stime dei coefficienti nella regressione di cresta sono chiamate norma L2. Questa tecnica di regolarizzazione verrebbe in tuo soccorso quando le variabili indipendenti nei tuoi dati sono altamente correlate.
Regolarizzazione del lazo
Nella tecnica del Lazo, alla funzione di errore viene aggiunta una penalità pari alla somma dei valori assoluti di β (modulo di β). Viene ulteriormente moltiplicato con il parametro λ che controlla l'intensità della penalità. Solo gli alti coefficienti sono penalizzati in questo metodo.

Le stime dei coefficienti prodotte da Lasso sono indicate come norma L1. Questo metodo è particolarmente vantaggioso quando è presente un numero ridotto di osservazioni con un numero elevato di caratteristiche.
Per semplificare gli approcci di cui sopra, si consideri una costante, s, che esiste per ogni valore di λ. Ora, nella regolarizzazione L2, risolviamo un'equazione in cui la somma dei quadrati dei coefficienti è minore o uguale a s. Mentre nella regolarizzazione L1, la somma dei moduli dei coefficienti dovrebbe essere minore o uguale a s.
Leggi: Apprendimento automatico e reti neurali
Entrambi i metodi sopra menzionati cercano di garantire che il modello di regressione non consumi attributi non necessari. Per questo motivo, Regressione cresta e Lazo sono anche note come funzioni di vincolo.
RSS e predittori di funzioni di vincolo
Con l'aiuto delle spiegazioni precedenti, le funzioni di perdita (RSS) per la regressione della cresta e il lazo possono essere fornite da β1² + β2² ≤ s e |β1| + |β2| ≤ s, rispettivamente. β1² + β2² ≤ s formerebbero un cerchio e RSS sarebbe il più piccolo per tutti i punti che si trovano al suo interno. Per quanto riguarda la funzione Lazo, l'RSS sarebbe il più basso per tutti i punti che si trovano all'interno del diamante dato da |β1| + |β2| ≤ s.
La regressione della cresta riduce le stime dei coefficienti per le variabili predittive meno essenziali, ma non le elimina. Pertanto, il modello finale può contenere tutti i predittori a causa di stime diverse da zero. D'altra parte, Lazo può forzare alcuni coefficienti ad essere esattamente zero, specialmente quando λ è grande.

Leggi: Librerie Python per Machine Learning
Come la regolarizzazione raggiunge un equilibrio
Esiste una certa varianza associata a un modello standard dei minimi quadrati. Le tecniche di regolarizzazione riducono la varianza del modello senza aumentare significativamente la sua distorsione al quadrato. E il valore del parametro di ottimizzazione, λ, orchestra questo equilibrio senza eliminare le proprietà critiche dei dati. La penalità non ha effetto quando il valore di λ è zero, come nel caso di una normale regressione ai minimi quadrati.
La varianza diminuisce solo all'aumentare del valore di λ. Ma questo accade solo fino a un certo punto, dopo il quale il pregiudizio può iniziare a salire. Pertanto, la selezione del valore di tale fattore di contrazione è uno dei passaggi più critici della regolarizzazione.
Conclusione
In questo articolo, abbiamo appreso della regolarizzazione nell'apprendimento automatico e dei suoi vantaggi e abbiamo esplorato metodi come la regressione della cresta e il lazo. Infine, abbiamo capito come le tecniche di regolarizzazione aiutano a migliorare l'accuratezza dei modelli di regressione. Se hai appena iniziato la regolarizzazione, queste risorse chiariranno le tue basi e ti incoraggeranno a fare il primo passo!
Se sei interessato a saperne di più sull'apprendimento automatico, 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, IIIT- B Stato di ex alunni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Quali sono le tue opzioni di lavoro dopo aver appreso l'apprendimento automatico?
L'apprendimento automatico è uno degli ultimi e più promettenti percorsi di carriera nel campo della tecnologia. Man mano che l'apprendimento automatico continua ad avanzare ed espandersi, apre nuove opportunità di lavoro per le persone che aspirano a ritagliarsi una carriera in questo campo della tecnologia. Studenti e professionisti che desiderano lavorare come ingegneri dell'apprendimento automatico possono aspettarsi esperienze di apprendimento gratificanti ed elettrizzanti e, naturalmente, aspettarsi di trovare posti di lavoro con le migliori organizzazioni che pagano bene. A partire da data scientist e ingegneri di machine learning fino a linguisti computazionali e designer di machine learning incentrati sull'uomo e altro ancora, ci sono molti ruoli lavorativi interessanti che puoi assumere a seconda delle tue capacità ed esperienza.
Quanto stipendio riceve un ingegnere dell'apprendimento automatico all'anno?
In India, lo stipendio medio guadagnato da un ingegnere di apprendimento automatico di livello junior può variare da circa INR 6 a 8,2 lakh all'anno. Ma per i professionisti con esperienza lavorativa di livello medio, la compensazione può variare in media da 13 a 15 lakh INR o anche di più. Ora, il reddito medio annuo degli ingegneri dell'apprendimento automatico dipenderà da una moltitudine di fattori come l'esperienza lavorativa pertinente, il set di competenze, l'esperienza lavorativa complessiva, le certificazioni e persino la posizione, tra gli altri. I professionisti senior dell'apprendimento automatico possono guadagnare circa 1 crore di INR all'anno.
Qual è il set di competenze richiesto per l'apprendimento automatico?
Una comprensione di base e un certo livello di comfort in materie specifiche sono utili se aspiri a costruire una carriera di successo nell'apprendimento automatico. In primo luogo, è necessario avere una comprensione delle probabilità e delle statistiche. La creazione di modelli di apprendimento automatico e la previsione dei risultati richiede la conoscenza di statistiche e probabilità. Successivamente, dovresti avere familiarità con i linguaggi di programmazione come Python e R, che sono ampiamente utilizzati nell'apprendimento automatico. Per apprendere l'apprendimento automatico sono necessarie anche una certa conoscenza della modellazione dei dati per l'analisi dei dati e solide capacità di progettazione del software.