MimìrCast: le novità sull’AI ogni giorno
Ascolta il podcast ➔
Cos'è il machine learning: la regola non è scritta, è calcolata

Cos’è il machine learning: la regola non è scritta, è calcolata

Tre mesi fa hai spostato nella cartella spam tre email che promettevano un rimborso. Non hai scritto nessuna regola, non hai toccato nessuna impostazione. Poi, una mattina, una quarta email dello stesso tipo, mittente diverso, oggetto diverso, allegato diverso, è finita nello spam da sola. Nessun programmatore, in quel momento, ha aggiunto una riga di codice per te. È da qui che conviene partire per capire cos’è il machine learning: da un programma che ha cambiato il proprio modo di decidere senza che nessuno gli riscrivesse le istruzioni. La domanda vera non è come si chiama la cosa. È: da dove è uscita quella decisione?

In questo articolo scoprirai:

  • Come il filtro spam impara dai tuoi gesti senza che tu lo sappia
  • Come funziona il machine learning: la regola è calcolata, non scritta
  • I numeri di Paul Graham: 626 esempi contro 20.000 nel filtro spam
  • Tre modelli a confronto: spam bloccato e posta legittima persa
  • Le tre tipologie di machine learning e cosa cambia in pratica
  • Esempi di machine learning che già usi: Gmail, raccomandazioni e chatbot
  • Quando il machine learning non è la risposta: i tre limiti reali

Come il filtro spam impara dai tuoi gesti senza che tu lo sappia

Prova a ricostruire cosa è accaduto. Tu hai fatto tre gesti: tre email marcate come indesiderate. Il sistema, da quei tre gesti, ha ricavato qualcosa che tu non hai mai formulato, nemmeno a te stesso. Se ti chiedessero «qual è la regola che riconosce quelle email?», non sapresti dirla. Contengono la parola «rimborso»? Anche l’email dell’Agenzia delle Entrate la contiene. Vengono da mittenti sconosciuti? Anche il preventivo del fornitore nuovo. Non esiste una singola parola che separi lo spam dalla posta vera, e questo è esattamente il motivo per cui la regola non è stata scritta a mano.

Machine learning in banca, sulla tastiera e nei cataloghi

Lo stesso comportamento lo hai visto altrove, con la stessa forma. La banca blocca la carta al primo pagamento fatto all’estero, e nessuno in filiale ha scritto «se transazione in Portogallo allora blocca». La tastiera del telefono, dopo qualche settimana, ti propone il cognome del tuo cliente prima che tu abbia digitato la seconda lettera. Il sito dove compri le scarpe da corsa ti mostra i calzini a compressione e non le infradito.

In tutti questi casi il programma fa una cosa che nessuno gli ha detto di fare in modo esplicito, e la fa meglio col tempo. Ed è qui che casca la spiegazione da manuale: «il computer impara» non spiega niente, perché non dice cosa cambia dentro la macchina fra ieri e oggi. Qualcosa cambia, ed è una cosa precisa, contabile, che si può guardare. Non è un’intuizione, non è esperienza: è un insieme di numeri che si sono spostati. Le prossime sezioni servono a dire quali numeri, di quanto, e con quale conto.

Il contrasto è con la programmazione tradizionale, in cui ogni regola viene scritta a mano: la definizione classica sta in cos’è un algoritmo.

Come funziona il machine learning: la regola è calcolata, non scritta

Il machine learning è un modo di costruire software in cui il programmatore non scrive la regola di decisione, ma scrive il procedimento che la ricava dagli esempi: si dà al sistema una gran quantità di casi già risolti, email con l’etichetta «spam» o «non spam», e un metodo per misurare quanto sbaglia, e il sistema aggiusta migliaia o milioni di numeri interni, chiamati pesi, finché l’errore misurato smette di scendere. Quei pesi sono la regola: nessuno li ha battuti a tastiera, sono il risultato di un calcolo.

