La definizione di Machine Learning è decisamente parlante: l’apprendimento automatico è, infatti, quella branca dell’intelligenza artificiale in cui una macchina (un programma, un algoritmo) si propone di apprendere dai dati e imparare dai suoi errori in maniera autonoma, senza istruzioni esplicite da parte dell’utente. Per fare tutto ciò viene sfruttata da un lato la potenza di calcolo tipica delle macchine, dall’altro la capacità umana di imparare dalle proprie azioni e correggere il proprio modo di ragionare per distinguere con maggiore accuratezza le scelte giuste da quelle sbagliate.
Nel mondo veloce e dinamico del giorno d’oggi si rende sempre più necessario per le aziende di ogni settore e dimensione un approccio “ciclico” di questo tipo: qualunque analisi sui dati, anche la più attenta e scrupolosa, se non viene aggiornata rischia infatti di diventare in breve tempo obsoleta, soprattutto in quei contesti in cui il mercato è più competitivo e le aziende devono sempre più basare le proprie decisioni e strategie su ciò che accade in tempo reale (o quasi). Al variare dei dati a disposizione, della loro forma o anche della loro frequenza non è infatti improbabile che i modelli analitici impostati inizialmente con ottime performance non riescano più nel tempo a dare risposte adeguate, dovrebbero essere continuamente manutenuti e riaddestrati su dati recenti. La base del ML risiede proprio in questa ultima affermazione: il continuo ed automatico riaddestramento dei modelli analitici per mantenere alte le performance analitiche dei modelli predittivi.
Ma come funzionano tecnicamente i sistemi di Machine Learning? Apprendono tutti nello stesso modo? Analizziamo questi punti nei prossimi paragrafi.
Come funzionano gli algoritmi di machine learning?
Nella pratica il primo step da implementare è tutto ciò che serve per applicare un modello predittivo: serviranno quindi tools, tecnologie, strumenti adeguati a fare data exploration e data preparation, e serviranno le competenze tecniche tipiche del Data Engineer e del Data Scientist per predisporre l’ambiente e per impostare le Advanced Analytics più adatte al caso specifico.
Ciò che accade dopo è un processo ciclico ed induttivo: il sistema applicherà l’analisi preimpostata ad un campione di dati (dati in input) e ne ricaverà delle considerazioni in base alla bontà della predizione effettuata. Da tutto ciò verranno estratte delle nuove regole che il sistema utilizzerà successivamente per ottimizzare il modello analitico modificando le proprie conoscenze in base all’ambiente, adattandosi a ciò che accade e al mondo che cambia: in questo modo il prossimo set di dati potrà essere interpretato con regole più vicine al contesto reale ed analizzato in modo più puntuale e dettagliato.
È chiaro quindi che i sistemi di machine learning non nascono “già pronti”, con una conoscenza predefinita ed “incorporata”, ma questa viene acquisita nel tempo, man mano che si incontrano nuove situazioni, nuovi documenti, dati ed informazioni.
Perché si possano attuare i meccanismi di machine learning, e quindi l’algoritmo inizi a “prendere vita” e ad apprendere in modo automatico secondo le impostazioni prefissate, sono fondamentali sia la fase iniziale di impostazione, fatta da persone fisiche (tecnici specializzati), sia la fase ciclica successiva di addestramento, vincolata alla disponibilità continua di nuovi dati su cui riaddestrare il modello. Per entrambe è fondamentale avere a disposizione una quantità “ragionevole” di dati: più essi sono numerosi e vari, migliore sarà la capacità dell’algoritmo di imparare e fare, di conseguenza, previsioni corrette.
Nella prima fase di addestramento, ad opera di tecnici specializzati, è importante che il training set (il primo dataset su cui viene addestrato l’algoritmo) non sia casuale, ma venga selezionato bene in modo che copra più casistiche possibile, anche riguardo casi di errori che deve imparare a riconoscere, e che sia il più possibile realistico e rappresentativo del contesto reale: solo in questo modo il modello addestrato che ne uscirà sarà ragionevolmente buono come punto di partenza per l’attività di machine learning.
Nella fase successiva il controllo passa nelle mani del sistema, che in automatico “si aggiusta” e si migliora a seconda delle situazioni che incontra. Da questo momento in poi per Data Engineer e Data Scientist ciò che accade nel sistema di Machine Learning diventa imperscrutabile, una “scatola nera”. Da un lato questo è positivo perché minimizza la possibilità di errori umani, dall’altro però limita le leve di miglioramento applicabili, perché a partire da adesso non ci sono strumenti con cui perfezionare l’algoritmo, l’unica opzione è quella di agire sui dati in ingresso fornendo al sistema più esempi possibili da cui imparare. Ciò però non sempre garantisce il miglioramento delle performance del modello: se il problema è la mancanza di esempi posso agire cercando di incrementare la quantità e varietà dei dati, ma cosa fare se nel tempo emergono errori logici o se ci si rende conto che il modello scelto non è il più adatto al contesto aziendale? Il sistema deve essere corretto, e per farlo sarà necessario ricominciare dalla prima fase di impostazione dei modelli, l’intero processo dovrà tornare al punto di partenza. Ecco perché la fase iniziale di studio ed impostazione ha un’importanza così grande.
I tipi di apprendimento e gli algoritmi più utilizzati
È chiaro quindi che la prima fase, per i suddetti motivi, debba essere affidata a tecnici esperti, e che non è definibile a priori il modo di impostarla perché dipende moltissimo dal contesto. Sulla seconda fase però, quella che riguarda l’automatizzazione del sistema, proprio perché è automatica possiamo dire qualcosa, almeno ad alto livello, di come funziona. A seconda dell’analisi che si sceglie di portare avanti il tipo di apprendimento che potrà impostare il sistema di ML sarà diverso. Le famiglie principali di apprendimento sono: apprendimento supervisionato, non supervisionato e per rinforzo.
Apprendimento supervisionato
Con l’apprendimento supervisionato i modelli vengono addestrati a riconoscere e ricondurre i dati in input a specifiche classi predefinite. I dataset con cui addestrare i modelli contengono quindi dati etichettati, ovvero dati per cui sono conosciuti gli output attesi.
Fanno parte di questo gruppo le analisi di classificazione e di regressione.
Gli algoritmi di classificazione prevendono un risultato espresso come un valore discreto che indica l’appartenenza dell’oggetto ad una classe specifica e rispondono a domande che prevedono una risposta univoca. L’esempio più ricorrente per questo tipo di algoritmi è la tassonomia, ovvero la classificazione nel regno animale di ogni essere vivente.
Gli algoritmi di regressione si distinguono dai precedenti perché i risultati vengono espressi come valori continui. Le analisi di regressione hanno diverse applicazioni, un esempio è l’ambito finanziario, in cui sono fondamentali per il Capital Asset Pricing Model (CAPM), modello che descrive la relazione tra rendimento atteso e rischio di un titolo.
Questa famiglia di modelli comprende di fatto gli algoritmi che sono considerati essere i più precisi ed accurati nel fare previsioni, di contro però hanno un grande limite: non sempre sono applicabili ad ogni ambito perché il requisito fondamentale è la presenza all’inizio di un training set etichettato, e spesso queste informazioni non sono conosciute. Quando succedere ciò, ovvero quando non posso definire a priori le classi da predire, allora ci si rivolge agli algoritmi detti non supervisionati.
Apprendimento non supervisionato
Mentre per i modelli supervisionati è ben chiaro quale sia l’obiettivo da raggiungere perché l’elenco di possibili risultati è conosciuto a priori, nel caso dei modelli non supervisionati questo non si può ottenere. Lo scopo quindi cambia e diventa l’analisi dei dati alla ricerca di similarità, di pattern e di caratteristiche comuni tra i dati con lo scopo di raggrupparli in gruppi di oggetti simili e fare su essi previsioni.
Questa famiglia di modelli abbraccia tutte le situazioni in cui non è disponibile un dataset etichettato, ma si vuole comunque cercare di modellare i dati riconducendoli verso “gruppi” omogenei non definiti a priori, deducendone l’appartenenza dalle caratteristiche stesse dei dati.
Fanno parte di questo gruppo le analisi di clustering e associative.
Il clustering è una tecnica che permette di aggregare i dati in gruppi (detti, appunto, cluster) che hanno come caratteristiche il fatto di essere ognuno omogeneo al proprio interno (secondo il concetto di similarità o distanza, una delle metriche più conosciute ed usati è l’indice di Jaccard), ed essere invece tra loro disgiunti, quindi più possibile diversi e distanti tra loro: ciò si traduce in un modello che riconduce ogni dato ad uno e un solo cluster che comprende tutti e soli dati simili a lui, al pari di ciò che accade nei modelli supervisionati di classificazione, con la differenza che non si conosce a priori la definizione del gruppo.
Le analisi associative hanno uno scopo simile, ma più ampio: estrarre dai dati pattern frequenti, regole nascoste tra le caratteristiche di ogni dato tali per cui sia possibile dedurre le relazioni che li accomunano. Fanno parte delle analisi associative la correlazione e le Regole Associative. Per comprendere meglio come funzionano prendiamo un esempio su queste ultime, la ricerca di regolarità tra i prodotti venduti in un supermercato, ovvero la ricerca delle implicazioni nascoste. Ogni regola risponde ad una specifica domanda del tipo: chi compra le uova, con che probabilità acquista anche farina? Mentre risulta più scontata una relazione tra l’acquisto di pane e marmellata, oppure di latte e cereali, è molto meno ovvia (e di conseguenza più di valore) la relazione tra l’acquisto di birra e pannolini per lattanti. Indicazioni di questo tipo sono spesso usate per indirizzare sconti e campagne, ma anche per definire la posizione dei prodotti sugli scaffali.
Le analisi non supervisionate hanno il grande vantaggio di non aver bisogno di dataset etichettati per poter creare il modello, d’altra parte per lo stesso motivo possono risultare meno accurate. Per ovviare a questo sono state introdotte delle modalità ibride, che cercano di prendere sia i vantaggi di quelle supervisionate (alta accuratezza), sia delle non supervisionate (applicabili ad un maggior numero di dataset). Ma la coperta è corta, e nonostante questa sembri essere una panacea, in realtà le analisi semi-supervisionate prendono non solo i vantaggi, ma anche parte degli svantaggi dalle soluzioni supervisionate e no, e prevedono perciò delle limitazioni che le rendono comunque difficilmente applicabili, tra cui una serie di vincoli iniziali per la definizione della similarità tra dati.
Apprendimento per rinforzo
A differenza dei precedenti metodi di apprendimento, questo paradigma si rivolge verso problemi di decisioni sequenziali, in cui la previsione da produrre non si basa soltanto le caratteristiche dei dati, ma dipende dallo stato attuale del sistema e ne determina quello futuro. L’idea di base è quella di cercare di migliorare le funzionalità del sistema attraverso l’introduzione dei “rinforzi”, ovvero segnali di ricompensa intesi come valori numerici indice della qualità dell’azione e dello stato in cui porta, il tutto con il fine ultimo di incoraggiare le azioni che portano verso stati del sistema più sicuri e favorevoli.
Uno dei principali campi di applicazione per l’apprendimento con rinforzo è nella robotica: ad esempio un agente viene posizionato all’interno di un ambiente e per ogni sua azione positiva (ovvero che lo porta di una posizione di sicurezza) viene calcolata una ricompensa, con la stessa tecnica si definiscono gli ostacoli.
Algoritmi che fanno parte di questa famiglia sono tra gli altri quelli legati al Deep Learning, approccio usato, ad esempio, nell’addestramento di un sistema per il gioco degli scacchi: conseguentemente alla ricezione dei rinforzi legati alle mosse positive (come la presa di una pedina avversaria), il sistema darà maggior peso alle mosse che gli hanno portato maggiori benefici e tenderà a replicare lo stesso comportamento su nuove mosse future.
Esempi dell’uso del Machine Learning nella vita quotidiana
Nella vita quotidiana tutti, se pur spesso in modo inconsapevole, incontriamo continuamente sistemi di ML e ne sfruttiamo le potenzialità.
Un esempio sono i filtri antispam delle e-mail basati su sistemi che imparano ad intercettare i messaggi di spam e a bloccarli prima che gli utenti possano vederli ed aprirli, visto che sono potenzialmente pericolosi.
Un altro esempio sono le auto a guida autonoma che imparano a riconoscere gli ostacoli e l’ambiente circostante attraverso i sensori e di conseguenza adattano la loro guida.
Applicazioni del machine learning si trovano frequentemente anche nel settore marketing e pubblicità per la personalizzazione delle campagne, suggerimenti sugli acquisti, pubblicità mirate sul target richiesto, oppure in ambito di sicurezza per l’individuazione delle frodi, l’ottimizzazione dei risultati delle ricerche online, o ancora negli aeroporti per l’analisi dei bagagli per migliorare l’individuazione degli oggetti pericolosi o contundenti.
Categoria: INTELLIGENZA ARTIFICIALE

Cosa sono e come funzionano le reti neurali ricorrenti
Le reti neurali trovano il loro fondamenti nei lontani anni Quaranta del Novecento, quando Warren McCulloch e Walter Pitts pubblicarono… Leggi tutto

Reti neurali: cosa sono, come funzionano e le applicazioni
Nel contesto dell’intelligenza artificiale si parla sempre più spesso di reti neurali, intese quali modelli matematici dichiaratamente ispirati al funzionamento… Leggi tutto

Transfer learning: cos’è, i modelli e le applicazioni
Lo sviluppo legato all’intelligenza artificiale coinvolge un’ampia varietà di metodi e tecniche, che possono valorizzare l’abilità di riutilizzare in maniera… Leggi tutto