Quando utilizzare il Machine Learning? (e quando NON farlo?)

Sono ormai passati tre anni (wow, come vola il tempo!) da quando U-Hopper ha iniziato ad offrire servizi di consulenza incentrati sulla scienza dei dati e sul Machine Learning (ML), o apprendimento automatico per chi non ama gli inglesismi. In questi anni, ho avuto occasione di lavorare a svariati progetti in diversi mercati e, grazie a queste molteplici esperienze, ho potuto raccogliere alcuni punti chiave – secondo me fondamentali! – che penso debbano essere sempre considerati quando si affronta l’argomento.

Va da sé che i progetti di Machine Learning non hanno una natura “semplice” ma, se affrontati e gestiti con i dovuti accorgimenti, ci permettono di creare valore dai dati, semplificando e automatizzando processi in vari domini – che peraltro è la core mission di U-Hopper! Un paio di esempi presi dalla mia esperienza? La stima del numero di persone in un ambiente circoscritto e la fornitura di tecnologie per la manutenzione predittiva sono stati sicuramente due dei casi d’uso più impegnativi, ma anche più interessanti alla quale io abbia lavorato nell’ultimo periodo.

Tuttavia, il Machine Learning non è sempre la soluzione adatta! Ci sono situazioni in cui una soluzione basata sull’apprendimento automatico non può aiutare. Non perché non sia quella giusta da utilizzare, ma perché mancano le giuste condizioni per poterla impiegare correttamente. Immagino già un punto interrogativo che compare affiancato da una nuvoletta che recita “Ma quindi, quando può essere applicato il Machine Learning”? La risposta sorprendentemente semplice, ma non banale, è:

Solo quando sono disponibili dati significativi sufficienti.

Provo a spiegarmi.

Il training di un modello di Machine Learning necessita di  una quantità di dati sufficientemente grande, ma, sfortunatamente, i dati non sono sempre facili da ottenere! Quando disponibili, questi dati assicurano che le regole necessarie per identificare una particolare situazione non debbano essere definite e impostate da ingegneri o, più in generale, da specialisti di dominio. Diventa infatti sufficiente che un data scientist imposti correttamente tutti i parametri di una formula matematica estremamente complicata, e che fortunatamente nessuno ha nemmeno bisogno di sapere (non voglio perdermi in tecnicismi! Se ti interessa come funziona il ML, dai un’occhiata qui!).

Non posso nascondere che il lavoro del data scientist è decisamente complesso. Ma sono sempre più convinto che il passo più difficile da realizzare quando si organizza e si porta avanti un progetto di ML sia quello di assicurarsi che i clienti comprendano veramente quanto sia importante la disponibilità dei dati. Dati che, non diamolo per scontato, dovrebbero descrivere in dettaglio il caso d’uso che stiamo cercando di risolvere.

Un esempio che riporto spesso è il seguente: se stiamo cercando di sfruttare l’apprendimento automatico per prevedere ed anticipare possibili malfunzionamenti in un impianto di produzione, avere molti dati raccolti mentre il processo avviene senza intoppi non aiuta per niente. Al contrario, il modello avrà sicuramente bisogno di dati che descrivono i casi di malfunzionamento. In quale altro modo può essere in grado di identificare e prevedere tali casi?

Questo è il motivo per cui ci sono situazioni in cui l’apprendimento automatico potrebbe – e probabilmente dovrebbe! – essere utilizzato e altre che richiedono invece l’impiego di una soluzione alternativa.

Ecco i casi in cui NON è opportuno applicare una soluzione di Machine Learning:

  1. Non sono disponibili dati storici e non è possibile raccogliere nuove informazioni.
  2. I dati disponibili non sono sufficienti (generalmente questa è una condizione che viene stabilita dai data scientist e dettata della loro esperienza ed del loro istinto).
  3. Sono disponibili dati in sufficiente quantità, ma non descrivono il caso d’uso che stiamo trattando.

In questi tre casi, l’accuratezza offerta dal modello non sarà accettabile. Anzi, il risultato sarà probabilmente equivalente ad una scelta casuale; decisamente non una buona soluzione! La scelta più intelligente sarebbe invece quella di impiegare fin da subito una soluzione alternativa al Machine Learning, la quale farà risparmiare non solo tempo, ma anche (e soprattutto) denaro. 

Al contrario, se ci sono sufficienti dati che descrivono in dettaglio il caso d’uso che vogliamo risolvere, allora ci troviamo di fronte alle condizioni perfette per applicare l’apprendimento automatico. Non nego che sarà necessaria un po’ di pazienza, ma una volta pronta, la soluzione permetterà davvero l’automatizzazione e la semplificazione del lavoro di ogni giorno.

Perché sì, nella maggior parte dei casi l’obiettivo dell’apprendimento automatico è quello di fornire strumenti in grado di prevedere e anticipare eventi supportando il processo decisionale. Pertanto, avendone la possibilità, non bisognerebbe perdere l’occasione di dare una chance al Machine Learning, tenendo fin da subito in considerazione l’importanza chiave che i dati avranno sul risultato finale.

Ti è piaciuto questo articolo?

Inserisci il tuo indirizzo e-mail per ricevere la nostra newsletter!
PS: odiamo lo spam proprio come te, quindi ti promettiamo solo un paio di newsletter all’anno con una raccolta degli articoli più interessanti!