La documentazione di Google per sviluppatori lo dice in una riga: «Il machine learning è il processo di addestrare un pezzo di software, chiamato modello, a fare previsioni utili o generare contenuti a partire dai dati» (Google for Developers). Nella stessa pagina c’è l’esempio più chiaro del rovesciamento: per prevedere la pioggia col metodo classico «costruiremmo una rappresentazione fisica dell’atmosfera terrestre e della superficie, calcolando enormi quantità di equazioni di fluidodinamica. È incredibilmente difficile». Col machine learning, invece, «daremmo al modello quantità enormi di dati meteorologici finché il modello non ha imparato la relazione matematica fra le configurazioni del tempo che producono quantità di pioggia diverse».

Programmazione classica e machine learning: cosa entra e cosa esce Programmazione classica: la regola entra Regole scritte Dati (le email) Programma Risposta: spam / non spam Se sbaglia, la regola la riscrive una persona. Machine learning: la regola esce Dati (le email) Etichette già date Addestramento La regola: i pesi errore misurato → i pesi si spostano → si rimisura Se sbaglia, non si riscrive il codice: si rifà girare il ciclo con più esempi.

Il ciclo tratteggiato nella figura è il cuore della cosa, e ha un nome: si misura l’errore su un mucchio di esempi, si calcola in che direzione muovere ogni peso per farlo scendere, si muove, si rimisura. Il metodo con cui si decide la direzione è la discesa del gradiente, e la matematica che consente di farlo su milioni di numeri in parallelo è algebra lineare, non magia. Il programma non impara: viene addestrato, e la differenza fra i due verbi è tutta in chi tiene il conto dell’errore.

Che differenza c’è tra intelligenza artificiale, machine learning e deep learning

Sono tre cerchi uno dentro l’altro, e la parola chiave che li distingue è «come si ottiene la regola». L’intelligenza artificiale è il campo intero, e comprende anche sistemi in cui le regole le scrivono gli umani (i vecchi sistemi esperti, un motore a regole antifrode). Il machine learning è il sottoinsieme in cui le regole si ricavano dai dati. Il deep learning è il sottoinsieme del machine learning in cui il modello è una rete neurale a molti strati, che si costruisce da sola le caratteristiche da guardare invece di riceverle già scelte. Un filtro antispam del 2003 è machine learning e non deep learning. Se la distinzione fra impianti diversi ti serve per una decisione pratica, la trattiamo per esteso nella guida alle differenze tra AI generativa e AI tradizionale.

I numeri di Paul Graham: 626 esempi contro 20.000 nel filtro spam

Qui serve un numero vero, e per fortuna esiste una delle misure meglio documentate della storia del machine learning applicato, fatta su un problema che hai in tasca. Nel 2003 Paul Graham pubblica i risultati del suo filtro bayesiano e li mette a confronto con il lavoro accademico che l’aveva preceduto.

Il filtro di Pantel e Lin, scrive Graham, «prendeva solo il 92% dello spam, con l’1,16% di falsi positivi», ed era stato addestrato su 160 email di spam e 466 di posta legittima, 626 esempi in tutto. Il suo, addestrato su «circa 10.000 email di ciascun tipo» (dunque intorno ai 20.000 esempi, 32 volte tanti), riporta: «Tra il 10 dicembre 2002 e il 10 gennaio 2003 ho ricevuto circa 1.750 spam. Di questi, 4 sono passati. Il che è un tasso di filtraggio di circa il 99,75%», con «cinque falsi positivi in totale, su circa 7.740 email legittime, un tasso dello 0,06%» (Paul Graham, sul filtraggio bayesiano).

Ora il passaggio che rende quei decimali una cosa che senti addosso. Prendi il tasso di falsi positivi dei due sistemi e applicalo allo stesso volume di posta vera, le 7.740 email legittime di Graham. Con l’1,16%: 7.740 × 0,0116 = 89,8 email vere buttate via, in pratica 90 . Con lo 0,06%: 4,6, cioè le 5 che riporta. Novanta contro cinque: diciotto volte più posta legittima persa , a fronte di una differenza di «accuratezza» che sulla carta sembra una sciocchezza (92% contro 99,75%). Un avvertimento onesto: questo è un trasporto di tasso, prendo il numero di un sistema e lo applico al volume dell’altro, non una misura fatta sullo stesso impianto, ed è un nostro calcolo sui dati pubblicati da Paul Graham nel 2003 .

