🧠 Intelligenza artificiale

Machine learning spiegato semplice: imparare dagli esempi

Cos'è il machine learning, in cosa differisce dalla programmazione classica e quali sono i tipi di apprendimento: supervisionato e non, rinforzo.

Il termine machine learning, in italiano apprendimento automatico, viene spesso usato come sinonimo di intelligenza artificiale. In realtà è una sua parte, oggi la più importante: l'insieme delle tecniche con cui un computer impara a svolgere un compito a partire da esempi, invece di seguire regole scritte a mano da un programmatore. Vediamo cosa significa in concreto, senza formule.

Programmare regole contro imparare dagli esempi

Immagina di dover scrivere un programma che riconosca le email di spam. Con l'approccio tradizionale scriveresti regole esplicite: "se il messaggio contiene la parola vincita e un link, allora è spam". Funziona per un po', poi chi invia spam cambia parole e le regole diventano un groviglio impossibile da mantenere.

Con il machine learning il ragionamento si capovolge. Raccogli migliaia di email già classificate come "spam" o "non spam", le dai a un algoritmo e lasci che sia lui a trovare quali caratteristiche distinguono le due categorie. Il risultato è un modello: una funzione matematica che, ricevuta una nuova email, restituisce la probabilità che sia spam.

La differenza chiave è questa:

  • nella programmazione classica fornisci regole e dati e ottieni risposte;
  • nel machine learning fornisci dati e risposte e ottieni le regole, sotto forma di modello.

Gli ingredienti di base

Ogni progetto di machine learning ruota attorno a pochi elementi.

  1. I dati. Sono gli esempi da cui il modello impara. Ogni esempio è descritto da caratteristiche (in inglese features): per una casa potrebbero essere metri quadri, numero di stanze, quartiere, anno di costruzione.
  2. L'etichetta. È la risposta corretta associata all'esempio, come il prezzo di vendita della casa.
  3. L'algoritmo. È il procedimento che cerca la relazione tra caratteristiche ed etichetta. Esistono molte famiglie: regressione lineare, alberi decisionali, reti neurali e altre.
  4. La funzione di errore. Misura quanto le previsioni del modello si discostano dalla realtà. L'addestramento consiste nel ridurre questo errore passo dopo passo.

I tre grandi tipi di apprendimento

Apprendimento supervisionato

È il caso più comune. Ogni esempio ha la sua etichetta e il modello impara a prevederla. Si divide in due compiti principali: la classificazione, quando la risposta è una categoria (spam o non spam, transazione regolare o sospetta), e la regressione, quando è un numero (prezzo, temperatura, tempo di consegna).

Apprendimento non supervisionato

Qui le etichette non ci sono. Il modello cerca strutture nascoste nei dati. Un esempio tipico è il clustering: un negozio online può raggruppare i clienti in base alle abitudini d'acquisto senza sapere in anticipo quali gruppi esistano. Scoprirà magari che c'è chi compra solo in saldo e chi acquista spesso piccoli importi.

Apprendimento per rinforzo

Il modello, chiamato agente, agisce in un ambiente e riceve premi o penalità in base ai risultati. Nel tempo impara una strategia che massimizza i premi. È l'approccio usato per insegnare a un sistema a giocare a scacchi o a controllare un braccio robotico in simulazione.

Tipo Dati necessari Esempio pratico
Supervisionato Esempi con risposta corretta Stimare il prezzo di un immobile
Non supervisionato Esempi senza etichetta Segmentare i clienti
Per rinforzo Ambiente e sistema di premi Ottimizzare una strategia di gioco

Addestramento, validazione e test

Un errore frequente di chi inizia è valutare il modello sugli stessi dati usati per addestrarlo. Sarebbe come preparare uno studente dandogli in anticipo le domande esatte dell'esame: prenderebbe un ottimo voto senza aver capito nulla.

Per questo i dati si dividono di solito in tre parti:

  • addestramento, per insegnare al modello;
  • validazione, per scegliere le impostazioni migliori durante lo sviluppo;
  • test, tenuto da parte fino alla fine, per misurare come si comporterà su dati mai visti.

Overfitting e underfitting

Un modello che impara troppo bene i dati di addestramento, compresi rumore e casualità, soffre di overfitting: è bravissimo sugli esempi noti e mediocre su quelli nuovi. Al contrario, un modello troppo semplice soffre di underfitting e sbaglia sempre, anche sugli esempi che conosce. L'obiettivo è il punto di equilibrio in cui il modello generalizza, cioè coglie lo schema vero e non i dettagli accidentali.

Dove lo incontri ogni giorno

Il machine learning è già in moltissimi servizi comuni, spesso senza che tu te ne accorga:

  • i filtri antispam della posta elettronica;
  • i suggerimenti di film, musica e prodotti;
  • il riconoscimento vocale degli assistenti sul telefono;
  • la stima dei tempi di percorrenza nelle app di navigazione;
  • i sistemi bancari che segnalano pagamenti anomali con la carta.

Cosa il machine learning non fa

Un modello impara solo ciò che è presente nei dati. Se i dati sono scarsi, sbilanciati o vecchi, il modello erediterà questi limiti. Non "ragiona" sul mondo in senso umano: trova correlazioni. Una correlazione utile per prevedere non è necessariamente una causa, e confondere le due cose porta a decisioni sbagliate. Per questo, accanto alla tecnica, servono sempre persone che conoscano il dominio e sappiano interpretare i risultati.

In sintesi

  • Il machine learning permette ai computer di imparare compiti dagli esempi invece che da regole scritte a mano.
  • I tre tipi principali sono apprendimento supervisionato, non supervisionato e per rinforzo.
  • Un modello va valutato su dati che non ha mai visto, per evitare l'overfitting.
  • La qualità del risultato dipende dalla qualità dei dati e dall'interpretazione umana.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche