Vai al contenuto principale
Machine Learning

Introduzione all'apprendimento non supervisionato

Scopri l'apprendimento non supervisionato, le sue tipologie — clustering, estrazione di regole di associazione e riduzione della dimensionalità — e come differisce dal supervisionato.
Kurtis Pykes 's photo
Kurtis Pykes
Aggiornato · 9 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Crea il tuo account gratuito

Pratica and corso your progress.

Continua Con Google
Continuando, accetti i nostri Termini di utilizzo, la nostra Informativa sulla privacy e che i tuoi dati siano conservati negli Stati Uniti.

L'apprendimento non supervisionato, una tipologia fondamentale di machine learning, continua a evolversi. Questo approccio, che si concentra su vettori di input senza valori target corrispondenti, ha registrato sviluppi notevoli nella capacità di raggruppare e interpretare le informazioni in base a somiglianze, schemi e differenze. I più recenti progressi nei modelli deep di apprendimento non supervisionato hanno potenziato questa capacità, consentendo una comprensione più sfumata di dataset complessi.

Nel 2024, gli algoritmi di apprendimento non supervisionato, che tradizionalmente non si basano su mappature input-output, sono diventati ancora più autonomi ed efficienti nello scoprire le strutture sottostanti dei dati non etichettati. Questa indipendenza da "un insegnante" è stata rafforzata dall'avvento di sofisticate tecniche di apprendimento auto-supervisionato, riducendo significativamente la dipendenza dai dati etichettati.

Inoltre, il settore ha compiuto passi avanti nell'integrazione dell'apprendimento non supervisionato con altre discipline dell'IA, come il reinforcement learning, dando vita a sistemi più adattivi e intelligenti. Questi sistemi eccellono nell'identificare pattern e anomalie nei dati, aprendo la strada ad applicazioni innovative in vari settori. Questo articolo approfondisce l'apprendimento non supervisionato, esplorandone le diverse tipologie e i relativi utilizzi. 

Supervisionato vs non supervisionato 

Nella tabella seguente, abbiamo messo a confronto alcune delle principali differenze tra apprendimento supervisionato e non supervisionato: 

 

Apprendimento supervisionato

Apprendimento non supervisionato

Obiettivo

Approssimare una funzione che mappa gli input agli output a partire da esempi di coppie input-output. 

Costruire una rappresentazione concisa dei dati e generare contenuti creativi a partire da essa. 

Accuratezza

Molto accurato e affidabile.

Meno accurato e affidabile. 

Complessità 

Metodo più semplice.

Computazionalmente complesso.

Classi 

Il numero di classi è noto.

Il numero di classi è ignoto.

Output

Un valore di output desiderato (chiamato anche segnale di supervisione).

Nessun valore di output corrispondente.

Tipologie di apprendimento non supervisionato

Nell'introduzione, abbiamo detto che l'apprendimento non supervisionato è un metodo che usiamo per raggruppare i dati quando non sono presenti etichette. Poiché non ci sono etichette, i metodi non supervisionati vengono in genere applicati per costruire una rappresentazione concisa dei dati, così da poterne ricavare contenuti creativi. 

Per esempio, se stessimo lanciando un nuovo prodotto, potremmo usare metodi non supervisionati per identificare quale sarà il target del nuovo prodotto: questo perché non ci sono informazioni storiche su chi sia il cliente tipo e sulle sue caratteristiche demografiche. 

Ma l'apprendimento non supervisionato può essere suddiviso in tre compiti principali: 

  • Clustering
  • Regole di associazione
  • Riduzione della dimensionalità.  

Vediamoli più nel dettaglio:

Clustering

Da un punto di vista teorico, le istanze all'interno dello stesso gruppo tendono ad avere proprietà simili. Puoi osservare questo fenomeno nella tavola periodica. I membri dello stesso gruppo, separati da diciotto colonne, hanno lo stesso numero di elettroni negli strati più esterni dei loro atomi e formano legami dello stesso tipo. 

Questa è l'idea alla base degli algoritmi di clustering; i metodi di clustering implicano il raggruppamento di dati non etichettati sulla base delle loro somiglianze e differenze. Quando due istanze compaiono in gruppi diversi, possiamo dedurre che abbiano proprietà dissimili. 

