Cos'è il machine learning, come funziona, a cosa serve e quali sono le sue applicazioni.


Non è impresa semplice definire il machine learning, dal momento che si tratta di un ambito assai vasto, caratterizzato da differenti modalità, tecniche e strumenti.

Dovendo fare degli esempi concreti circa la sua presenza nella nostra vita quotidiana, potremmo citate i filtri anti-spam, i sistemi di riconoscimento vocale di cui sono dotati molti smartphone e i motori di ricerca.

La sua traduzione italiana è quella di “apprendimento automatico”, espressione – questa – che rimanda alla costruzione di algoritmi in grado di apprendere in maniera autonoma da un insieme di dati e, sulla base di questi, di ricavare correlazioni, pattern e modelli predittivi, senza paradigmi matematici ed equazioni predeterminate.

Ma andiamo ora in profondità, a cogliere significati, funzionamenti, metodologie di utilizzo e applicazioni di questa affascinante branca dell’intelligenza artificiale.

Cos’è il machine learning

Gli algoritmi di machine learning poggiano sull’utilizzo di metodi matematico-computazionali per apprendere informazioni direttamente dai dati, riuscendo a migliorare le proprie prestazioni man mano che gli esempi da cui apprendere aumentano.

I primi studi per la realizzazione di macchine intelligenti risalgono al 1950, quando alcuni matematici e statistici progettarono di utilizzare i metodi probabilistici per realizzare macchine capaci di prendere decisioni proprio tenendo conto delle probabilità di accadimento di un dato evento.

Un nome importante legato al machine learning è quello di Alan Turing, il quale, per primo, formulò la necessità di sviluppare algoritmi specifici per mettere a punto macchine in grado di apprendere.

Si dovrà, però, attendere la fine degli anni Novanta per assistere a sviluppi significativi e, più in particolare, alla definizione di una serie di tecniche legate a elementi statistici e probabilistici, che permisero all’apprendimento automatico di divenire, nel tempo, un campo di studio e ricerca riconosciuto e richiesto per le sue applicazioni.

Oggi, il machine learning si caratterizza per differenti tecniche di apprendimento, tra cui figurano – solo per citarne alcune – il deep learning, l’online learning e la modellazione predittiva.

In particolare, il deep learning rimanda a un insieme di tecniche che simulano i processi di apprendimento del cervello umano attraverso reti neurali artificiali stratificate. Mediante tali tecniche, è possibile risolvere problemi di apprendimento automatico molto complessi, senza la necessità di dover esplorare e preparare i dati per gli step successivi. Le ritroviamo, ad esempio, nell’ambito di applicazioni quali il riconoscimento delle immagini e la comprensione del linguaggio parlato.

L’online learning, invece, è quel particolare segmento del machine learning che studia tecniche per problemi in cui i dati diventano disponibili in sequenza, uno dopo l’altro, e le decisioni vengono prese man mano che un dato diventa disponibile, in un processo in cui quanto appreso determina la decisione successiva e quest’ultima, a sua volta, i dati che verranno processati in futuro e il conseguente apprendimento.

L’ottimizzazione delle campagne pubblicitarie e delle pagine Web rientra tra le applicazioni più comuni di questa tecnica.

Online Learning concept
Online Learning concept

La modellazione predittiva, infine, prevede una varietà di tecniche atte a raccogliere una serie di dati e ad apprendere – da questi – modelli da applicare poi a nuovi dati.

Adottando tale tecnica – dunque applicando ai nuovi dati i modelli elaborati in base ai dati raccolti in precedenza – è possibile effettuare predizioni su comportamenti e risultati futuri, come accade, ad esempio, nell’analisi di qualità, nel marketing e nelle analisi delle reti sociali.

Come funziona un algoritmo di machine learning

Il lavoro dell’algoritmo di machine learning è quello di analizzare un set di dati, col fine di ricavarne correlazioni e, dunque, modelli predittivi.