E c’è un secondo confondimento, che va detto perché è

E c’è un secondo confondimento, che va detto perché è esattamente l’errore che questo articolo insegna a non fare: i due filtri non sono lo stesso impianto con più esempi, sono due filtri diversi, e la differenza Graham non la attribuisce prima di tutto al volume dei dati ma al metodo, «penso che la differenza più importante sia probabilmente che loro ignoravano le intestazioni dei messaggi», scrive, e descrive il proprio lavoro come «per lo più… una tokenizzazione più intelligente» ( Paul Graham, «Better Bayesian Filtering» ). Il conto serve a dare la scala di cosa significano quei decimali, non a certificare una classifica né a dire che sono i dati, da soli, a produrre il salto.

Perché l’accuratezza da sola è il numero più ingannevole del machine learning

Rifai il conto al contrario. Immagina una casella con 10.000 email, di cui 1.000 spam. Un modello che risponde sempre «non è spam», senza guardare nulla, ne indovina 9.000 su 10.000: 90% di accuratezza, e zero spam intercettato. È un modello inutile con una pagella eccellente. È il motivo per cui chi lavora seriamente guarda quanti veri positivi e quanti falsi positivi ci sono, mai la sola percentuale di risposte giuste, e il modo di farlo bene, con le metriche che contano caso per caso, lo abbiamo messo nella guida su come valutare un modello AI sui tuoi dati.

Tre modelli a confronto: spam bloccato e posta legittima persa

Tre filtri antispam a confronto: spam intercettato e posta legittima persa su 7.740 email Lo stesso problema, tre modelli Modello Spam intercettato Email vere perse (su 7.740) Modello pigro dice sempre «non è spam» 0% 0 Filtro Pantel, Lin addestrato su 626 esempi 92% ≈ 90 Filtro Graham addestrato su ≈ 20.000 esempi 99,75% 5 Due filtri diversi, non lo stesso impianto con più dati: 92% contro 99,75%, e 18 volte meno posta vera persa. Dati riportati in P. Graham, «Better Bayesian Filtering», 2003. Le 90 email sono il tasso 1,16% applicato alle 7.740 email legittime: è una stima di scala, non una misura sullo stesso sistema.

Detto questo, la quantità di dati conta davvero, e su Pantel, Lin lo dice Graham stesso: «Una è semplicemente che hanno addestrato il loro filtro su pochissimi dati: 160 email di spam e 466 di posta legittima. Le prestazioni di un filtro dovrebbero essere ancora in salita con insiemi di dati così piccoli» (Paul Graham, «Better Bayesian Filtering»). Tradotto: con 626 esempi non sei arrivato al limite del metodo, sei arrivato al limite dei tuoi dati, e ogni esempio in più sposta ancora l’ago.

C’è poi una seconda contabilità, e la pubblica Google nella sua guida operativa: «il numero di pesi che puoi imparare in un modello lineare è più o meno proporzionale alla quantità di dati che hai». Con circa mille esempi si lavora con una dozzina di caratteristiche costruite a mano; con un milione di esempi si passa a centinaia di migliaia di caratteristiche con regolarizzazione; con miliardi di esempi si arriva all’ordine dei dieci milioni (Rules of Machine Learning). Non è un dettaglio da ingegneri: è la ragione per cui lo stesso metodo, con dieci volte i dati, produce un prodotto diverso.

Le tre tipologie di machine learning e cosa cambia in pratica

