La definizione corrente indica i modelli di machine learning come insieme di funzioni omogenee che, a partire dal un set di dati fornito in ingresso, sono in grado di generare l’output desiderato sotto forma di previsioni o azioni intelligenti. Per creare modelli di machine learning si impiegano tre fondamentali tipologie di formazione – supervisionata, semi supervisionata e non supervisionata -, che differiscono per il modo con cui sono acquisite le “verità di base” (ground truth, nel linguaggio specialistico), ossia le conoscenze empiriche che da un insieme di dati in ingresso producono il risultato atteso.
Mentre con l’apprendimento supervisionato e semi supervisionato il modello di machine learning è creato in base a conoscenze fornite in modo più o meno completo al sistema, nel non supervisionato il modello viene creato a partire dalla struttura stessa dei dati: l’apprendimento si traduce in un processo d’identificazione delle strutture (pattern) che sono presenti all’interno dei dati forniti.
La creazione di un modello di machine learning richiede quindi una serie di azioni che riguardano la selezione del dataset da impiegare per il training, l’elaborazione dei dati da parte dell’algoritmo di machine learning, il controllo di ciò che l’algoritmo ha imparato (se è sufficiente per l’impiego previsto o se serve altro training) e il tuning dei parametri per migliorare l’accuratezza del risultato.
Poiché parliamo di AI applicata all’impresa, ossia di contesti sollecitati da cambiamenti del mercato e di business, è importante che la creazione dei modelli di machine learning avvenga all’interno di un processo organizzato che comprenda monitoraggio e ottimizzazione. I modelli hanno anch’essi un ciclo di vita che va correttamente gestito per poter garantire l’alta qualità dei risultati.
Training e monitoraggio, le chiavi per modelli di machine learning che funzionano
La capacità di misurare la qualità del risultato è un aspetto fondamentale nell’impiego di un modello di machine learning. Per questo serve identificare i KPI più direttamente collegati con gli scopi per cui è realizzato il sistema: pensiamo al numero di acquisti che i clienti fanno su un sito di e-commerce, alle anomalie correttamente segnalate nel funzionamento di impianto o di un sistema antifrode.
La scelta dei parametri di controllo e il monitoraggio nel corso della vita operativa del modello sono un modo per accorgersi in tempo dell’obsolescenza e della necessità d’interventi significativi sull’algoritmo e sul training. I dati usati per il training potrebbero non essere distribuiti uniformemente nei nuovi scenari di applicazione o non essere più rappresentativi per l’obiettivo voluto. Nel caso dell’apprendimento non supervisionato, la presenza di dati errati o situazioni anomale ripetute potrebbe compromettere la base di conoscenza, inducendo il modello a produrre risultati arbitrari.
L’ottimizzazione dei modelli di machine learning con gli iperparametri
L’ottimizzazione è un aspetto fondamentale per ottenere dei modelli di machine learning efficaci, ma anche un compito molto complesso che normalmente richiede tempo e impegno. Un algoritmo di machine learning normalmente opera con due parametri:
- il primo tipo riguarda ciò che il sistema ha appreso attraverso la fase di training,
- il secondo le speciali indicazioni (chiamate iperparametri) che il data scientist ha direttamente fornito al modello di machine learning.
Così come è cruciale nei progetti scegliere il modello di machine learning adatto ai compiti e a ciò che si vuole realizzare, per ottenere valide capacità di predizione dal modello occorre dedicare impegno nel fare il tuning degli iperparametri. Il modo più comune per realizzare la giusta combinazione di parametri e iperparametri è la grid search cross validation. Si tratta di realizzare una griglia contenente un dizionario di tutti i parametri e il corrispondente set di valori per garantire le migliori performance.
Il segreto è trovare le combinazioni dei valori dei parametri che portano a ottenere un modello più accurato. Questo lavoro di ricerca viene fatto specificando una serie di parametri “candidati” e quindi testando le diverse combinazioni, fino a identificare quelle che restituiscono il risultato di qualità migliore.