Il Machine learning (ML) insegna ai computer e ai robot a fare azioni e attività in modo naturale come gli esseri umani o gli animali: imparando dall’esperienza (o meglio, attraverso programmi di apprendimento automatico).
In sostanza, gli algoritmi di Machine learning usano metodi matematico-computazionali per apprendere informazioni direttamente dai dati, senza modelli matematici ed equazioni predeterminate.
Il Machine learning consente ai computer di abbinare algoritmi e tecnologie avanzate per prendere decisioni migliori, più rapidamente e più accuratamente. Uno dei principali vantaggi dell’apprendimento automatico è la capacità di modellare i dati e prendere decisioni in tempo reale.
Ad esempio, un sistema di Machine learning può essere utilizzato per riconoscere le parole pronunciate da una persona o scansionare immagini che contengono oggetti specifici.
Può anche essere utilizzato per prendere decisioni aziendali complesse, come la gestione delle risorse umane o l’analisi predittiva dei dati.
Gli algoritmi di Machine learning sono una parte importante della tecnologia IA che gli imprenditori stanno adottando per aumentare la produttività, ridurre i costi e migliorare la loro capacità di prendere decisioni.
Gli algoritmi Machine Learning possono essere usati per interpretare dati complessi e identificare tendenze, modelli e relazioni che possono essere utilizzati per prendere decisioni strategiche.
Ad esempio, l’utilizzo di algoritmi machine learning nella sicurezza informatica aiuta a riconoscere le minacce come malware, intrusioni informatiche e frodi.
Inoltre, gli algoritmi di Machine learning possono essere utilizzati per svolgere analisi di grandi volumi di dati in un tempo molto breve. Può essere utile anche nell’identificazione delle relazioni tra prodotti e nel marketing personalizzato.
Gli algoritmi di ML migliorano le loro prestazioni in modo adattivo a mano a mano che gli esempi da cui apprendere aumentano. Cerchiamo allora di capire cos’è il Machine learning, come funziona e quali sono le sue applicazioni.
Cos’è il Machine learning (apprendimento automatico)
In italiano dovremmo tradurre Machine learning come apprendimento automatico inteso come abilità delle macchine (intese come computer) di apprendere senza essere state esplicitamente e preventivamente programmate (almeno così come nell’accezione tradizionale dell’informatica).

A coniare per primo il termine fu Arthur Lee Samuel, scienziato americano pioniere nel campo dell’intelligenza artificiale, nel 1959 anche se, ad oggi, la definizione più accreditata dalla comunità scientifica è quella fornita da un altro americano, Tom Michael Mitchell, direttore del dipartimento Machine Learning della Carnegie Mellon University:
«Si dice che un programma apprende dall’esperienza E, con riferimento ad alcune classi di compiti T e con misurazione della performance P, se le sue performance nel compito T, come misurato da P, migliorano con l’esperienza E».
Detta in parole più semplici: il ML permette ai computer di imparare dall’esperienza (da intendersi non nell’accezione umana ma pur sempre riferito ad un programma informatico); c’è apprendimento (esperienza) quando le prestazioni del programma migliorano dopo lo svolgimento di un compito o il completamento di un’azione (anche errata, partendo dall’assunto che anche per l’uomo vale il principio sbagliando di impara).
Guardando il Machine learning da una prospettiva informatica, anziché scrivere il codice di programmazione attraverso il quale, passo dopo passo, si dice alla macchina cosa fare. Al programma vengono forniti solo dei set di dati che vengono elaborati attraverso algoritmi sviluppando una propria logica per svolgere la funzione, l’attività, il compito richiesti (per esempio imparare a riconoscere un’immagine).
Come funzionano Machine learning e apprendimento automatico
Il Machine learning funziona in linea di principio sulla base di due distinti approcci, identificati dallo stesso Arthur Samuel alla fine degli anni ’50, che permettono di distinguere l’apprendimento automatico in due sottocategorie del ML a seconda del fatto che si diano al computer esempi completi da utilizzare come indicazione per eseguire il compito richiesto (apprendimento supervisionato) oppure che si lasci lavorare il software senza alcun “aiuto” (apprendimento non supervisionato).
In realtà, come vedremo più avanti, ci sono poi dei sottoinsiemi che consentono di fare un’ulteriore classificazione ancora più dettagliata del Machine learning proprio in base al suo funzionamento.
Machine learning con apprendimento supervisionato (Supervised learning)
In questa categoria di Machine learning al computer vengono dati in pasto sia dei set di dati come input sia le informazioni relative ai risultati desiderati con l’obiettivo che il sistema identifichi una regola generale che colleghi i dati in ingresso con quelli in uscita (gli vengono cioè forniti degli esempi di input e di output in modo che impari il nesso tra loro), in modo da poter poi riutilizzare tale regola per altri compiti simili.