Cambia una cosa sola, ma decide tutto il resto: che informazione dai al sistema per misurare l’errore. Da lì escono tre mestieri diversi.

  • Apprendimento supervisionato. Gli dai gli esempi con la risposta giusta accanto. Il filtro antispam è questo: 10.000 email marcate «spam», 10.000 marcate «buona». La documentazione di Google lo descrive così: i modelli «fanno previsioni dopo aver visto molti dati con le risposte corrette, scoprendo poi le connessioni fra gli elementi dei dati che producono quelle risposte» (Google for Developers). È la famiglia che copre la stragrande maggioranza del software in produzione oggi: prevedere un prezzo, riconoscere una firma, stimare un tempo di consegna.
  • Apprendimento non supervisionato. Gli dai i dati senza risposte e gli chiedi di trovare la struttura: quali clienti si somigliano, quali transazioni stanno fuori dal mucchio. Non c’è un «giusto» da confrontare, e questo rende la valutazione molto più scivolosa.
  • Apprendimento per rinforzo. Non gli dai la risposta, gli dai un punteggio dopo che ha agito: premio o penalità. È il metodo con cui si addestra un sistema a giocare, a guidare un robot, o a scegliere quale risposta preferire fra due.

Come scegliere il tipo di machine learning per il tuo problema

Se devi decidere quale dei tre serve al tuo problema, ed è la decisione più costosa da sbagliare, perché ti vincola il tipo di dati che devi raccogliere per mesi, abbiamo dedicato un pezzo intero al confronto fra apprendimento supervisionato, non supervisionato e per rinforzo. La regola spiccia: se puoi procurarti le etichette, procuratele. Un problema supervisionato è un problema che sai misurare, e un problema che sai misurare è un problema che puoi migliorare.

Esempi di machine learning che già usi: Gmail, raccomandazioni e chatbot

Il primo posto è quello da cui siamo partiti, e la scala è pubblica. Google dichiara che i suoi sistemi «bloccano più del 99,9 per cento di spam, phishing e malware prima che raggiungano le caselle di Gmail», e racconta che passando i propri filtri a TensorFlow «ora blocchiamo circa 100 milioni di messaggi di spam in più ogni giorno», intercettando categorie che prima sfuggivano: messaggi basati su immagini, email con contenuto nascosto, invii da domini appena creati (Google Workspace Blog). Cento milioni al giorno è il guadagno marginale di un cambio di impianto, non il totale: ed è il modo più diretto di vedere che quei pesi non sono un dettaglio implementativo.

Il secondo posto è ogni catalogo che hai sfogliato negli ultimi dieci anni. Il motore di raccomandazione di un servizio di streaming o di un e-commerce non contiene la regola «a chi compra scarpe da corsa proponi calzini»: contiene un modello addestrato su milioni di sequenze di acquisto e visione. Il terzo posto è quello che oggi occupa tutte le conversazioni: un large language model è machine learning, non un parente lontano. La differenza è la scala e l’obiettivo di addestramento, prevedere il pezzo di testo successivo invece di una categoria, e il fatto che in uscita ci sia testo nuovo invece di un’etichetta è ciò che lo colloca nell’intelligenza artificiale generativa.

Il ciclo, però, è sempre quello della figura. Se vuoi seguirlo passo per passo, dal testo che entra al testo che esce, c’è il nostro pezzo su come funziona davvero un modello di AI.

Machine learning in medicina: perché lì il numero che conta non è mai l’accuratezza

La medicina è il caso che mostra meglio la conseguenza del conto di prima. Su una malattia che colpisce una persona su mille, un modello che dice sempre «sano» ha il 99,9% di accuratezza. Per questo negli usi clinici non si guarda mai quella percentuale, ma quanti malati vengono trovati (sensibilità) e quanti sani vengono allarmati per niente (specificità), e si decide dove tarare la soglia in base a quale dei due errori costa di più. Un modello identico può essere ottimo per uno screening e inaccettabile per una diagnosi, senza che nei suoi pesi cambi un solo numero: cambia soltanto la soglia con cui si legge la sua uscita.

Quando il machine learning non è la risposta: i tre limiti reali

Tre limiti, e sono quelli che separano chi ha capito da chi ripete.

