Machine Learning, i diversi modelli di apprendimento automatico

Il machine learning sfrutta diversi metodi di apprendimento automatico: l’apprendimento supervisionato, quello semi-supervisionato e l’apprendimento non supervisionato.

Pubblicato il 02 Set 2019

machine learning

Nel campo dell’apprendimento automatico, esistono tre tipi principali di attività: supervisionate, semi-supervisionate e non supervisionate.

La differenza principale tra questi tipi di attività del machine learning è il livello di disponibilità dei “dati di verità di base” (ground truth, termine usato in vari campi per riferirsi alle informazioni fornite dall’osservazione diretta – cioè prove empiriche – in contrapposizione alle informazioni fornite dall’inferenza), che è una conoscenza preliminare di ciò che il risultato del modello dovrebbe essere (l’output) per un determinato input.

In linea di massima:

– l’apprendimento automatico supervisionato mira ad apprendere una funzione che, dato un campione di dati e output desiderati, si avvicina a una funzione che mappa gli input agli output;

– l’apprendimento automatico semi-supervisionato ha lo scopo di etichettare i punti dati senza etichetta utilizzando le conoscenze apprese da un piccolo numero di punti dati etichettati;

– l’apprendimento automatico senza supervisione non ha output etichettati, quindi il suo obiettivo è dedurre la struttura naturale presente all’interno di un insieme di punti dati.

L’apprendimento supervisionato

Come accennato, i modelli di apprendimento automatico supervisionato mappano/legano gli input agli output. 

L’apprendimento supervisionato viene in genere svolto nel contesto della classificazione, quando vogliamo mappare l’input alle etichette di output, o regressione, quando vogliamo mappare l’input a un output continuo. Algoritmi comuni nell’apprendimento supervisionato includono regressione logistica, classificatore bayesiano naif (generalmente per la categorizzazione di testi), macchine a vettori di supporto (modelli associati ad algoritmi di apprendimento per la regressione e la classificazione), reti neurali artificiali e le cosiddette foreste casuali (classificatori d’insieme composti da molti alberi di decisione).

Sia nella regressione che nella classificazione, l’obiettivo è trovare relazioni o strutture specifiche nei dati di input che ci consentano di produrre in modo efficace dati di output corretti.

Si noti che l’output “corretto” è determinato interamente dai dati di addestramento, quindi mentre abbiamo una “verità di base” che il nostro modello riterrà vera, non si può dire che le etichette dei dati siano sempre corrette nelle situazioni del mondo reale. Le etichette dei dati “rumorose” o “errate” ridurranno chiaramente l’efficacia del modello.

La complessità dell’apprendimento automatico supervisionato

La complessità del modello si riferisce alla complessità della funzione che si sta tentando di apprendere, simile al grado di un polinomio. Il corretto livello di complessità del modello è generalmente determinato dalla natura dei dati di allenamento.

Se hai una piccola quantità di dati o se i tuoi dati non sono distribuiti uniformemente in diversi scenari possibili, dovresti optare per un modello a bassa complessità. Ciò è dovuto al fatto che un modello ad alta complessità verrà “sovradattato” (overfitting, un modello statistico molto complesso si adatta ai dati osservati – il campione – perché ha un numero eccessivo di parametri rispetto al numero di osservazioni) se utilizzato su un numero ridotto di punti dati.

L’overfitting si riferisce all’apprendimento di una funzione che si adatta molto bene ai dati di training, ma non generalizza ad altri punti dati, in altre parole, si sta imparando rigorosamente a produrre i dati di training senza apprendere la tendenza o la struttura effettiva nei dati che guida a questo output.

Immaginate di cercare di adattare una curva tra 2 punti. In teoria, è possibile utilizzare una funzione di qualsiasi grado, ma in pratica, si potrebbe parsimoniosamente aggiungere complessità, e procedere con una funzione lineare.

Compromesso tra bias e varianza

Il compromesso bias-varianza si riferisce anche alla generalizzazione del modello. In qualsiasi modello, c’è un equilibrio tra distorsione (bias), che è il termine di errore costante, e la varianza, che è la quantità in base alla quale l’errore può variare tra diversi set di dati. Pertanto, alta distorsione e bassa varianza corrisponde ad un modello che è costantemente errato nel 20% delle volte, mentre un modello a bassa distorsione e ad alta varianza sarebbe un modello che può essere sbagliato in qualsiasi punto dal 5% al 50% delle volte, a seconda dei dati utilizzati per il training.

Si noti che la distorsione e la varianza in genere si muovono in direzioni opposte l’una dall’altra; l’aumento della distorsione di solito porta a una minore varianza e viceversa. Quando si crea il modello, il problema specifico e la natura dei dati dovrebbero consentire all’utente di prendere una decisione informata su dove rientrare nello spettro della distorsione.

In generale, l’aumento della distorsione (e la riduzione della varianza) si traduce in modelli con livelli di prestazione relativamente garantiti, che possono essere fondamentali in determinate attività. Inoltre, per produrre modelli che si generalizzano bene, la varianza del modello deve essere ridimensionata in base alle dimensioni e alla complessità dei dati di allenamento. I set di dati semplici e di piccole dimensioni devono in genere essere appresi con modelli a bassa varianza e set di dati complessi e di grandi dimensioni spesso richiedono modelli con varianza più elevata per apprendere appieno la struttura dei dati.