«Nell’apprendimento supervisionato il lavoro di risoluzione viene lasciato al computer. Una volta compresa la funzione matematica che ha portato a risolvere uno specifico insieme di problemi, sarà possibile riutilizzare la funzione per rispondere a qualsiasi altro problema similare», scrive Adam Geitgey, sviluppatore software, nel suo articolo Machine Learning is Fun!.
Machine learning con apprendimento non supervisionato (Unsupervised learning)
In questa seconda categoria di Machine learning al sistema vengono forniti solo set di dati senza alcuna indicazione del risultato desiderato. Lo scopo di questo secondo metodo di apprendimento è risalire a schemi e modelli nascosti, ossia identificare negli input una struttura logica senza che questi siano preventivamente etichettati.
Machine learning con apprendimento per rinforzo
In questo caso, il sistema (computer, software, algoritmo) deve interagire con un ambiente dinamico (che gli consente di avere i dati di input) e raggiungere un obiettivo (al raggiungimento del quale riceve una ricompensa), imparando anche dagli errori (identificati medianti “punizioni”). Il comportamento (e le prestazioni) del sistema è determinato da una routine di apprendimento basata su ricompensa e punizione.
Con un modello del genere, il computer impara per esempio a battere un avversario in un gioco (o a guidare un veicolo) concentrando gli sforzi sullo svolgimento di un determinato compito mirando a raggiungere il massimo valore della ricompensa; in altre parole, il sistema impara giocando (o guidando) e dagli errori commessi migliorando le prestazioni proprio in funzione dei risultati raggiunti in precedenza.
Machine learning con apprendimento semi-supervisionato
In questo caso si tratta di un modello ibrido dove al computer viene fornito un set di dati incompleti per l’allenamento/apprendimento; alcuni di questi input sono dotati dei rispettivi esempi di output (come nell’apprendimento supervisionato), altri invece ne sono privi (come nell’apprendimento non supervisionato). L’obiettivo, di fondo, è sempre lo stesso: identificare regole e funzioni per la risoluzione dei problemi, nonché modelli e strutture di dati utili a raggiungere determinati obiettivi.
Dai modelli probabilistici al Deep learning
Ci sono poi altre sottocategorie di Machine learning che in realtà servono a darne una sorta di classificazione pratica perché, di fatto, identificano degli approcci pratici di applicazione degli algoritmi di ML (da cui si possono quindi derivare delle categorie di apprendimento dei sistemi).
Parliamo per esempio dei cosiddetti alberi delle decisioni basati su grafi attraverso i quali si sviluppano modelli predittivi grazie ai quali è possibile scoprire le conseguenze (output) di determinate decisioni (input).
Altro esempio concreto viene dal clustering ossia dai modelli matematici che consentono di raggruppare dati, informazioni, oggetti, ecc. simili; si tratta di una applicazione pratica del Machine learning dietro al quale esistono modelli di apprendimento differenti che vanno dall’identificazione delle strutture (cosa definisce un cluster e qual è la sua natura) al riconoscimento degli oggetti che devono far parte di un gruppo piuttosto che di un altro.
C’è poi la sottocategoria dei modelli probabilistici che basano il processo di apprendimento del sistema sul calcolo delle probabilità (il più noto è forse la rete di Bayes, un modello probabilistico che rappresenta in un grafo l’insieme delle variabili casuali e le relative dipendenze condizionali).
Infine, ci sono le notissime reti neurali artificiali che utilizzano per l’apprendimento certi algoritmi ispirati alla struttura, al funzionamento ed alle connessioni delle reti neurali biologiche (cioè quelle dell’essere umano). Nel caso delle reti neurali cosiddette multi-strato si entra poi nel campo del Deep Learning (apprendimento profondo).
Naive Bayes Classification (NBC)
La Naive Bayes Classification (NBC) è una tecnica di Machine learning che permette di classificare oggetti, come documenti di testo, in due o più classi. Al classificatore, nella fase di training (apprendimento) viene dato in pasto un set di dati (una serie di testi) la cui classe di appartenenza è definita (nel caso in cui il documento sia una email, se si tratta di spam oppure no).