Alla base vi è una la logica induttiva, che procede dal “particolare” per arrivare a regole “generali”. Il che significa che la macchina processa un determinato campione di dati e ne ricava delle regole, dei modelli di apprendimento che le consentiranno di risolvere uno specifico problema, di eseguire un dato compito.

In un secondo momento, la macchina andrà ad analizzare altri dati e a modificare, di conseguenza, le proprie regole e i propri modelli.

È pacifico che maggiore è la quantità di dati da sottoporre alla macchina, maggiore sarà la capacità dell’algoritmo di fare delle previsioni esatte.

A tale proposito, però, c’è da osservare che se, da un lato, le grosse quantità di dati (big data) rappresentano un elemento strategico per questo tipo di progettualità legata al machine learning, dall’altro è proprio la loro gestione a costituire la parte più complessa del processo, nonché una sfida per il futuro.

I diversi metodi di apprendimento del machine learning

Oltre alle tecniche di apprendimento precedentemente – e in breve sintesi – menzionate, a seconda che si diano alla macchina ricchi set dati ed esempi completi, da utilizzare come indicazione per eseguire il compito richiesto, oppure che si lasci lavorare il software senza alcun aiuto, si distinguono due differenti processi di apprendimento.

Oltre a questi, ci sono poi dei sottoinsiemi che – in base al loro funzionamento – consentono una classificazione ancora più dettagliata del machine learning. Vediamoli insieme.

Apprendimento supervisionato

In questa prima tipologia di “apprendimento”, gli algoritmi vengono addestrati utilizzando esempi già classificati (già etichettati), ossia input di cui già si conoscono gli output. Quindi l’algoritmo, in questo caso, impara abbinando input ad output corrispondenti, compara i risultati per trovare gli errori e poi modifica il modello di conseguenza.

L’apprendimento supervisionato (detto anche Supervised Learning) viene impiegato, in particolare, per risolvere problemi di “classificazione” e di “regressione”, dove il primo fa riferimento al processo in cui una macchina è in grado di riconoscere e di categorizzare oggetti visivi e dimensionali da un set di dati; mentre il secondo a un processo in cui la macchina predice il valore di ciò che sta analizzando in base a dati attuali, cogliendo la relazione tra due o più variabili.

Ne è un esempio la relazione esistente tra i metri quadri di una casa e il suo pezzo oppure tra le gare automobilistiche e il numero di incidenti effettuati da un pilota. Gli algoritmi di apprendimento supervisionato vengono comunemente utilizzati in molteplici settori, da quello medico – in cui sono in grado di prevedere lo scatenarsi di particolari crisi sulla base dell’esperienza di passati dati biometrici – per arrivare all’identificazione vocale (che migliora sulla base degli ascolti audio passati), al riconoscimento delle immagini (per esempio il riconoscimento facciale) e all’identificazione della scrittura manuale, che si perfeziona sulle osservazioni degli esempi sottoposti alla macchina.

Riconoscimento facciale - uno degli ambiti di utilizzo del machine learning
Riconoscimento facciale – uno degli ambiti di utilizzo del machine learning

Apprendimento non supervisionato

Nell’apprendimento senza supervisione (Unsupervised Learning), la macchina apprende dall’esperienza senza avere esempi e risposte di riferimento. Al sistema, in questo caso, vengono forniti set di dati senza alcuna indicazione del risultato desiderato. L’algoritmo deve scoprire cosa gli viene mostrato, con l’obiettivo di esplorare i dati e individuarne una struttura interna, una logica. L’apprendimento si dice “non supervisionato” proprio perché non ci sono risposte corrette e non c’è un “insegnante”.

Le tecniche di apprendimento non supervisionato lavorano confrontando i dati e ricercando similarità o differenze. Per tale motivo, a questa tipologia di apprendimento vengono sottoposti problemi di “raggruppamento” (quando è necessario raggruppare i dati che presentano caratteristiche simili) e di “associazione”. Nei problemi di raggruppamento – o di “clustering” – l’algoritmo apprende nel momento in cui individua una relazione tra i dati; mentre nel caso dell’associazione l’obiettivo è trovare schemi frequenti, correlazioni tra un insieme di item.

