Tra le sfide più insidiose in ambito machine learning: bad data e bad algorithms.
Oggi analizziamo in che modo gli algoritmi influenzano le performance generali di un modello di machine learning.
Bad algorithms | How they manage learning
Gli ingredienti base per un sistema di machine learning sono tre:
- potenza computazionale
- dati
- algoritmi
Se la potenza computazionale manca, impieghi più tempo, se presenta errori… il computer non si accende.
Nel precedente post abbiamo visto cosa succede quando i dati sono di cattiva qualità.
Ora, è arrivato il momento di comprendere le sfide riguardanti gli algoritmi: bad algorithms.
Overfitting the training data
L‘overfitting è una generalizzazione eccessiva.
Spiccata capacità umana, ora anche problema delle macchine.
Pensaci bene.
Hai mai viaggiato in un paese straniero? Sei in spagna in vacanza con la famiglia.
Un’autista maleducato non si ferma per lasciarvi passare sulle strisce pedonali. Reazione immediata? Tutti gli spagnoli sono maleducati.
Esempi simili sono ordinari.
I sistemi di machine learning non sono esenti da questa tipologia di problemi: l’overfitting si verifica quando il modello ha buone performance sul dataset di training ma non su quello di testing, poiché ha generalizzato male.
Tendenzialmente, quanto più alta è la complessità di un modello tanto maggiore è il rischio che si verifichi overfitting.
Reti neurali profonde (deep neural networks) sono in grado di identificare sottili relazioni tra i dati, ma il rumore naturalmente presente nel dataset può costituire un problema: il modello apprende il rumore anziché la vera relazione nascosta.
Anche l’aver prochi dati conduce a problemi analoghi, introducendo il concetto di sampling noise.
Vien da sé che le relazioni determinate dal rumore non generalizzano su nuove istanze.
Il principale trade-off è individuare il bilanciamento corretto tra modellare i dati perfettamente e mantenere il modello abbastanza semplice affinché generalizzi bene.
Underfitting training data
Evidentemente, l’undefitting è il fenomeno contrario: il modello, troppo semplice, non coglie la relazione nascosta tra i dati.
Puoi valutare l’igiene globale del popolo francese considerando la presenza del bidet nelle abitazioni? Ovviamente no.
La realtà è spesso fin troppo complessa per essere confinata in un modello: le previsioni sono quindi imprecise.
Le soluzioni ai problemi di underfitting:
- aumentare complessità modello, optando per una soluzione con più parametri
- selezionare nuove features, creandone di nuove con il processo di feature engineering
- ridurre limitazioni modello, settando correttamente gli ipeparametri di regolatizzazione (regularization hyperparameters)
Per il momento è tutto.
Un caldo abbraccio, Andrea