Machine learning: le applicazioni
Le applicazioni di Machine learning sono già oggi molto numerose, alcune delle quali entrate comunemente nella nostra vita quotidiana senza che in realtà ce ne rendessimo conto.
Pensiamo per esempio all’utilizzo dei motori di ricerca: attraverso una o più parole chiave, questi motori restituiscono liste di risultati (le cosiddette SERP – Search Engine Results Page) che sono l’effetto di algoritmi di Machine learning con apprendimento non supervisionato (forniscono come output informazioni ritenute attinenti alla ricerca effettuata in base all’analisi di schemi, modelli, strutture nei dati).
Altro esempio comune è legato ai filtri anti-spam delle e-mail basati su sistemi di Machine learning che imparano continuamente sia ad intercettare messaggi di posta elettronica sospetti o fraudolenti sia ad agire di conseguenza (per esempio eliminandoli prima che vengano distribuiti sulle caselle personali degli utenti). Sistemi di questo tipo, anche con sofisticazioni maggiori, vengono per esempio impiegati anche nel settore Finance per la prevenzione delle frodi (come la clonazione della carta di credito), dei furti di dati e identità; gli algoritmi imparano ad agire mettendo in correlazione eventi, abitudini degli utenti, preferenze di spesa, ecc.; informazioni attraverso le quali riescono poi a identificare in real-time eventuali comportamenti anomali che potrebbero appunto identificare un furto od una frode.
Interessanti esempi di Machine learning con apprendimento supervisionato arrivano dal settore della ricerca scientifica in campo medico dove gli algoritmi imparano a fare previsioni sempre più accurate per prevenire lo scatenarsi di epidemie oppure per effettuare diagnosi di tumori o malattie rare in modo accurato e tempestivo.
E ancora, sempre nell’ambito dell’apprendimento supervisionato, ci sono interessanti applicazioni di Machine Learning a livello di riconoscimento vocale o identificazione della scrittura manuale.
Come accennato, i sistemi che si basano sull’apprendimento con rinforzo stanno alla base dello sviluppo delle auto a guida autonoma che, proprio attraverso il ML, imparano a riconoscere l’ambiente circostante (con i dati raccolti da sensori, GPS, ecc.) e ad adattare il loro “comportamento” in base alle specifiche situazioni che devono affrontare/superare.
Anche i cosiddetti sistemi di raccomandazione sfruttano il Machine learning imparando dal comportamento e dalle preferenze degli utenti che navigano su siti web, piattaforme o applicazioni mobile; ne sono un esempio quelli che comunemente ci siamo abituati a vedere e utilizzare sulle piattaforme di eCommerce come Amazon o di intrattenimento e accesso a contenuti come Netflix o Spotify.
Esempi di apprendimento automatico
Ecco alcuni esempi di machine learning e intelligenza artificiale che migliorano l’efficacia e le performance dei processi.
Machine learning “as a service”
Machine learning as a service (MLaaS) definisce l’insieme di piattaforme cloud-based capaci di gestire tutta la filiera tecnologica legata all’applicazione di strumenti AI, dal data pre-processing sino al training e valutazione di un modello di machine learning, fruibile anche via APIs Rest.
Industria 4.0
La raccolta dei dati di processo, oggi usuale per i macchinari industriali, consente di ricavare dagli ambienti produttivi informazioni sullo stato di salute dei componenti, sulle performance produttive, e più in generale approfondire la comprensione dei processi. Come funzionano gli algoritmi e le tecniche di machine learning utilizzate nella industria 4.0.
PER APPROFONDIRE SI RIMANDA A:
Le tecniche di machine learning nell’industria 4.0
L’apprendimento automatico applicato a industria 4.0
Machine learning nei processi, rapporto McKinsey & Co.
Machine learning, come realizzare un progetto
Meta introduce MyoSuite, il machine learning applicato ai problemi di controllo biomeccanico
Studio delle super tempeste solari
La NASA sta studiando le super tempeste solari facendo ricorso alle reti neurali ad apprendimento non supervisionato. Le attività di rilevamento delle anomalie e di esplorazione delle condizioni estreme associate alle tempeste solari sono condotte in collaborazione con AWS Professional Services e Amazon Machine Learning (ML) Solutions Lab.
Cinema
L’applicazione all’industria cinematografica di algoritmi addestrati a svolgere classificazioni e previsioni in modo automatico consente la semplificazione delle attività degli addetti ai lavori, ma comporta altresì la possibilità di implementare, in modo efficiente e robusto, processi di “riconoscimento intelligente” (e.g. contenuto, genere, autore) utili al miglioramento dell’esperienza di intrattenimento vissuta dallo spettatore (e.g. indicizzazioni contenuti streaming on demand e smart recommendation).
PER APPROFONDIRE SI RIMANDA A: AI e cinema: machine learning un connubio consolidato