Un esempio classico attinge dal marketing, dove un sistema di machine learning basato su apprendimento non supervisionato porta – attraverso la tecnica del raggruppamento – all’individuazione di consumatori con caratteristiche simili a cui rivolgere campagne di marketing specifiche. Oppure alla scoperta di caratteristiche che differenziano segmenti di consumatori dagli altri. Questi algoritmi vengono anche usati per segmentare argomenti testuali, consigliare prodotti o identificare valori anomali.

Apprendimento semi-supervisionato

Questa tipologia di apprendimento rappresenta una via di mezzo tra le prime due citate. Nello specifico, per l’addestramento utilizza un ridotto volume di dati classificati e un più ampio volume di dati non classificati e incompleto. Per questo motivo, viene definito quale modello di apprendimento “ibrido”.

Alla macchina viene fornito un set di dati in cui alcuni sono “dotati” dei rispettivi esempi di output (come nell’apprendimento supervisionato), altri invece ne sono privi (come nell’apprendimento non supervisionato). Ma l’obiettivo è uno: identificare regole e funzioni per la risoluzione dei problemi, nonché modelli e strutture di dati utili al raggiungimento di determinati obiettivi.

L’apprendimento semi-supervisionato viene utilizzato con metodi di classificazione, regressione e previsione. Per quanto concerne, in particolare, la classificazione, questa risulta utile se comporta un costo troppo alto per permettere un processo di apprendimento completamente supervisionato.

Apprendimento per rinforzo

Nel caso dell’apprendimento per rinforzo, l’algoritmo si presta ad apprendere tramite un sistema di valutazione che stabilisce una “ricompensa” se l’esecuzione di un dato compito è corretta o, al contrario, una penalità se l’azione è sbagliata.

L’obiettivo dell’apprendimento, in questo caso, è quello di imparare quali sono le azioni migliori da attuare, in modo da massimizzare la ricompensa prevista. Il comportamento – e le prestazioni – del sistema, dunque, sono determinati da un meccanismo basato su ricompensa e penalità.

Con un modello del genere, la macchina impara, ad esempio, a battere un avversario in un gioco – oppure a guidare un veicolo – concentrando gli sforzi sullo svolgimento di un determinato compito, puntando al massimo valore della ricompensa: ecco che il sistema impara giocando (o guidando) e dagli errori commessi, migliorando di volta in volta le prestazioni in funzione dei risultati raggiunti in precedenza.

Attraverso l’apprendimento per rinforzo l’algoritmo scopre da quali azioni vengono generate le ricompense maggiori, passando per esperimenti ed errori. Questo modello di apprendimento viene spesso usato nell’ambito della robotica e dei videogiochi, oltre che – come accennato – nello sviluppo delle auto a guida autonoma che, proprio attraverso il machine learning, imparano a riconoscere l’ambiente circostante e ad adattare il loro comportamento in base alle specifiche situazioni che devono affrontare lungo il tragitto.

Applicazioni ed esempi di machine learning

È errore comune pensare al machine learning come a sistemi, a macchine che trovano applicazione in ambiti molto particolari e specifici, compreso il settori della ricerca scientifica. Al contrario, l’apprendimento automatico vanta molte applicazioni di uso quotidiano – sempre legate alla tecnologia – e molto vicine a noi.

Una sua applicazione classica – accennata all’inizio – è, ad esempio, quella del riconoscimento vocale, di cui sono dotati molti smartphone e molti dispositivi domotici.

Riconoscimento vocale
Riconoscimento vocale, altro ambito di applicazione del machine learning

Un altro utilizzo dell’apprendimento automatico – che ha a che vedere, in questo caso, con l’uso del computer e della rete – è quello che permette alle aziende di realizzare pubblicità online basata sugli interessi degli utenti, le cui necessità e gusti vengono identificati per mezzo dell’analisi delle ricerche effettuate in rete.