Primo: molto spesso non serve. La prima delle regole operative pubblicate da Google è, letteralmente, «non aver paura di lanciare un prodotto senza machine learning», e il ragionamento è aritmetico: «se pensi che il machine learning ti darà un miglioramento del 100%, allora un’euristica ti porterà a metà strada» (Rules of Machine Learning). Metà del risultato per una frazione del costo, e con un sistema che chiunque può leggere. Il machine learning conviene quando la regola scritta a mano diventa ingestibile, non quando è semplicemente noiosa da scrivere.

I limiti del machine learning quando cambiano i dati

Secondo: il modello impara la regola dei dati che ha visto, non del mondo. Se copia troppo fedelmente gli esempi di addestramento diventa perfetto sul passato e cieco sul futuro: è l’overfitting, e si riconosce con un conto, l’errore sui dati visti scende mentre quello sui dati mai visti risale. E anche un modello sano si degrada da solo quando il mondo si muove: gli spammer cambiano tattica, il tuo catalogo cambia, i tuoi clienti cambiano. Nessuno ha rotto niente, sono cambiati i dati.

Il machine learning non impara mentre lo usi

Terzo, e qui la spiegazione di questo articolo va dichiarata falsa: «impara dai dati» non significa «impara mentre lo usi». Se durante una conversazione spieghi una cosa a un assistente conversazionale, i suoi pesi non si muovono di un millesimo: sono congelati dalla fine dell’addestramento. Quello che vedi in chat non è apprendimento, è un testo che resta in vista finché sta nella finestra di contesto, e appena esce, sparisce. Chi confonde le due cose finisce per aspettarsi che un sistema «migliori usandolo», e non succede: succede solo se qualcuno raccoglie i tuoi dati, riaddestra e ripubblica. Vale la stessa avvertenza per la storia: la parola circola dagli anni Cinquanta (è attribuita ad Arthur Samuel, allora in IBM), e ripercorrere la storia dell’intelligenza artificiale serve proprio a vedere quante volte questa confusione è già stata fatta.

Machine learning in azienda: il ciclo va tenuto in piedi

Messi insieme, questi tre limiti dicono una cosa sola sul piano pratico: un sistema di machine learning non è un prodotto che si installa e si dimentica, è un ciclo che va tenuto in piedi, misura di partenza, monitoraggio, riaddestramento quando i numeri scendono. È anche il motivo per cui, in mimir.bot, insieme al prodotto forniamo l’onboarding assistito e l’accompagnamento nel tempo: senza qualcuno che tenga il conto dell’errore, il ciclo della figura si ferma al primo giro. Se ti interessa come si struttura questo lavoro dentro un’azienda, ne parliamo negli agenti AI su misura.

Fonti:

Domande frequenti

ChatGPT è machine learning?

Sì, senza riserve. È un modello addestrato su enormi quantità di testo con lo stesso ciclo di un filtro antispam: previsione, misura dell'errore, correzione dei pesi. La differenza è la scala e l'obiettivo di addestramento, non il metodo.

Machine learning e deep learning sono la stessa cosa?

No: il deep learning è un sottoinsieme del machine learning, quello in cui il modello è una rete neurale a molti strati che si costruisce da sola le caratteristiche da guardare. Molto machine learning utile, come il filtro antispam del 2003 addestrato su poche migliaia di esempi, non è deep learning.

Quanti dati servono per iniziare?

Dipende da quanti pesi vuoi imparare: secondo Google il numero di pesi apprendibili in un modello lineare è più o meno proporzionale alla quantità di dati disponibili. Con circa mille esempi si sta su una dozzina di caratteristiche costruite a mano. Sotto quella soglia conviene partire da un'euristica semplice e misurarla.

Come si capisce se un modello funziona?

Mai dall'accuratezza da sola: un modello che risponde sempre «non è spam» su una casella con il 10% di spam ha il 90% di accuratezza e non intercetta nulla. Servono l'errore su dati mai visti, il conteggio separato di falsi positivi e falsi negativi, e una decisione esplicita su quale dei due errori costa di più nel tuo caso.

Tabella dei contenuti
Articoli correlati:
Vuoi che l'AI diventi il tuo motore di valore più potente?

Ti accompagniamo noi con Mimír AI Agent.