Il machine learning è un modo di usare i dati per fare previsioni o individuare schemi senza scrivere a mano ogni regola. Nell’apprendimento supervisionato, i dati di addestramento includono la risposta corretta. Nell’apprendimento non supervisionato, invece, non c’è, quindi l’obiettivo è trovare una struttura, come gruppi o direzioni principali di variazione.
Questa è l’idea di base dietro gran parte del machine learning. Si parte dai dati, si sceglie un modello, lo si addestra su esempi e poi si verifica se funziona su nuovi dati, non solo su quelli che ha già visto.
Cosa fa il machine learning
Un modello di machine learning mette in relazione input e output, oppure input e schemi. L’input può essere la dimensione di una casa, i voti di un esame, l’attività di un cliente o i valori dei pixel in un’immagine. L’output dipende dal compito:
- prevedere un numero, come un prezzo
- prevedere un’etichetta, come spam o non spam
- raggruppare elementi simili senza etichette
- ordinare o consigliare le scelte più probabili
Ciò che rende questo processo un vero “apprendimento” è che i parametri del modello vengono adattati a partire dai dati, invece di essere fissati completamente da un programmatore.
Apprendimento supervisionato vs apprendimento non supervisionato
Apprendimento supervisionato: prevedere un target noto
L’apprendimento supervisionato usa esempi della forma , dove è l’input e è il target noto.
Se è numerico, il compito viene spesso chiamato regressione. Se è una categoria, il compito è di solito una classificazione.
Tra gli algoritmi supervisionati più comuni ci sono regressione lineare, regressione logistica, alberi decisionali, random forest, support vector machine e reti neurali. Nessun metodo è il migliore in ogni situazione. La scelta giusta dipende dalla quantità di dati, dal livello di rumore, dal tipo di caratteristiche e da quanta interpretabilità ti serve.
Apprendimento non supervisionato: trovare struttura senza etichette
L’apprendimento non supervisionato usa input senza etichette target.
Qui l’obiettivo è di solito scoprire una struttura già presente nei dati. Un metodo di clustering come k-means cerca di raggruppare osservazioni simili. Un metodo di riduzione della dimensionalità come l’analisi delle componenti principali cerca di riassumere la variabilità con meno direzioni.
L’apprendimento non supervisionato può essere utile per l’esplorazione, la compressione, il rilevamento di anomalie o il preprocessing. I suoi risultati dipendono molto da come i dati sono rappresentati e da quale nozione di somiglianza è incorporata nel metodo.
Un semplice modello mentale
Pensa al machine learning come a un adattamento di curve o di schemi in condizioni di incertezza.
Si sceglie una famiglia di modelli, come rette, alberi decisionali o reti neurali a più strati. L’addestramento poi regola il modello in modo che le sue previsioni corrispondano il meglio possibile ai dati di training secondo una funzione di perdita. Se il modello generalizza bene, allora funziona bene anche su nuovi dati che non ha mai visto prima.
Quest’ultima condizione è fondamentale. Un modello che si limita a memorizzare il training set di solito non è utile.
Esempio svolto: prevedere l’affitto con la regressione lineare
Supponiamo di voler prevedere l’affitto di un appartamento a partire dalla superficie. Un semplice modello supervisionato è
dove è la superficie, è l’affitto previsto, è l’intercetta e è la pendenza.
Supponiamo che un modello addestrato dia
con l’affitto misurato in dollari e la superficie in piedi quadrati.
Se un appartamento ha , la previsione è
Quindi il modello prevede un affitto di .
Qui contano tre dettagli. Il modello ha imparato da esempi etichettati di superficie e affitto. La previsione è una stima, non una garanzia. La formula ha senso solo se una relazione approssimativamente lineare è una buona approssimazione nell’intervallo che ti interessa.
Questo esempio è volutamente semplice, ma mostra il ciclo principale dell’apprendimento supervisionato: usare dati etichettati, adattare i parametri e prevedere un target per un nuovo input.
Algoritmi chiave di machine learning e quando usarli
Regressione lineare
Usala quando l’obiettivo è prevedere un valore numerico e una retta è un primo modello ragionevole.
Regressione logistica
Usala per la classificazione quando vuoi una base relativamente semplice e interpretabile per prevedere categorie come sì o no.
Alberi decisionali e random forest
Usali quando le relazioni sono non lineari o includono interazioni, soprattutto su dati tabellari. Le random forest di solito sacrificano un po’ di interpretabilità in cambio di una maggiore stabilità predittiva.
Clustering k-means
Usalo nell’apprendimento non supervisionato per raggruppare osservazioni in cluster. Funziona meglio quando l’idea di un centro del cluster è significativa per le caratteristiche che stai usando.
Reti neurali
Usale quando la relazione tra input e output è molto complessa, soprattutto in compiti su immagini, voce e linguaggio. Spesso richiedono più dati e più ottimizzazione rispetto ai modelli più semplici.
Errori comuni nelle basi del machine learning
Confondere previsione e spiegazione
Un modello può prevedere bene e comunque non spiegare la vera causa dello schema osservato.
Ignorare la differenza tra training e test
Un’alta accuratezza sul training non significa che il modello funzionerà bene su nuovi dati. La capacità di generalizzare va verificata su dati separati.
Usare la metrica sbagliata
L’accuratezza può essere fuorviante nei problemi di classificazione sbilanciata. In alcuni compiti, precision, recall, errore assoluto medio o un’altra metrica possono essere più importanti.
Trattare i nomi degli algoritmi come garanzie
“Rete neurale” o “random forest” non sono una promessa di qualità. La qualità dei dati, la progettazione delle caratteristiche, la valutazione e l’impostazione del problema contano almeno quanto il nome dell’algoritmo.
Quando il machine learning è utile
Il machine learning è utile quando lo schema è troppo complicato per un piccolo insieme fisso di regole, ma ci sono abbastanza dati per imparare dagli esempi. Tra gli usi comuni ci sono sistemi di raccomandazione, rilevamento di frodi, strumenti di supporto per immagini mediche, ranking, previsione e classificazione di documenti.
Non è sempre lo strumento giusto. Se la regola è semplice, stabile e completamente nota, una formula ordinaria o un programma deterministico possono essere migliori.
Prova un problema simile
Prendi un piccolo dataset e poni due domande: “Qual è l’input?” e “Qual è il target?”. Se riesci a rispondere a entrambe, prova un modello supervisionato come la regressione lineare o la classificazione. Se non ci riesci, esplora se i dati formano naturalmente gruppi con un metodo non supervisionato.
Se vuoi fare un passo in più, risolvi prima un problema simile con un modello semplice, poi confrontalo con uno più flessibile. Di solito è un modo migliore per imparare che passare subito all’algoritmo più avanzato.
Hai bisogno di aiuto con un problema?
Carica la tua domanda e ottieni una soluzione verificata, passo dopo passo, in pochi secondi.
Apri GPAI Solver →