Il Machine Learning sembra essere diventato negli ultimi anni uno dei migliori “strumenti” in grado di aumentare considerevolmente la competitività aziendale.  Per stare al passo dei migliori, incrementare l’efficienza e moltiplicare la redditività, le imprese devono dunque necessariamente rimanere aggiornate.

Questo primo articolo sarà un’introduzione al Machine Learning: faremo chiarezza su cosa sia, quali strumenti utilizzi e come funzioni nella pratica. Introdurremo inoltre il modello circolare in 5 step che adottiamo per aiutare i nostri clienti.

Come affrontare un progetto di Machine Learning

Analogamente allo sviluppo agile, ampiamente utilizzato nell’ambito dell’ingegneria del software, una metodologia di lavoro dimostratasi molto efficace nell’affrontare progetti di machine learning è quella di procedere per piccoli passi, in modo iterativo.

L’intero progetto può essere quindi diviso in cinque diverse fasi di azione: l’incontro conoscitivo, la fase di approfondimento, lo sviluppo di un modello di machine learning, la fase di test ed infine la produzione.

Incontro conoscitivo

L’incontro conoscitivo è il primo punto di contatto tra data scientist e azienda.

Lo scopo di questo incontro è trovare la miglior intersezione tra l’insieme dei bisogni dell’azienda e quello dei problemi che possono essere affrontati efficacemente con le tecniche di machine learning.

Per questo motivo è richiesta la presenza di una persona con profonde conoscenze dei problemi e dei bisogni dell’azienda, che possa quindi dare una stima del ritorno sull’investimento (ROI) associato ad un particolare progetto.

Un modello di machine learning può essere estremamente performante, ma se l’impatto economico o produttivo relativamente al business è basso, il progetto avrà uno scarso valore.

Allo stesso modo possono esistere problemi molto impattanti sul business, ma non adatti ad un approccio analitico. In questi casi, un modello di machine learning sarà poco efficace ed ancora una volta il progetto avrà complessivamente uno scarso valore.

Proprio per questo il dialogo è l’elemento fondamentale dell’incontro conoscitivo: in questo contesto possono infatti nascere nuove idee, anche grazie al fatto che le varie intuizioni vengono analizzate sotto la luce di competenze diverse e possono così maturare e concretizzarsi in progetti reali.

Al fine di valutare al meglio le possibilità di un approccio di machine learning ad un determinato problema, durante l’incontro conoscitivo è fondamentale la presenza di personale che conosca quali sono i dati a disposizione dell’azienda, dove e come reperirli, ed infine quanto essi siano affidabili e puliti.

Fase di approfondimento

Il fine della fase di approfondimento è quello di definire gli obiettivi di uno o più idee maturate durante l’incontro conoscitivo. In questo contesto ci si chiede:

Durante questa fase è inoltre importante, quando possibile, suddividere l’intero progetto in step più piccoli, in modo da ottenere nel più breve tempo possibile feedback riguardanti l’efficacia di un dato modello. Questo permette di iterare più velocemente tra le fasi del progetto, riducendo il tempo necessario a giungere ad un modello in grado di creare valore.

Lo scopo della fase di approfondimento è quello di redigere una tabella di inizio progetto, nella quale vengono indicati uno o più obiettivi del progetto di machine learning, quali sono i dati disponibili, le tecnologie abilitanti (requisiti hardware e software) ed infine il personale coinvolto.

“Il Machine Learning sembra essere diventato negli ultimi anni uno dei migliori “strumenti” in grado di aumentare considerevolmente la competitività aziendale”

Sviluppo del modello

Una volta completata la tabella di inizio progetto è possibile iniziare a strutturare un modello di machine learning.

Il punto di partenza consiste nel definire in modo formale una metrica di ottimizzazione, ovvero generare un singolo numero che permetta di quantificare la bontà di un modello rispetto ad un altro. Tanto sarà più alto questo numero, tanto migliore sarà il modello.

Per un obiettivo complesso, il fatto che la metrica consista in un singolo numero non significa che si consideri un singolo aspetto del problema, ma che i molteplici aspetti vengano sommati tra loro in modo pesato alla loro importanza.

La ricerca di una buona metrica di ottimizzazione è di fondamentale importanza in quanto essa è anello di congiunzione che collega da una parte l’obiettivo del business e dall’altra un modello statistico. Una buona metrica permette di confrontare rapidamente modelli diversi e di ottimizzare un determinato modello in maniera mirata ed allineata con le reali esigenze del Committente.

Una volta definita la metrica si procede alla costruzione di una baseline, ovvero un modello molto semplice per risolvere il problema di interesse.

Quando possibile, è vantaggioso utilizzare come baseline il metodo con cui il Committente affronta il problema al presente. Avere una baseline è importante per quantificare, qualora esistano, i benefici di un approccio di machine learning alla risoluzione del problema.

Si procede infine alla creazione di diversi modelli di machine learning di complessità sempre crescente, confrontando continuamente i risultati ottenuti con quelli risultanti dal modello di baseline.

In questa fase si ricerca il trade-off migliore tra potere predittivo e risorse necessarie affinché un determinato modello possa funzionare.

Test e user feedback

Appena il modello di machine learning raggiunge un’efficacia sufficiente può cominciare la fase di test. Il modello deve infatti guadagnarsi la fiducia del committente attraverso risultati concreti. Il test sul campo viene eseguito in modo progressivo per limitare i rischi, in step separati:

Produzione

Una volta terminata la fase di test il modello di machine learning viene inserito nel ciclo di lavoro del Committente, iniziando quindi a produrre valore.

Questa integrazione può avvenire modificando il software utilizzato quotidianamente dall’azienda o andando a sviluppare un applicativo o una dashboard ad hoc.

È importante sottolineare che un progetto di machine learning di successo fornisce soluzioni, non modelli: i risultati statistici in output dal modello devono infatti essere tradotti in azioni concrete, che producano valore.

Leave a Reply

Your email address will not be published. Required fields are marked *