Una definizione semplice di machine learning. Panoramica di base sull’apprendimento automatico.

Definizione di machine Learning (Apprendimento Automatico)

A coniare per primo il termine fu Arthur Samuel nel 1959 definendo il machine learning come “campo di studio che dà ai computer la possibilità di apprendere senza essere programmato esplicitamente”.

Come scrive Aurélien Géron in ‘Hands-On Machine Learning with Scikit-Learn and TensorFlow:
“Il Machine learning è la scienza (e l’arte) della programmazione dei computer in modo che possano apprendere dai dati.”

Il machine learning è un ramo dell’Intelligenza artificiale che si concentra su come far svolgere ai computer, compiti specifici senza la necessità di essere programmati. [Sujit Pal and Antonio Gulli in Deep Learning with Keras]. In effetti, l’idea chiave dietro il machine learning è che è possibile creare algoritmi che facciano previsioni e apprendendo dai dati.

Ad oggi, la definizione più accreditata dalla comunità scientifica è quella fornita da Tom Michael Mitchell, Carnegie Mellon University:
“si dice che un programma apprende dall’esperienza E con riferimento a alcune classi di compiti T e con misurazione della performance P, se le sue performance nel compito T, come misurato da P, migliorano con l’esperienza E”.

Esempi di Machine learning sono i sistemi di raccomandazione che imparano dal comportamento e dalle preferenze degli utenti per suggerire prodotti a gruppi di utenti, usato per esempio Netfix Amazon o Spotify. Le auto a guida autonoma che con il machine learning imparano a riconoscere l’ambiente e determinare un comportamento. La ricerca scientifica in campo medico che permette di fare previsioni su epidemie, diagnosi di tumori. Altri esempi sono filtri antispam dell’email o l’autocompilatore di Google.

Categorie di Machine Learning

Gli algoritmi Machine Learning rientrano generalmente in cinque categorie a seconda della quantità e tipo di supervisione umana che ricevono durante la fase di training.
Ci sono dei sottoinsiemi che consentono di fare una classificazione più dettagliata del Machine Learning proprio in base al suo funzionamento.

Supervised learning – apprendimento supervisionato: Al sistema (che può essere un algoritmo, un computer, un software) vengono forniti sia dei dati di input sia le informazioni relative ai risultati. Sarà il sistema ad identificare una regola che colleghi i dati in ingresso con quelli in uscita, in modo da poter poi riutilizzare tale regola per altri compiti simili. Un esempio è la classificazione dei tumori sulla base delle loro caratteristiche.

Unsupervised learning – apprendimento non supervisionato: I dati di input non sono etichettati e il sistema apprende autonomamente la struttura logica partendo dai dati forniti. Un esempio di apprendimento non supervisionato è il rivelamento di anomalie nelle transazioni con carte di credito.

Semi-supervised learning – apprendimento semi-supervisionato: è una combinazione dei due approcci precedenti. Al sistema vengono forniti dati etichettati e non. Il riconoscimento facciale tramite foto di Facebook e Google, sono applicazioni di questo approccio.

Reinforcement learning – Apprendimento per rinforzo: è principalmente un’area di ricerca. L’apprendimento per rinforzo si verifica quando un sistema riceve dati in un ambiente specifico e poi impara a massimizzare i risultati. Il computer DeepMind AlphaGo di Google, che ha imparato con successo a padroneggiare il gioco Go, è un recente esempio di questa tecnica.

Transfer learning – apprendimento trasferito: Si tratta di riutilizzare un modello precedentemente addestrato per la risoluzione di un problema diverso ma strettamente correlato. Lukas Biewald descrive un esempio di apprendimento trasferito in cui un modello di deep learning è stato addestrato su milioni di immagini di gatti e poi ‘perfezionato’ per rilevare alcuni melanoma in campo medico.

Alcune considerazioni sul Machine Learning

Il machine learning richiede un’attenta preparazione di una gran mole di dati. Ovviamente se i dati di training sono pieni di errori, valori anomali, o rumore (per esempio a causa di misurazioni di scarsa qualità) sarà più difficile per il sistema trovare modelli che possano funzionare correttamente quindi è molto importante dedicare del tempo a ripulire i dati di training.
È molto importante utilizzare diversi set di dati per convalidare e testare un modello machine learning per non cadere nella trappola dell’overfitting nel senso di modelli che hanno un buon comportamento con i dati di training ma non con altri dati.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Iscriviti alla nostra newsletter

Tieniti aggiornato sulle ultime novità riguardo la XAI e il Deep Learning.