Il clustering è un tipo popolare di approccio non supervisionato. Puoi suddividerlo ulteriormente in diverse tipologie; per esempio: 

  • Clustering esclusivo: i dati sono raggruppati in modo che un singolo punto dati appartenga esclusivamente a un solo cluster. 
  • Clustering sovrapposto: un clustering soft in cui un singolo punto dati può appartenere a più cluster con gradi di appartenenza variabili. 
  • Clustering gerarchico: un tipo di clustering in cui i gruppi sono creati in modo che le istanze simili siano nello stesso gruppo e gli oggetti diversi in altri gruppi. 
  • Clustering probabilistico: i cluster sono creati usando una distribuzione di probabilità.

Estrazione di regole di associazione

Questo tipo di apprendimento automatico non supervisionato adotta un approccio basato su regole per scoprire relazioni interessanti tra le feature in un dataset. Funziona utilizzando una misura di interesse per identificare regole forti presenti all'interno di un dataset. 

In genere vediamo l'estrazione di regole di associazione utilizzata per la market basket analysis: è una tecnica di data mining che i rivenditori usano per comprendere meglio i modelli di acquisto dei clienti in base alle relazioni tra vari prodotti. 

L'algoritmo più usato per l'apprendimento di regole di associazione è l'algoritmo Apriori. Tuttavia, per questo tipo di apprendimento non supervisionato si utilizzano anche altri algoritmi, come Eclat e FP-growth. 

Riduzione della dimensionalità

Gli algoritmi popolari per la riduzione della dimensionalità includono l'analisi delle componenti principali (PCA) e la Decomposizione ai Valori Singolari (SVD). Questi algoritmi mirano a trasformare i dati da spazi ad alta dimensionalità a spazi a bassa dimensionalità senza compromettere le proprietà significative presenti nei dati originali. Queste tecniche sono in genere impiegate durante l'exploratory data analysis (EDA) o l'elaborazione dei dati per prepararli alla modellazione.

È utile ridurre la dimensionalità di un dataset durante l'EDA per aiutare a visualizzare i dati: questo perché visualizzare dati in più di tre dimensioni è difficile. Dal punto di vista dell'elaborazione, ridurre la dimensionalità dei dati semplifica il problema di modellazione.

Quando al modello vengono fornite più feature in input, il modello deve apprendere una funzione di approssimazione più complessa. Questo fenomeno può essere riassunto con l'espressione "maledizione della dimensionalità." 

Applicazioni dell'apprendimento non supervisionato

La maggior parte dei dirigenti non avrebbe difficoltà a individuare casi d'uso per compiti di machine learning supervisionato; lo stesso non si può dire per il non supervisionato. 

Una possibile ragione è legata alla natura stessa del rischio. L'apprendimento non supervisionato introduce molto più rischio rispetto al supervisionato, poiché non esiste un modo chiaro per misurare i risultati rispetto alla verità a terra in modo offline, e potrebbe essere troppo rischioso condurre una valutazione online. 

Nonostante ciò, esistono diversi validi casi d'uso dell'apprendimento non supervisionato a livello enterprise. Oltre alle tecniche non supervisionate per esplorare i dati, alcuni casi d'uso comuni nel mondo reale includono: 

  • Natural Language Processing (NLP). Google News è noto per sfruttare l'apprendimento non supervisionato per categorizzare gli articoli basandosi sulla stessa notizia proveniente da varie testate. Per esempio, i risultati della finestra di calciomercato possono essere tutti categorizzati sotto calcio.
  • Analisi di immagini e video. Compiti di percezione visiva come il riconoscimento di oggetti sfruttano l'apprendimento non supervisionato.
  • Rilevamento di anomalie. L'apprendimento non supervisionato viene utilizzato per identificare punti dati, eventi e/o osservazioni che si discostano dal comportamento normale di un dataset.
  • Segmentazione dei clienti. È possibile creare profili di buyer persona interessanti usando l'apprendimento non supervisionato. Questo aiuta le aziende a comprendere i tratti comuni e le abitudini di acquisto dei clienti, consentendo di allineare meglio i prodotti.
  • Motori di raccomandazione. Il comportamento di acquisto passato, unito all'apprendimento non supervisionato, può aiutare le aziende a scoprire trend nei dati da utilizzare per sviluppare strategie di cross-selling efficaci.

