I tre principali tipi di Machine Learning: Apprendimento Supervisionato, Non Supervisionato e per Rinforzo

In questo articolo andremo ad esaminare insieme le tre principali categorie di Machine Learning: apprendimento con supervisione, apprendimento senza supervisione e apprendimento per rinforzo.

I tre principali tipi di Machine Learning: Apprendimento Supervisionato, Non Supervisionato e per Rinforzo
I tre principali tipi di Machine Learning

In questo articolo andremo ad esaminare insieme le tre principali categorie di Machine Learning: apprendimento con supervisione, apprendimento senza supervisione e apprendimento per rinforzo. Questi paradigmi, nel campo del Machine Learning, vengono utilizzati per risolvere determinati tipi di problematiche attraverso alcune tecniche quali: la classificazione, il clustering, analisi della regressione, la riduzione della dimensionalità dei dati e la stima della densità di probabilità.

Apprendimento con Supervisione

Con l’Apprendimento Supervisionato cerchiamo di costruire un modello partendo da dei dati di addestramento etichettati, con i quali cerchiamo di fare previsioni su dati non disponibili o futuri. Con Supervisione si intende quindi che nel nostro insieme dei campioni (o dataset), i segnali di output desiderati sono già noti poiché precedentemente etichettati. In questo tipo di apprendimento, basato su etichette delle classi discrete, avremo quindi un compito basato su tecniche di classificazione.

Un’altro tipo di tecnica utilizzata nell’apprendimento supervisionato è la regressione, dove i segnali di output sono dei valori continui.

Classificazione

Figura 1: Classificazione binaria

La classificazione è una tecnica utilizzata nell’apprendimento con supervisione dove l’obiettivo, in base alle analisi di dati precedentemente etichettati, è quello di riuscire a prevedere l’etichettatura delle classi di dati future. Le etichette sono valori discreti non ordinati che possono essere considerati appartenenti a un gruppo di una classe.

In figura 1 si può vedere il compito di classificazione binaria basato su di un campione d’apprendimento. Per quanto riguarda i cerchi abbiamo una classe negativa, mentre per le X abbiamo una classe positiva. In questo esempio abbiamo a disposizione un dataset bidimensionale.

Ad ogni campione vengono associati due colori x1x1 e x2x2.

Utilizzando un algoritmo d’apprendimento automatico con supervisione, per avere un confine decisionale, saremo in grado di separare le due classi ed ad associare i dati, sulla base dei loro valori, alle due diverse categorie.

Regressione

Figura 2: Regressione lineare

Nella Regressione si dispone di un numero di variabile predittive (descrittive) e una variabile target continua (il risultato). In questo tipo di problema si cerca di trovare una relazione tra queste variabili al fine di prevedere un risultato.

Data una variabile predittiva x e una di risposta y, viene disegnata una retta al fine di diminuire la distanza fra i punti e la retta stessa.

Prendendo come riferimento la pendenza e il punto di intersezione, si possono prevedere da questi dati una variabile target da utilizzare come riferimento per nuovi dati.

Apprendimento non Supervisionato

Nell’apprendimento senza supervisione, al contrario di quella supervisionata abbiamo dei dati senza etichetta o dati non strutturati. Con queste tecniche siamo in grado di osservare la struttura dei dati e di estrapolare informazioni cariche di significato. In queste tecniche non si può però contare su una variabile nota relativa al risultato o su di una funzione di ricompensa.

Abbiamo due tecniche che ci vengono in aiuto nell’affrontare problemi di apprendimento non supervisionato: il Clustering e la Riduzione della dimensionalità dei dati.

Clustering

Figura 3: Clustering

Il Clustering è una tecnica esplorativa che consente di aggregare all’interno di gruppi (detti cluster) dei dati i quali non abbiamo precedente conoscenza di appartenenza a gruppi.

Avremo quindi dei grossi dataset dove i dati al loro interno hanno degli elementi simili tra di loro. All’interno di ogni singolo gruppo (o cluster) troveremo quindi quei dati che hanno molte caratteristiche simili tra loro.

Il clustering è un’ottima tecnica che ci permette quindi di scovare relazioni tra i dati.

Nella figura 3 abbiamo 3 cluster di dati suddivisi in base alla similitudine delle caratteristiche x1x1 e x2x2.

Riduzione dimensionalità dei dati

Figura 4: Riduzione dimensionalità e compressione dati (fonte Wikipedia)

La riduzione della dimensionalità senza supervisione è un approccio molto utilizzato nella pre-elaborazione delle features (caratteristiche), con l’obiettivo di eliminare il “rumore” dai dati.

Questa riduzione può anche causare una minore prestazione predittiva, ma può anche rendere lo spazio dimensionale più compatto al fine di mantenere le informazioni più rilevanti.

Grosse quantità di dati generano un problema nello spazio di memorizzazione e una considerevole diminuzione delle prestazioni a livello computazionale.

La riduzione della dimensionalità può essere utile anche per la rappresentazione dei dati, come ad esempio all’interno di un feature space (spazio delle caratteristiche) a elevata dimensionalità, che possono essere così proiettati su uno spazio 1D, 2D e 3D (figura4).

Apprendimento Semi-Supervisionato*

Può essere visto come un quarto tipo di apprendimento automatico. In questo caso, al contrario dell’apprendimento non supervisionato, abbiamo che di tutti i dati presenti nel training set, solo pochi di essi sono stati etichettati.

Apprendimento per Rinforzo

Figura 5: Apprendimento con Rinforzo per imparare a giocare a scacchi

Il terzo tipo di apprendimento automatico è l’Apprendimento per Rinforzo. L’obiettivo di questo tipo di apprendimento è quello di costruire un sistema (agente) che attraverso le interazioni con l’ambiente migliori le proprie performance.

Per poter migliorare le funzionalità del sistema vengono introdotti dei rinforzi, ovvero segnali di ricompensa.

Questo rinforzo non è dato dalle label (etichette) o dai valori corretti di verità, ma è una misurazione sulla qualità delle azioni intraprese dal sistema. Per questo motivo non può essere assimilato ad un apprendimento supervisionato.

Attraverso algoritmi che fanno largo utilizzo del Deep Learning, è tornato di moda questo tipo di apprendimento. Potremmo trovare questo tipo di apprendimento ad esempio nell’addestramento di un sistema per il gioco degli scacchi.

Inizialmente le mosse saranno del tutto casuali e senza una logica. Dal momento in cui il sistema riceverà dei feedback positivi, come ad esempio nel caso in cui mangi una pedina avversaria, allora riceverà un peso maggiore e conseguentemente un rinforzo positivo su quell’azione. Contrariamente in caso di azione negativa, il valore dei pesi su quell’azione andrà in decremento.

Conseguentemente a questi rinforzi, il sistema darà maggior peso alle mosse che gli hanno portato maggiori benefici e tenderà a replicare lo stesso comportamento su nuove mosse future.