I siti Web che consigliano articoli recanti la dicitura “potrebbero interessarti” si basano proprio sulla cronologia degli acquisti fatti in precedenza e analizzati per mezzo del machine learning. A tale riguardo, il futuro del commercio al dettaglio sta nella capacità di analizzare e usare i dati per personalizzare l’esperienza di acquisto e le campagne di marketing.

E, ancora, pensiamo all’utilizzo dei motori di ricerca che, attraverso una o più parole chiave, restituiscono liste di risultati, che non sono altro che l’effetto di algoritmi di machine learning con apprendimento non supervisionato.

Un altro esempio è quello legato ai filtri anti-spam delle email, basati su sistemi di machine learning che apprendono continuamente sia a intercettare messaggi di posta elettronica sospetti, sia ad agire di conseguenza.

Sistemi di questo tipo vengono impiegati anche nel settore finance per la prevenzione delle frodi (tra cui anche la clonazione della carta di credito), dei furti di dati e di identità: in questi casi specifici, gli algoritmi imparano ad agire mettendo in correlazione eventi, abitudini degli utenti, preferenze di spesa e altri dati. Tutte informazioni attraverso le quali riescono poi a identificare eventuali comportamenti anomali.

Gli esempi di applicazione di sistemi di machine learning con apprendimento supervisionato nel settore della ricerca medica sono, allo stato attuale, innumerevoli, conprevisioni sempre più accurate e tempestive anche relativamente a diagnosi di tumori e di malattie rare.

Anche le banche utilizzano le tecnologie di machine learning. E lo fanno con scopi precisi: rilevare, nell’imponente mole di dati che possiedono e che producono, quelle informazioni importanti per identificare sempre nuove opportunità di investimento e aiutare gli investitori. Nello specifico, le analisi avanzate di machine learning in ambito bancario diventano non solo uno strumento per qualificare meglio i richiedenti di prestito o di mutuo, analizzando i punteggi del credito al consumo, la misura della solvibilità, il debito totale, la cronologia dei pagamenti e la durata della storia creditizia. Ma, oggi, spingendosi oltre, diventano anche strumento per esaminare il trend dei comportamenti attuali e, sulla base di questi, prevedere i comportamenti futuri dei clienti.

L’analisi dei dati al fine di identificare schemi, bisogni e tendenze è fondamentale anche nell’industria dei trasporti che, per incrementare i profitti, fa affidamento sulla creazione di rotte più efficienti e sulla previsione dei potenziali problemi. Ecco allora che gli strumenti propri del machine learning per l’analisi dei dati e la creazione di modelli sono utili anche alle società di delivery, ai trasporti pubblici e, in generale, alle aziende che operano nei trasporti.

Trovare nuove risorse energetiche a partire dall’analisi dei minerali nel suolo, prevedere un guasto dei sensori in raffineria, snellire la distribuzione di petrolio per renderla più efficiente e redditizia: è questo un comparto che vede il machine learning sempre più presente in un numero elevato di casi e di progetti che sono in costante aumento.

Infine, tra le applicazioni di maggiore interesse del machine learning, nonché tra gli esperimenti di maggior successo che vedono al centro le tecniche di apprendimento automatico, troviamo i veicoli a guida autonoma, tuttora in fase sperimentale e non in commercio.

Sono numerose le case automobilistiche a livello globale che hanno realizzato prototipi di auto a guida autonoma, in grado di guidare anche a velocità sostenuta e su strade trafficate. Auto che fanno uso di un gran numero di sensori, di telecamere, di sistemi di localizzazione e di molte altre tecnologie evolute e che permettono di realizzare un sistema di apprendimento per rinforzo sempre più specifico e raffinato, capace di prendere decisioni su frenate, sterzate e sulle differenti modalità di guida, a seconda dei contesti in cui si trova l’auto e a seconda di eventuali problematiche che si trova ad affrontare lungo il tragitto.

Ma, ad oggi, gli studi e le ricerche in questo settore sono in pieno svolgimento e il machine learning ne segna l’evoluzione.