Questa è una domanda frequente nei colloqui per le posizioni di Data Scientist, Quindi leggi con attenzione questo articolo!
La causa delle scarse prestazioni nell'apprendimento automatico è l'overfitting o l'underfitting dei dati. In questo post scoprirai il concetto di generalizzazione nell'apprendimento automatico e i problemi di overfitting e underfitting che lo accompagnano.
Rendiamo semplice il machine Learning per un minuto
L'apprendimento automatico supervisionato è meglio inteso come approssimazione di una funzione target (f) che mappa le variabili di input (X) su una variabile di output (Y).
Y = f(X)
Questa caratterizzazione descrive la gamma di problemi di classificazione e previsione e gli algoritmi della macchina che possono essere utilizzati per affrontarli.
Una considerazione importante nell'apprendimento della funzione target dai dati di addestramento è la capacità di generalizzazione del modello ai nuovi dati.
La generalizzazione è importante perché i dati che raccogliamo sono solo un campione, sono incompleti e rumorosi.
Cos'è una Generalizzazione nel Machine Learning?
In machine learning descriviamo l'apprendimento della funzione target dai dati di training come apprendimento induttivo.
L'induzione si riferisce all'apprendimento di concetti generali da esempi specifici che è esattamente il problema che i problemi di apprendimento automatico supervisionati mirano a risolvere. Questo è diverso dalla deduzione che è il contrario e cerca di apprendere concetti specifici dalle regole generali.
La generalizzazione si riferisce al modo in cui i concetti appresi da un modello di apprendimento automatico si applicano a esempi specifici non visti dal modello durante l'apprendimento.
L'obiettivo di un buon modello di apprendimento automatico è generalizzare bene dai dati di addestramento a tutti i dati del dominio del problema. Questo ci permette di fare previsioni in futuro su dati che il modello non ha mai visto.
Esiste una terminologia utilizzata nell'apprendimento automatico quando si parla di quanto bene un modello di apprendimento automatico apprenda e si generalizzi a nuovi dati, vale a dire overfitting e underfitting.
Overfitting e underfitting sono le due principali cause di scarse prestazioni degli algoritmi di apprendimento automatico.
Adattamento statistico nel Machine Learning
Nelle statistiche, un adattamento si riferisce a quanto bene si approssima una funzione target.
Questa è una buona terminologia da utilizzare nell'apprendimento automatico, perché gli algoritmi di apprendimento automatico supervisionati cercano di approssimare la funzione di mappatura sottostante sconosciuta per le variabili di output date le variabili di input.
Le statistiche spesso descrivono la bontà dell'adattamento che si riferisce alle misure utilizzate per stimare quanto bene l'approssimazione della funzione corrisponde alla funzione target.
Alcuni di questi metodi sono utili nell'apprendimento automatico (ad esempio il calcolo degli errori residui), ma alcune di queste tecniche presuppongono che conosciamo la forma della funzione target che stiamo approssimando, il che non è il caso dell'apprendimento automatico.
Se conoscessimo la forma della funzione target, la useremmo direttamente per fare previsioni, invece di cercare di apprendere un'approssimazione da campioni di dati di addestramento rumorosi.
Cos'è l'Overfitting nell'apprendimento automatico?
L'overfitting si riferisce a un modello che modella troppo bene i dati di allenamento.
L'overfitting si verifica quando un modello apprende i dettagli e il rumore nei dati di addestramento nella misura in cui influisce negativamente sulle prestazioni del modello sui nuovi dati. Ciò significa che il rumore o le fluttuazioni casuali nei dati di addestramento vengono rilevati e appresi come concetti dal modello. Il problema è che questi concetti non si applicano ai nuovi dati e influiscono negativamente sulla capacità dei modelli di generalizzare.
L'overfitting è più probabile con modelli non parametrici e non lineari che hanno maggiore flessibilità durante l'apprendimento di una funzione target. Pertanto, molti algoritmi di apprendimento automatico non parametrici includono anche parametri o tecniche per limitare e vincolare la quantità di dettagli che il modello apprende.
Ad esempio, gli alberi decisionali sono un algoritmo di apprendimento automatico non parametrico che è molto flessibile ed è soggetto a dati di training overfitting. Questo problema può essere affrontato potando un albero dopo che ha appreso per rimuovere alcuni dei dettagli che ha raccolto.
Cos'è l'Underfitting nell'apprendimento automatico?
Underfitting si riferisce a un modello che non può né modellare i dati di addestramento né generalizzare a nuovi dati.
Un modello di apprendimento automatico non idoneo non è un modello adatto e sarà ovvio in quanto avrà scarse prestazioni sui dati di addestramento.
L'underfitting spesso non viene discusso in quanto è facile da rilevare data una buona metrica delle prestazioni. Il rimedio è andare avanti e provare algoritmi alternativi di apprendimento automatico. Tuttavia, fornisce un buon contrasto con il problema dell'overfitting.
Un buon adattamento all'apprendimento automatico
Idealmente, si desidera selezionare un modello che sia una via di mezzo tra underfitting e overfitting.
Questo è l'obiettivo, ma è molto difficile da realizzare in pratica.
Per comprendere questo obiettivo, possiamo esaminare le prestazioni di un algoritmo di apprendimento automatico nel tempo mentre apprende i dati di addestramento. Possiamo tracciare sia l'abilità sui dati di addestramento che l'abilità su un set di dati di test che abbiamo trattenuto dal processo di addestramento.
Nel tempo, man mano che l'algoritmo apprende, l'errore per il modello sui dati di addestramento diminuisce, così come l'errore nel set di dati di test. Se ci alleniamo troppo a lungo, le prestazioni sul set di dati di addestramento potrebbero continuare a diminuire perché il modello si adatta eccessivamente e apprende i dettagli irrilevanti e il rumore nel set di dati di addestramento. Allo stesso tempo, l'errore per il set di test inizia a salire di nuovo al diminuire della capacità del modello di generalizzare.
Il punto debole è il punto appena prima che l'errore sul set di dati di test inizi ad aumentare in cui il modello ha buone capacità sia sul set di dati di addestramento che sul set di dati di test invisibile.
Puoi eseguire questo esperimento con i tuoi algoritmi di apprendimento automatico preferiti. Questa tecnica spesso non è utile nella pratica, perché scegliendo il punto di arresto per l'allenamento utilizzando l'abilità sul set di dati del test significa che il set di test non è più "non visibile" o una misura oggettiva autonoma. Alcune conoscenze (molte conoscenze utili) su quei dati sono trapelate nella procedura di addestramento.
Esistono due tecniche aggiuntive che puoi utilizzare per trovare il punto debole nella pratica: metodi di ricampionamento e un set di dati di convalida.
Come limitare l'overfitting
Sia l'overfitting che l'underfitting possono portare a scarse prestazioni del modello. Ma il problema di gran lunga più comune nell'apprendimento automatico applicato è l'overfitting.
L'overfitting è un tale problema perché la valutazione degli algoritmi di apprendimento automatico sui dati di addestramento è diversa dalla valutazione a cui teniamo di più, ovvero quanto bene l'algoritmo si comporta su dati invisibili.
Esistono due tecniche importanti che puoi utilizzare durante la valutazione degli algoritmi di apprendimento automatico per limitare l'overfitting:
Utilizzare una tecnica di ricampionamento per stimare l'accuratezza del modello.
Trattieni un set di dati di convalida.
La tecnica di ricampionamento più popolare è la convalida incrociata k-fold. Ti consente di addestrare e testare il tuo modello k-volte su diversi sottoinsiemi di dati di addestramento e di creare una stima delle prestazioni di un modello di apprendimento automatico su dati invisibili.
Un set di dati di convalida è semplicemente un sottoinsieme dei dati di addestramento che trattieni dagli algoritmi di apprendimento automatico fino alla fine del tuo progetto. Dopo aver selezionato e ottimizzato gli algoritmi di machine learning sul set di dati di addestramento, puoi valutare i modelli appresi sul set di dati di convalida per avere un'idea oggettiva finale di come i modelli potrebbero funzionare su dati invisibili.
L'uso della convalida incrociata è un gold standard nell'apprendimento automatico applicato per la stima dell'accuratezza del modello su dati invisibili. Se si dispone dei dati, anche l'utilizzo di un set di dati di convalida è un'ottima pratica.
Conclusione
In questo post, hai scoperto che l'apprendimento automatico risolve i problemi con il metodo dell'induzione.
Hai imparato che la generalizzazione è una descrizione di come i concetti appresi da un modello si applicano ai nuovi dati. Infine, hai appreso la terminologia della generalizzazione nell'apprendimento automatico di overfitting e underfitting:
Overfitting : Buone prestazioni sui dati di allenamento, scarsa generalizzazione su altri dati.
Underfitting : Scarse prestazioni sui dati di allenamento e scarsa generalizzazione ad altri dati
Hai domande su overfitting, underfitting o questo post? Lascia un commento e fai la tua domanda e faremo del nostro meglio per rispondere.
Comments