Che cos’è il machine learning e quando ha senso applicarlo
Il machine learning è la disciplina dell’intelligenza artificiale che permette ai sistemi di apprendere schemi dai dati storici e di usare quanto appreso per prendere decisioni o fare previsioni su dati nuovi. A differenza della programmazione tradizionale, in cui il programmatore codifica esplicitamente le regole, nel machine learning è il sistema a ricavare le regole dagli esempi.
Questo ha implicazioni pratiche importanti per le aziende: il machine learning è efficace quando esiste un problema ricorrente, si dispone di dati storici sufficienti su quel problema e le regole sono troppo complesse o mutevoli per essere codificate a mano. Non è lo strumento adatto a ogni problema, e parte del lavoro di implementazione consiste nell’aiutare a capire quando il machine learning porta un valore reale e quando una soluzione più semplice è più efficiente.
Tipi di machine learning e applicazioni aziendali
Apprendimento supervisionato: il modello apprende da esempi etichettati, cioè dati storici di cui conosciamo il risultato corretto. È il tipo più comune nelle applicazioni aziendali:
- Classificazione: questo cliente abbandonerà? Questa transazione è fraudolenta? Questo componente si guasterà?
- Regressione: quante unità si venderanno il mese prossimo? Qual è il prezzo ottimale per questo prodotto?
Apprendimento non supervisionato: il modello individua una struttura in dati privi di etichette. È utile per la segmentazione dei clienti, il rilevamento di anomalie e la compressione dei dati.
Apprendimento per rinforzo: il modello apprende per tentativi ed errori in un ambiente simulato. Si applica all’ottimizzazione di processi complessi, anche se è meno frequente nelle aziende di medie dimensioni.
Il ciclo di vita di un modello di machine learning
Un progetto di machine learning non finisce quando il modello ottiene buone metriche nell’ambiente di sviluppo. Il ciclo completo comprende fasi che molti progetti sottovalutano.
Definizione del problema: tradurre il problema di business in un problema di machine learning ben definito. Che cosa stiamo prevedendo esattamente? Qual è la variabile obiettivo? Quale periodo di tempo è rilevante? È una fase critica che richiede una stretta collaborazione tra il team tecnico e il business.
Preparazione dei dati: raccolta, integrazione, pulizia e trasformazione dei dati necessari. Nelle implementazioni reali questa fase assorbe la maggior parte del tempo del progetto.
Selezione e addestramento del modello: sperimentazione con algoritmi e configurazioni diversi, validazione incrociata per stimare le prestazioni reali, ottimizzazione degli iperparametri.
Valutazione: misurazione delle prestazioni con metriche rilevanti per il business, non solo tecniche. Un modello con il 95% di precisione può essere inutile se il 5% di errori riguarda proprio i casi più costosi.
Messa in produzione: integrazione del modello nei sistemi e nei processi operativi dell’azienda tramite API, job batch o integrazione con ERP e CRM.
Monitoraggio continuo: i dati del mondo reale cambiano nel tempo. Un modello addestrato due anni fa può aver perso precisione perché gli schemi che aveva appreso non sono più validi. Il monitoraggio delle prestazioni in produzione è essenziale.
Quando il machine learning e quando altre soluzioni
Il machine learning non è sempre la risposta. Per le aziende che valutano se sia adatto al proprio problema, le domande chiave sono: disponiamo di dati storici sufficienti (in genere, almeno qualche migliaio di esempi)? Il problema è troppo complesso per regole manuali? Il valore generato da una maggiore precisione giustifica il costo di sviluppo e manutenzione?
Se la risposta a una di queste domande è no, un sistema di regole ben progettato, un’analisi statistica classica o una soluzione di analytics standard possono essere più appropriati e meno costosi.
Domande frequenti
Quanti dati servono per addestrare un modello di machine learning?
Dipende dal tipo di problema e dalla complessità del modello. Come riferimento indicativo, i modelli di classificazione binaria semplici possono funzionare in modo accettabile con qualche migliaio di esempi. I problemi più complessi ne richiedono decine o centinaia di migliaia. Per problemi molto specifici di un settore esistono tecniche di transfer learning che sfruttano modelli preaddestrati su grandi volumi di dati generici, adattandoli con una quantità più limitata di dati aziendali.
Possiamo usare modelli di machine learning senza dati propri?
È possibile partire da modelli preaddestrati o da modelli di settore che si adattano con pochi dati aziendali. Tuttavia i risultati migliori si ottengono sempre con modelli addestrati sui dati specifici del business, perché colgono le particolarità di ogni azienda e di ogni mercato.
Che cosa succede quando il modello inizia a dare risultati peggiori in produzione?
È il fenomeno noto come model drift o data drift. Le prestazioni di un modello in produzione vanno monitorate in modo sistematico. Quando si rileva un peggioramento, le opzioni sono il riaddestramento con dati più recenti, la revisione delle variabili di input oppure, in caso di cambiamenti strutturali del business, la riprogettazione del modello a partire dalle ipotesi iniziali.