Apprendimento automatico semi-supervisionato

Il modello semi-supervisionato è un sistema di apprendimento con punti dati sia “non labaled” (non etichettati) sia etichettati.

L’apprendimento semi supervisionato si snoda tra l’apprendimento supervisionato e quello non supervisionato. I modelli semi-supervisionati mirano a utilizzare una piccola quantità di dati di allenamento etichettati insieme a una grande quantità di dati di allenamento senza etichetta. Ciò si verifica spesso in situazioni reali in cui l’etichettatura dei dati è molto costosa e/o si dispone di un flusso costante di dati.

Ad esempio, se stessimo cercando di rilevare messaggi inappropriati in un social network, non c’è modo di ottenere informazioni etichettate a mano su ogni messaggio, poiché ce ne sono semplicemente troppe e sarebbe troppo costoso. Invece, possiamo etichettare a mano un sottoinsieme di essi e sfruttare le tecniche semi-supervisionate per utilizzare questo piccolo set di dati etichettati per aiutarci a comprendere il resto del contenuto dei messaggi appena arrivano.

Alcuni metodi semi-supervisionati comuni sono le macchine vettoriali di supporto trasversali e i metodi basati su grafici, ad esempio la propagazione delle etichette.

L’importanza dei presupposti nell’apprendimento automatico semi-supervisionato

I metodi semi-supervisionati devono fare alcune ipotesi (presupposti) sui dati al fine di giustificare l’utilizzo di una piccola serie di dati etichettati per trarre conclusioni sui punti dati non etichettati. Questi possono essere raggruppati in tre categorie.

La prima categoria riguarda il presupposto di continuità: si presume che i punti dati “vicini” tra loro abbiano maggiori probabilità di avere un’etichetta comune.

Il secondo presupposto è l’ipotesi del cluster: si presume che i dati formino naturalmente cluster discreti e che i punti nello stesso cluster abbiano maggiori probabilità di condividere un’etichetta.

La terza categoria riguarda il presupposto molteplice: si presume che i dati si trovino approssimativamente in uno spazio di dimensioni inferiori (o collettore) rispetto allo spazio di input. Questo scenario è rilevante quando un sistema non osservabile o difficile da osservare con un numero ridotto di parametri produce output osservabile ad alta dimensione.

Apprendimento automatico senza supervisione

I modelli senza supervisione trovano modelli intrinseci nei dati.

Le attività più comuni nell’apprendimento senza supervisione sono il clustering (raggruppamento), l’apprendimento della rappresentazione e la stima della densità. In tutti questi casi, desideriamo conoscere la struttura intrinseca dei nostri dati senza utilizzare etichette fornite in modo esplicito. Alcuni algoritmi comuni includono il clustering k-means, l’analisi dei componenti principali e gli autocodificatori. Poiché non vengono fornite etichette, non esiste un modo specifico per confrontare le prestazioni del modello nella maggior parte dei metodi di apprendimento senza supervisione.

Analisi dei dati esplorativi (EDA – Exploratory data analysis)

L’apprendimento senza supervisione è molto utile nell’analisi esplorativa perché può identificare automaticamente la struttura nei dati. Ad esempio, se un analista tentasse di segmentare i consumatori, i metodi di clustering senza supervisione sarebbero un ottimo punto di partenza per la loro analisi. In situazioni in cui è impossibile o impraticabile per un essere umano proporre tendenze nei dati, l’apprendimento non supervisionato può fornire informazioni iniziali che possono poi essere utilizzate per testare/verificare singole ipotesi.

Riduzione dimensionale

La riduzione della dimensionalità, che fa riferimento ai metodi utilizzati per rappresentare i dati utilizzando meno colonne o funzionalità, può essere eseguita tramite metodi di apprendimento non supervisionato. Nell’apprendimento della rappresentazione, per esempio, vogliamo imparare le relazioni tra le singole caratteristiche, permettendoci di rappresentare i nostri dati utilizzando le caratteristiche latenti che inter-relazionano le nostre caratteristiche iniziali. Questa struttura latente è spesso rappresentata utilizzando molte meno funzionalità di quelle con cui abbiamo iniziato, quindi può rendere l’ulteriore elaborazione dei dati molto meno intensiva e può eliminare le funzionalità ridondanti. In altri contesti, la riduzione della dimensionalità può essere utilizzata per convertire i dati da una modalità a un’altra. Ad esempio, un autoeconder ricorrente può essere utilizzato per convertire le sequenze in una rappresentazione a lunghezza fissa.

***

NOTA: l’articolo è stato scritto da Devin Soni in lingua inglese originariamente per la pubblicazione sul canale Medium “Towards Data Science”. Devin ci ha dato la possibilità di pubblicare il suo articolo in italiano su AI4Business.

Devin Soni, autore articolo sui diversi modelli di apprendimento automatico

*Devin Soni è un Data Scientist e Software Engineer. Attualmente lavora in Airbnb, è stato Data Science Research Assistant alla Rutger University lavorando presso il Behavioral Informatics Lab su un progetto che ha visto l’impiego del machine learning per rilevare automaticamente il cyber bullismo

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3