Esempio di apprendimento non supervisionato in Python

La principal component analysis (PCA) è il processo di calcolo delle componenti principali e del loro utilizzo per eseguire un cambio di base sui dati. In altre parole, la PCA è una tecnica di riduzione della dimensionalità non supervisionata. 

È utile ridurre la dimensionalità di un dataset per due motivi principali: 

  1. Quando in un dataset ci sono troppe dimensioni per poterlo visualizzare 
  2. Per identificare le n dimensioni più predittive per la selezione delle feature nella costruzione di un modello predittivo. 

In questa sezione, implementeremo l'algoritmo PCA in Python sul dataset Iris e lo visualizzeremo con matplotlib. Dai un'occhiata a questo DataLab workbook per seguire il codice usato in questo tutorial. 

Iniziamo importando le librerie necessarie e i dati.

from sklearn.datasets import load_iris # Dataset
from sklearn.decomposition import PCA # Algorithm
import matplotlib.pyplot as plt # Visualization

# Load the data 
iris_data = load_iris(as_frame=True)

# Preview
iris_data.data.head()
 

sepal length (cm)

sepal width (cm)

petal length (cm)

petal width (cm)

0

5.1

3.5

1.4

0.2

1

4.9

3

1.4

0.2

2

4.7

3.2

1.3

0.2

3

4.6

3.1

1.5

0.2

4

5

3.6

1.4

0.2

Il dataset Iris ha quattro feature. Cercare di visualizzare dati in quattro o più dimensioni è impossibile perché non abbiamo alcuna idea di come apparirebbero in uno spazio così ad alta dimensionalità. La cosa migliore che possiamo fare è rappresentarli in tre dimensioni, il che non è impossibile ma resta impegnativo. 

Per esempio:

"""
Credit: Rishikesh Kumar Rishi
Link: https://www.tutorialspoint.com/how-to-make-a-4d-plot-with-matplotlib-using-arbitrary-data
"""
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
sepal_length = iris_data.data["sepal length (cm)"]
sepal_width = iris_data.data["sepal width (cm)"]
petal_length = iris_data.data["petal length (cm)"]
petal_width = iris_data.data["petal width (cm)"]

ax.scatter(sepal_length, sepal_width, petal_length, c=petal_width)
plt.show()

image1.png

È piuttosto difficile ricavare insight da questa visualizzazione perché tutte le istanze sono ammassate: in questo scenario, quando visualizziamo dati in tre dimensioni, abbiamo accesso a un solo punto di vista.  

Con la PCA possiamo ridurre le dimensioni dei dati a due, rendendo così più semplice visualizzarli e distinguere le classi. 

Nota: scopri come implementare la PCA in R in "Principal Component Analysis in R Tutorial."

# Instantiate PCA with 2 components
pca = PCA(n_components=2)

# Train the model 
pca.fit(iris_data.data)
iris_data_reduced = pca.fit_transform(iris_data.data)

# Plot data
plt.scatter(
    iris_data_reduced[:,0],
    iris_data_reduced[:,1],
    c=iris_data.target
)
plt.show()

image2.png

Nel codice sopra, trasformiamo le feature del dataset Iris mantenendo solo due componenti e poi tracciamo i dati ridotti in un piano bidimensionale.  

Ora è molto più facile ricavare informazioni sui dati e su come sono separate le classi. Possiamo usare questo insight per decidere i prossimi passi se volessimo adattare un modello di machine learning ai nostri dati. 

Considerazioni finali

L'apprendimento non supervisionato si riferisce a una classe di problemi nel machine learning in cui un modello viene utilizzato per caratterizzare o estrarre relazioni nei dati. 

Al contrario dell'apprendimento supervisionato, gli algoritmi non supervisionati scoprono la struttura sottostante di un dataset utilizzando solo le feature di input. Ciò significa che i modelli non supervisionati non richiedono un insegnante che li corregga, a differenza del supervisionato. 

In questo articolo hai imparato le tre principali tipologie di apprendimento non supervisionato: estrazione di regole di associazione, clustering e riduzione della dimensionalità. Hai anche visto diverse applicazioni del non supervisionato e come effettuare la riduzione della dimensionalità usando l'algoritmo PCA in Python. 

