Tipologie di Machine Learning
Con il termine Machine Learning (apprendimento automatico) si intende un insieme di meccanismi appartenenti al mondo dell’intelligenza artificiale. Le tipologie di machine learning sono tre: supervisionato, non supervisionato e apprendimento a rinforzo.
Questi meccanismi permettono ad una macchina intelligente di migliorare le proprie capacità e prestazioni nel tempo, imparando automaticamente con l’esperienza a svolgere determinati compiti migliorando sempre di più le proprie prestazioni nel tempo.
Un esempio è AlphaGo, software di Machine Learning per il gioco del Go sviluppato da DeepMind. AlpaGo è stato il primo software in grado di sconfiggere un maestro umano nel gioco su un piano Goban di dimensione standard (19×19). Il software AlphaGo è stato istruito osservando milioni di mosse prese da giocatori di Go durante diverse partite, e facendo giocare la macchina contro sé stessa, col risultato che è stata in grado di battere quello che era ritenuto il migliore giocatore del mondo di questo gioco.
Andiamo ora ad approfondire le tre principali categorie dell’apprendimento automatico.
Apprendimento supervisionato
Il sistema riceve degli esempi etichettati in base all’output che si vuole ottenere. Cioè i dataset utili a istruire la macchina sono composti da elementi che rappresentano situazioni reali composti da dati in input “features” e da dati in output “target“. Con riferimento all’esempio dell’articolo Che cos’è il Machine Learning, di cosa si occupa e obiettivi, la predisposizione del training era di tipo supervisionato in quanto avevamo singoli casi di percorsi, per ognuno dei quali era specificato feature (veicolo, percorso) e target (tempo di percorrenza). Solitamente i data set sono molto più complessi, l’esempio era estremamente limitato e didattico, con l’obiettivo di semplificare la comprensione del Machine Learning Supervisionato.
Un caso di questo tipo permette all’algoritmo di studiare il base al tipo di percorso e di veicolo, quale potrebbe essere il tempo di percorrenza. Nel Machine Learning supervisionato rientrano due tipologie di problemi:
- regressione: quando il target è costituito da una variabile continua, cioè una quantità, un numero;
- classificazione: quando il target è rappresentabile da una classe o categoria.
Riconsiderando l’esempio dei percorsi autostradali, possiamo dire che si tratta di regressione. Se il target fosse costituito da una valutazione del tipo: rapido se sotto un’ora, lento tra 1 e due ore, molto lento se oltre le due ore. In questo caso si sarebbe trattato di un problema di classificazione.
Apprendimento non supervisionato
Non esistono dati etichettati, è il sistema che, a partire dagli input, deve trovare una struttura nei dati. Praticamente non abbiamo target, ma solo dati in input. Come se nell’esempio avessimo avuto solo i dati del percorso e veicolo, ma non quello dei tempi di percorrenza.
In questo approccio, gli algoritmi devono individuare delle categorie cercando le strutture nascoste tra i dati. I principali strumenti utilizzabili nell’approccio non supervisionato sono il clustering e le regole di associazione.
Apprendimento per rinforzo
Il sistema riceve input dall’ambiente e attua delle azioni. Il sistema prova ad attuare delle azioni allo scopo di ricevere delle ricompense. Il sistema cercherà di attuare le azioni che ottimizzano la ricompensa a seconda dello stato dell’ambiente circostante.
Il sistema della ricompensa viene implementato tramite un componente, detto agente. L’agente decide un’azione da svolgere sull’ambiente e da questo riceve una ricompensa ed eventualmente informazioni sullo stato dell’ambiente, come conseguenza dell’azione avviata.
Ad esempio se pensiamo a un sistema dedicato al gioco degli scacchi, l’agente è il componente che decide la mossa, l’ambiente è la partita stessa. Come conseguenza di ogni singola mossa effettuata dall’agente lo stato della partita si modifica ( inteso come situazione corrente, posizione di tutte le pedine, anche come conseguenza della mossa dell’avversario ), ricevendo un feedback come pedina avversaria mangiata, intesa quindi come ricompensa alla mossa. In questo modo l’agente impara, e si istruisce.
Conclusioni
E’ quindi evidente che la scelta tra le tipologie di machine learning dipende dal contesto. Cioè il tipo di approccio si sceglie in base ai dati a disposizione e alla possibilità di avere uno storico che comprenda la descrizione della circostanza di ogni singolo caso (input), e anche un risultato (output). Quindi con un data set di questo tipo, si può procedere ad utilizzare un approccio supervisionato.
Se invece non si ha la possibilità di conoscere a priori i dati di output (target), o si vogliono scoprire nuovi target, allora è necessario individuare legami tra i dati in input per scoprire circostanze mai sperimentate nello storico, oppure affrontare un apprendimento verso un ambiente che si evolve e reagisce. In questo caso è necessario optare per tecniche non supervisionate o a rinforzo.
Ercole Palmeri: Innovation addicted