Come prendere una decisione con il Machine Learning

Come prendere una decisione con il Machine Learning

Come prendere una decisione con il Machine Learning

di Massimo W. Rivolta

Negli articoli precedenti abbiamo raccontato cosa può fare un algoritmo di Machine Learning (vedi qui) e come si possa identificare se un nostro problema di business possa essere risolto (vedi anche qui).  

Come visto, uno dei problemi risolvibili dal Machine Learning è la presa di una specifica decisione in base al valore di certi input. In questo articolo vedremo come prendere una decisione che sia supportata dai nostri dati storici a partire da un singolo input aiutandoci con un esempio pratico. Andremo un po’ nel tecnico, ma siamo sicuri di rendere il più semplice e comprensibile possibile la spiegazione!

 

Caso Pratico – La catena di gelaterie

Supponiamo di essere il proprietario di una catena di gelaterie sparse sul territorio di una grande città e, come all’inizio di ogni alta stagione, si è comprata la materia prima per coprire l’intera estate. A metà stagione una certa percentuale di materia prima, che chiameremo “p”, è stata consumata e bisogna decidere se comprarne dell’altra oppure no. Nel corso degli anni ogni gelateria della catena ha consumato una certa percentuale e ogni titolare di filiale ha deciso, in maniera autonoma, se comprare o meno dell’altra materia prima “p”. A fine stagione è stato poi verificato se la materia prima inizialmente comprata sarebbe stata sufficiente oppure no.

In base allo storico di tutte le gelaterie, il minimo dataset necessario per risolvere il problema dovrà avere questa forma:

Dato questo dataset, una possibile domanda potrebbe essere: qual è il valore di p tale per cui sia garantita la copertura della stagione? Purtroppo questa domanda non è ben posta perché basterebbe comprare sempre dell’altra materia prima, indipendentemente dal valore di p, per garantire la sufficienza a fine stagione.

Per poter rispondere in maniera più efficiente dobbiamo definire una regola di decisione e una misura di qualità. La regola più semplice che possiamo implementare è p>t e cioè se la nostra percentuale di materia prima consumata risulti maggiore di una certa soglia (incognita) “t” allora sarà necessario comprare dell’altra materia prima.

La misura di qualità, che chiameremo Q(t), dipende invece da che cosa si vuole massimizzare e varia in base al valore di t. Supponiamo, ad esempio, che Q(t) sia la percentuale di casi predetti correttamente dalla nostra regola di decisione (in gergo tecnico si chiama accuratezza). Per capire questo concetto possiamo semplicemente andare a compilare una piccola tabellina dato un certo valore di t. Ad esempio:

| NO | SI

p>t | A(t) | B(t)

p<=t | C(t) | D(t)

dove A(t), B(t), C(t) e D(t) rappresentano dei semplici conteggi. Ad esempio: A(t) è il numero di volte che p>t e la materia prima non sarebbe stata sufficiente. In questo caso, Q(t) = 100*(A(t) + D(t))/(A(t) + B(t) + C(t) + D(t)). Infine, per trovare il miglior valore di t basta valutare la nostra metrica Q(t) a diversi valori di soglia e selezionare quella che la massimizzi. 

Sebbene la procedura descritta sia corretta è necessario prestare attenzione a come definire la metrica Q(t) e a come verificare se la soglia t determinata sia davvero corretta (nella cosiddetta fase di training). Problemi come la presenza di dataset sbilanciati (es. molti più SI che NO) o la mancata pesatura dei costi nel commettere errore di decisione porterebbero a dei costi aggiuntivi per l’azienda.

Questo piccolo esempio mostra la complessità presente in un problema risolto con il Machine Learning. Ora immaginate se invece di dover gestire queste poche variabili come potrebbe aumentare la complessità per prendere delle decisioni in un sistema aziendalele. Provate con noi se i vostri dati sono utili per l’utilizzo di algoritmi di Machine Learning e compilate il form per un approfondimento e un’analisi puntuale.

Se vuoi sfruttare e soprattutto sperimentare insieme a noi l’utilizzo dei tuoi dati per la creazione di algoritmi di ML dedicati, contattaci compilando il form sottostante.

 Accetto l'informativa sulla privacy policy descritta qui

     Desidero iscrivermi alla newsletter