Unsupervised Learning
Esplora l'apprendimento non supervisionato per scoprire pattern nascosti in dati non etichettati. Scopri il clustering, il rilevamento di anomalie e come alimenta le moderne soluzioni IA.
L'apprendimento non supervisionato è una tipologia di machine learning in cui un algoritmo apprende pattern da dati non etichettati senza intervento umano. A differenza dell'apprendimento supervisionato, che si basa su coppie input-output etichettate per addestrare un modello, l'apprendimento non supervisionato gestisce dati che non hanno etichette storiche. Il sistema tenta essenzialmente di autoistruirsi scoprendo strutture, pattern o relazioni nascoste all'interno dei dati di input. Questo approccio è particolarmente prezioso poiché la stragrande maggioranza dei dati generati oggi — immagini, video, testi e log di sensori — non è strutturata e non è etichettata.
Link to this sectionCome funziona l'apprendimento non supervisionato#
Negli scenari non supervisionati, l'algoritmo viene lasciato a se stesso per scoprire strutture interessanti nei dati. L'obiettivo è spesso modellare la distribuzione sottostante dei dati o imparare di più sui dati stessi. Poiché durante l'addestramento non vengono fornite "risposte corrette", il modello non può essere valutato in base all'accuratezza nel senso tradizionale. Invece, le prestazioni vengono spesso misurate in base a quanto bene il modello riduce la dimensionalità o raggruppa insieme punti dati simili.
Questa metodologia rispecchia il modo in cui gli esseri umani spesso apprendono nuovi concetti. Ad esempio, un bambino può distinguere tra cani e gatti osservando le loro diverse forme e comportamenti senza necessariamente conoscere inizialmente i nomi "cane" e "gatto". Allo stesso modo, gli algoritmi non supervisionati raggruppano le informazioni in base a somiglianze intrinseche. Questa capacità è fondamentale per lo sviluppo dell'intelligenza artificiale generale (AGI), poiché consente ai sistemi di adattarsi a nuovi ambienti senza una costante supervisione umana.
Link to this sectionTecniche chiave nell'apprendimento non supervisionato#
L'apprendimento non supervisionato comprende diverse tecniche distinte, ognuna adatta a diversi tipi di problemi di analisi dei dati:
- Clustering: Questa è l'applicazione più comune, in cui l'algoritmo raggruppa punti dati simili tra loro. Un metodo popolare è il K-Means clustering, che suddivide i dati in k gruppi distinti in base alla similarità delle caratteristiche. È ampiamente utilizzato nella segmentazione di mercato per identificare gruppi di clienti con comportamenti d'acquisto simili.
- Riduzione della dimensionalità: I dati ad alta dimensionalità possono essere complessi e computazionalmente costosi da elaborare. Tecniche come la Principal Component Analysis (PCA) riducono il numero di variabili in un dataset preservandone le informazioni essenziali. Ciò semplifica la visualizzazione dei dati e accelera l'addestramento di altri modelli di machine learning.
- Rilevamento delle anomalie: Imparando come appaiono i dati "normali", i modelli non supervisionati possono identificare valori anomali che deviano significativamente dalla norma. Questo è cruciale per il rilevamento delle frodi in ambito finanziario, dove modelli di transazione insoliti attivano avvisi di sicurezza.
- Apprendimento delle regole di associazione: Questa tecnica scopre relazioni interessanti tra le variabili in database di grandi dimensioni. È famosamente utilizzata per l'analisi del carrello della spesa (market basket analysis), aiutando i rivenditori a capire che i clienti che acquistano pane hanno anche probabilità di acquistare burro.
Link to this sectionApprendimento non supervisionato vs. supervisionato#
È importante distinguere l'apprendimento non supervisionato dall'apprendimento supervisionato. La differenza principale risiede nei dati utilizzati. L'apprendimento supervisionato richiede un dataset etichettato, il che significa che ogni esempio di addestramento è accoppiato con un output corretto (ad es., un'immagine di un gatto etichettata come "gatto"). Il modello impara a mappare gli input agli output per ridurre al minimo l'errore.
Al contrario, l'apprendimento non supervisionato utilizza dati non etichettati. Non esiste un ciclo di feedback che indichi al modello se il suo output è corretto. Esiste una via di mezzo chiamata apprendimento semi-supervisionato, che combina una piccola quantità di dati etichettati con una grande quantità di dati non etichettati per migliorare l'accuratezza dell'apprendimento, spesso utilizzato quando l'etichettatura dei dati è costosa o richiede molto tempo.
Link to this sectionApplicazioni nel mondo reale#
L'apprendimento non supervisionato alimenta molte tecnologie che incontriamo quotidianamente. Ecco due esempi concreti:
-
Segmentazione della clientela nel retail: Le piattaforme di e-commerce analizzano milioni di interazioni degli utenti senza categorie predefinite. Utilizzando algoritmi di clustering, identificano diverse tipologie di utente (user personas), come "cacciatori di affari del weekend" o "appassionati di tecnologia". Ciò consente campagne di marketing altamente personalizzate e sistemi di raccomandazione, migliorando significativamente l'esperienza del cliente.
-
Analisi delle sequenze genomiche: Nella bioinformatica, i ricercatori utilizzano l'apprendimento non supervisionato per analizzare i dati genetici. Gli algoritmi raggruppano le sequenze di DNA per trovare marcatori genetici o mutazioni simili in diverse popolazioni. Ciò aiuta a comprendere le relazioni evolutive e a identificare le predisposizioni genetiche alle malattie senza bisogno di una conoscenza preventiva di ogni specifica funzione genica.
Link to this sectionEsempio di codice: Clustering con Scikit-Learn#
Sebbene Ultralytics YOLO26 sia principalmente un framework di rilevamento oggetti supervisionato, le tecniche non supervisionate vengono spesso utilizzate nelle fasi di pre-elaborazione, come l'analisi delle distribuzioni degli anchor box o il clustering delle caratteristiche del dataset. Di seguito è riportato un semplice esempio che utilizza sklearn per eseguire il clustering K-Means, una tecnica non supervisionata fondamentale.
import numpy as np
from sklearn.cluster import KMeans
# Generate synthetic data: 10 points with 2 features each
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
# Initialize KMeans with 2 clusters (k=2)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto")
# Fit the model to the data (no labels provided!)
kmeans.fit(X)
# Predict which cluster each point belongs to
print(f"Labels: {kmeans.labels_}")
# Output will group the first 3 points together (0) and the last 3 together (1)Link to this sectionIl ruolo dell'apprendimento non supervisionato nel Deep Learning#
Il moderno deep learning (DL) sta integrando sempre più principi non supervisionati. Tecniche come l'apprendimento auto-supervisionato (SSL) consentono ai modelli di generare i propri segnali di supervisione dai dati. Ad esempio, nell'elaborazione del linguaggio naturale (NLP), modelli come GPT-4 vengono pre-addestrati su enormi quantità di testo per prevedere la parola successiva in una frase, imparando effettivamente la struttura del linguaggio senza etichette esplicite.
Allo stesso modo, nella computer vision (CV), gli autoencoder vengono utilizzati per apprendere codifiche efficienti dei dati. Queste reti neurali comprimono le immagini in una rappresentazione a dimensione ridotta per poi ricostruirle. Questo processo insegna alla rete le caratteristiche più salienti dei dati visivi, il che è utile per attività come il denoising delle immagini e la modellazione generativa.
Per chi cerca di gestire dataset per l'addestramento, la piattaforma Ultralytics offre strumenti per visualizzare le distribuzioni dei dati, il che può aiutare a identificare cluster o anomalie prima che inizi il processo di addestramento supervisionato. Comprendere la struttura dei tuoi dati attraverso un'esplorazione non supervisionata è spesso il primo passo verso la creazione di soluzioni AI robuste.






