Dietro a un filtro antispam, a un consiglio di acquisto o a una previsione meteo c’è quasi sempre un algoritmo di machine learning che lavora silenziosamente. Capire quali sono questi algoritmi, come funzionano e quando conviene usarli è il modo migliore per orientarsi nel mondo dell’intelligenza artificiale senza perdersi nel gergo tecnico. In questa guida trovi una mappa ragionata delle principali famiglie di algoritmi, con esempi concreti, criteri pratici per la scelta e gli strumenti per valutare se un modello funziona davvero. Non servono basi matematiche avanzate, ti basta la curiosità di capire come le macchine imparano dai dati.
Cosa si intende per algoritmo di machine learning
Un algoritmo di machine learning è una procedura che permette a un programma di migliorare le proprie prestazioni su un compito imparando dagli esempi, invece di seguire regole scritte a mano da un programmatore. La differenza è sostanziale. Nel software tradizionale tu definisci le regole e il computer le applica, nel machine learning fornisci i dati e l’algoritmo ricava da solo le regole. Se vuoi un quadro generale di come questa disciplina si inserisce nel panorama dell’intelligenza artificiale, puoi partire dalla nostra guida su cos’è il machine learning e come funziona, mentre qui ci concentriamo sugli algoritmi veri e propri.
Apprendimento supervisionato, non supervisionato e per rinforzo
Prima di entrare nei singoli algoritmi è utile capire le tre grandi categorie in cui si dividono. Nell’apprendimento supervisionato l’algoritmo impara da dati già etichettati, cioè da esempi in cui conosci sia gli ingressi sia la risposta corretta, e il suo compito è prevedere la risposta per casi nuovi. Nell’apprendimento non supervisionato i dati non hanno etichette, e l’algoritmo cerca da solo strutture, gruppi o regolarità nascoste. Nell’apprendimento per rinforzo, infine, un agente impara per tentativi ed errori interagendo con un ambiente e ricevendo ricompense o penalità, un approccio usato per esempio nei giochi e nella robotica. La maggior parte dei problemi che incontri nella pratica ricade nelle prime due categorie, ed è su quelle che concentriamo l’attenzione.
Gli algoritmi di apprendimento supervisionato
Sono i più diffusi, perché coprono i due compiti più comuni, prevedere un valore numerico, che si chiama regressione, e assegnare una categoria, che si chiama classificazione. Vediamo le famiglie principali.
Regressione lineare e regressione logistica
La regressione lineare è il punto di partenza di chiunque studi il machine learning. Cerca la relazione lineare tra alcune variabili di ingresso e un valore numerico da prevedere, per esempio stimare il prezzo di una casa a partire da metratura, zona e numero di stanze. È semplice, veloce e soprattutto interpretabile, perché ti dice quanto pesa ciascun fattore. La regressione logistica, nonostante il nome, serve invece alla classificazione, perché trasforma il risultato in una probabilità compresa tra zero e uno, ideale per rispondere a domande del tipo questa email è spam oppure no. Entrambe sono ottime basi di confronto, prima di passare a modelli più complessi conviene sempre vedere come se la cavano questi algoritmi semplici.
Alberi decisionali e foreste casuali
Un albero decisionale prende decisioni ponendo una sequenza di domande sui dati, come un diagramma di flusso, fino ad arrivare a una conclusione. Il suo grande pregio è la leggibilità, puoi seguire il ragionamento passo dopo passo. Il difetto è che un singolo albero tende a memorizzare i dati di addestramento e a generalizzare male. La soluzione si chiama foresta casuale, che combina molti alberi diversi e ne media le risposte, ottenendo previsioni più stabili e accurate. È un algoritmo robusto e versatile, spesso una delle prime scelte quando lavori con dati organizzati in tabelle.
Support vector machine e k-nearest neighbors
Le support vector machine cercano il confine che separa al meglio due classi, massimizzando la distanza tra il confine stesso e gli esempi più vicini. Grazie a particolari trasformazioni dette kernel riescono a gestire anche separazioni complesse e non lineari, e funzionano bene quando hai molte variabili ma non un numero enorme di esempi. L’algoritmo dei k vicini più prossimi, o k-nearest neighbors, adotta una logica diversa e intuitiva, per classificare un nuovo caso guarda gli esempi più simili già noti e adotta la categoria più frequente tra loro. È facile da capire, ma diventa lento quando il volume di dati cresce, perché deve confrontare ogni nuovo caso con tutti gli altri.
Naive Bayes e gradient boosting
Naive Bayes è un classificatore probabilistico basato sul teorema di Bayes, che assume in modo semplificato l’indipendenza tra le variabili. Nonostante questa ipotesi spesso irrealistica, funziona sorprendentemente bene su testi, ed è storicamente uno degli algoritmi più usati per filtrare lo spam o classificare documenti. Il gradient boosting rappresenta invece lo stato dell’arte per i dati tabellari, perché costruisce molti alberi in sequenza, ognuno dei quali corregge gli errori del precedente. Librerie come quelle dedicate al boosting sono spesso quelle che vincono le competizioni di data science, al prezzo di una maggiore complessità nella messa a punto dei parametri.
Gli algoritmi di apprendimento non supervisionato
Quando non disponi di etichette, l’obiettivo cambia, non vuoi più prevedere una risposta nota ma scoprire una struttura nascosta nei dati. Le due attività principali sono raggruppare elementi simili e ridurre la complessità delle informazioni.
Clustering: k-means e clustering gerarchico
Il clustering raggruppa i dati in insiemi omogenei. L’algoritmo k-means divide gli esempi in un numero prefissato di gruppi, assegnando ciascun punto al centro più vicino e aggiornando i centri in modo iterativo. È rapido ed efficace, ma richiede di decidere in anticipo quanti gruppi cercare. Il clustering gerarchico, invece, costruisce una struttura ad albero che unisce progressivamente gli elementi più vicini, lasciandoti libero di scegliere il livello di dettaglio dopo aver osservato il risultato. Questi metodi sono preziosi nel marketing per segmentare i clienti, oppure per individuare anomalie e comportamenti fuori norma.
Riduzione della dimensionalità
Quando i dati hanno moltissime variabili diventa difficile analizzarli e visualizzarli, e i modelli rischiano di confondersi. Le tecniche di riduzione della dimensionalità, come l’analisi delle componenti principali, comprimono l’informazione in poche dimensioni mantenendo il più possibile la varianza originale. È un passaggio utile sia per visualizzare dati complessi su un grafico a due dimensioni, sia come preparazione prima di applicare un altro algoritmo, perché riduce il rumore e accelera l’addestramento.
Le reti neurali e il deep learning
Una menzione a parte meritano le reti neurali, ispirate in modo lontano al funzionamento del cervello, che organizzano l’apprendimento in strati di unità interconnesse. Quando questi strati sono numerosi si parla di deep learning, la tecnologia dietro al riconoscimento delle immagini, alla traduzione automatica e ai modelli linguistici di grandi dimensioni. Le reti neurali eccellono con dati non strutturati come immagini, audio e testo, ma richiedono molti dati e molta potenza di calcolo, e sono meno interpretabili degli algoritmi classici. Se vuoi approfondire, abbiamo dedicato guide specifiche alle reti neurali artificiali e al deep learning, che restano la frontiera più avanzata del settore.
Come scegliere l’algoritmo giusto
Non esiste un algoritmo migliore in assoluto, esiste quello più adatto al tuo problema. La scelta dipende da alcuni fattori che conviene valutare prima di iniziare.
- Il tipo di compito, perché prevedere un numero, assegnare una categoria o raggruppare elementi richiede famiglie diverse di algoritmi.
- La quantità e la qualità dei dati, dato che alcuni metodi danno il meglio con pochi esempi puliti e altri hanno bisogno di grandi volumi.
- Il bisogno di interpretabilità, perché in settori delicati come la sanità o la finanza spiegare una decisione può contare quanto la sua accuratezza.
- Le risorse e i tempi a disposizione, visto che modelli complessi come il deep learning richiedono hardware adeguato e addestramenti lunghi.
Una regola pratica consolidata è partire sempre da un modello semplice come base di riferimento, e passare a soluzioni più sofisticate solo se i risultati lo giustificano. Spesso un buon algoritmo classico, alimentato con dati ben preparati, batte un modello complesso costruito in fretta.
Come si valuta un modello
Costruire un modello è solo metà del lavoro, l’altra metà è capire se funziona. Il principio fondamentale è non valutarlo mai sugli stessi dati con cui lo hai addestrato, ma su esempi nuovi, separando l’insieme di addestramento da quello di test, oppure usando la convalida incrociata che ripete la prova su porzioni diverse dei dati. Per i problemi di classificazione si guardano metriche come l’accuratezza, ma anche la precisione e il richiamo, che raccontano quanti casi positivi vengono individuati e con quanti falsi allarmi. Per la regressione si usano misure dell’errore medio tra valore previsto e valore reale. Il nemico da riconoscere è l’overfitting, quando il modello impara a memoria i dati di addestramento e crolla sui dati nuovi, contrapposto all’underfitting, quando il modello è troppo semplice per cogliere la struttura del problema. Trovare l’equilibrio tra questi due estremi è il cuore del mestiere.
Errori comuni da evitare
Anche con gli algoritmi giusti è facile inciampare. L’errore più frequente è la fuga di informazioni, quando dati che non saranno disponibili al momento della previsione finiscono per sbaglio nell’addestramento, gonfiando i risultati in modo illusorio. Un altro classico è lavorare con classi sbilanciate senza accorgersene, per esempio addestrare un rilevatore di frodi su dati in cui le frodi sono rarissime, ottenendo un modello che sembra accurato ma è inutile. Sottovalutare la preparazione dei dati è altrettanto pericoloso, perché la qualità delle variabili in ingresso conta spesso più della scelta dell’algoritmo. Per fissare bene i termini tecnici che incontri lungo il percorso può aiutarti il nostro glossario dell’intelligenza artificiale, un riferimento utile da tenere a portata di mano.
Conclusioni
Gli algoritmi di machine learning non sono formule magiche, ma strumenti con punti di forza e limiti precisi. Conoscere le grandi famiglie, dalla regressione lineare alle foreste casuali, dal clustering alle reti neurali, ti permette di scegliere con criterio e di dialogare con cognizione di causa con chi sviluppa questi sistemi. Il consiglio più importante resta sempre lo stesso, parti dai dati e dal problema, non dall’algoritmo di moda, e misura ogni passaggio con onestà. Se vuoi continuare a costruire le tue competenze, esplora le altre guide del sito dedicate alle tecnologie dell’intelligenza artificiale e mettiti alla prova con un piccolo progetto pratico, perché è facendo che questi concetti diventano davvero tuoi.
Intelligenza Artificiale Tutto su AI e machine learning