Perché non dare un'occhiata a queste risorse per proseguire la tua formazione: 

FAQ

Che cos'è l'apprendimento non supervisionato nel machine learning?

L'apprendimento non supervisionato è un tipo di machine learning in cui un modello viene utilizzato per scoprire la struttura sottostante di un dataset usando solo le feature di input, senza la necessità di un insegnante che corregga il modello.

Quali sono i principali compiti dell'apprendimento non supervisionato?

I principali compiti dell'apprendimento non supervisionato sono clustering, regole di associazione e riduzione della dimensionalità.

Che cos'è il clustering nell'apprendimento non supervisionato?

Il clustering è un tipo di apprendimento non supervisionato in cui i dati non etichettati vengono raggruppati in base alle loro somiglianze e differenze. Questo aiuta a identificare gruppi con proprietà simili.

Che cos'è l'estrazione di regole di associazione nell'apprendimento non supervisionato?

L'estrazione di regole di associazione è un tipo di apprendimento non supervisionato che utilizza un approccio basato su regole per scoprire relazioni interessanti tra le feature in un dataset. È comunemente usata per la market basket analysis.

Che cos'è la riduzione della dimensionalità nell'apprendimento non supervisionato?

La riduzione della dimensionalità è una tecnica utilizzata nell'apprendimento non supervisionato per trasformare i dati da spazi ad alta dimensionalità a spazi a bassa dimensionalità senza compromettere le proprietà significative dei dati originali. Questo aiuta a semplificare il problema di modellazione.

Quali sono alcune applicazioni dell'apprendimento non supervisionato?

Alcune applicazioni dell'apprendimento non supervisionato includono natural language processing, analisi di immagini e video, rilevamento di anomalie, segmentazione dei clienti e motori di raccomandazione.

Come può essere utilizzata la PCA per la riduzione della dimensionalità nell'apprendimento non supervisionato?

La PCA è un algoritmo popolare utilizzato per la riduzione della dimensionalità nell'apprendimento non supervisionato. Mira a trasformare i dati da spazi ad alta dimensionalità a spazi a bassa dimensionalità senza compromettere le proprietà significative dei dati originali. Questo può aiutare a semplificare il problema di modellazione e a rendere più facile la visualizzazione dei dati.

Come è evoluto l'apprendimento non supervisionato negli ultimi anni?

L'apprendimento non supervisionato ha subito un'evoluzione significativa, in particolare con i progressi del deep learning. Negli ultimi anni si sono sviluppati modelli deep non supervisionati più sofisticati, che eccellono nel riconoscimento di pattern e nell'interpretazione dei dati. Sono notevoli anche le innovazioni nei modelli generativi, nell'apprendimento auto-supervisionato e nell'integrazione con il reinforcement learning. Questi progressi hanno ampliato l'applicabilità del non supervisionato in scenari complessi come l'analisi di dati ad alta dimensionalità, la generazione realistica di dati e i sistemi di decisione autonomi.

Quali sono le differenze tra apprendimento supervisionato, non supervisionato e semi-supervisionato?

L'apprendimento supervisionato prevede l'addestramento di un modello su un dataset etichettato, in cui ogni esempio è associato a un'etichetta di output. L'apprendimento non supervisionato, invece, lavora con dati non etichettati e si concentra sull'identificazione di pattern e strutture all'interno dei dati. L'apprendimento semi-supervisionato combina elementi di entrambi, utilizzando una piccola quantità di dati etichettati insieme a un insieme più grande di dati non etichettati, particolarmente utile quando ottenere dati etichettati è costoso o richiede tempo.

Cosa sono i modelli generativi nell'apprendimento non supervisionato e come vengono utilizzati?

I modelli generativi nell'apprendimento non supervisionato sono algoritmi che imparano a generare nuovi punti dati che somigliano ai dati di input. Questi modelli catturano la distribuzione e i pattern del dataset di input per produrre nuove istanze di dati sintetici. Sono ampiamente utilizzati in varie applicazioni, come la generazione di immagini e video, la scoperta di farmaci e la sintesi di dati realistici per l'addestramento di altri modelli di machine learning.

Argomenti
Machine Learning
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra altro