machine learning

Machine Learning, cos’è e come aiuta le aziende dai dati alle decisioni



Indirizzo copiato

Una delle tecniche base dell’intelligenza artificiale. Gli algoritmi usano metodi matematico-computazionali per apprendere informazioni direttamente dai dati, senza modelli matematici ed equazioni predeterminate e migliorano le loro prestazioni in modo “adattivo”.

Pubblicato il 13 dic 2023



apprendimento federato

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).

Arthur Lee Samuel (1901–1990) è stato un pioniere americano nel campo dell'intelligenza artificiale (IA) e viene spesso riconosciuto per il suo lavoro nello sviluppo del concetto di apprendimento automatico (machine learning).
Arthur Lee Samuel

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).

Machine learning e apprendimento automatico: come funzionano

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.

Adam Geitgey ha scritto articoli popolari su Medium e ha creato un corso molto apprezzato intitolato "Machine Learning is Fun!", che introduce i lettori ai concetti fondamentali del machine learning attraverso esempi pratici e spiegazioni dettagliate.
Adam Geitgey

«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

L’apprendimento per rinforzo (Reinforcement Learning o RL) è una branca del machine learning in cui un agente impara a prendere decisioni ottimizzando un segnale di ricompensa attraverso l’interazione con l’ambiente in cui opera.

A differenza dell’apprendimento supervisionato, in cui un modello viene addestrato su un insieme di dati con etichette corrette, in RL l’agente scopre autonomamente la strategia (policy) per comportarsi attraverso la sperimentazione e l’errore.

Ecco i componenti chiave dell’apprendimento per rinforzo:

  1. Agente: l’entità che prende le decisioni, ovvero il sistema che viene addestrato.
  2. Ambiente: il contesto o il dominio in cui l’agente opera e prende decisioni.
  3. Stato: una rappresentazione dell’ambiente in un determinato istante di tempo.
  4. Azione: un intervento che l’agente può eseguire per influenzare lo stato dell’ambiente.
  5. Ricompensa: un segnale che l’agente riceve dall’ambiente in risposta alle sue azioni. Lo scopo dell’agente è quello di massimizzare il totale delle ricompense nel tempo.
  6. Policy: una strategia che l’agente segue per decidere le azioni da intraprendere in base allo stato attuale dell’ambiente.

Il processo di apprendimento in RL tipicamente segue questi passaggi:

  1. L’agente osserva lo stato corrente dell’ambiente.
  2. Sulla base della policy corrente, l’agente sceglie e compie un’azione.
  3. L’ambiente cambia stato in risposta all’azione dell’agente.
  4. L’agente riceve una ricompensa (positiva o negativa) dall’ambiente a seguito dell’azione compiuta.
  5. L’agente aggiorna la sua policy in base all’esperienza acquisita (azione compiuta, stato successivo, ricompensa ricevuta).

Per aggiornare la policy, l’agente può utilizzare vari algoritmi di apprendimento per rinforzo, tra i quali:

  • Q-learning: un metodo model-free che stima il valore di una coppia stato-azione, senza necessità di modellare l’ambiente.
  • SARSA (State-Action-Reward-State-Action): simile al Q-learning, ma aggiorna i suoi valori basandosi sulla policy corrente anziché sulla scelta ottimale.
  • Deep Reinforcement Learning: combina reti neurali con RL per gestire ambienti con stati ad alta dimensionalità, come giochi o simulazioni complesse.
  • Policy Gradient: invece di apprendere una funzione di valore, l’agente apprende direttamente la policy che mappa gli stati alle probabilità delle azioni.

L’apprendimento per rinforzo trova applicazione in diversi campi, come i giochi (ad esempio, AlphaGo), la robotica, l’ottimizzazione di sistemi di controllo, la gestione di portafogli finanziari e la navigazione autonoma.

In definitiva, 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

L’apprendimento semi-supervisionato è una tecnica di machine learning che si colloca tra l’apprendimento supervisionato e quello non supervisionato. In questo tipo di apprendimento, il modello viene addestrato utilizzando un insieme di dati che comprende sia esempi etichettati (cioè con la risposta corretta fornita) sia esempi non etichettati. La maggior parte dei dati disponibili nella pratica sono spesso non etichettati perché ottenere etichette accurate può essere costoso e richiedere molto tempo. L’apprendimento semi-supervisionato sfrutta la grande quantità di dati non etichettati per migliorare la performance del modello anche quando ci sono poche etichette disponibili.

Ecco alcune tecniche comuni nell’apprendimento semi-supervisionato:

  1. Self-training (auto-addestramento): inizia addestrando un modello supervisionato con il piccolo set di dati etichettati, poi utilizza il modello per etichettare i dati non etichettati. Le etichette più confidenti (ovvero quelle con maggiore probabilità) vengono quindi utilizzate per addestrare nuovamente il modello.
  2. Co-training: due (o più) modelli vengono addestrati separatamente su diverse visualizzazioni del dataset (caratteristiche diverse o sottoinsiemi di caratteristiche). Successivamente, i modelli etichettano dati non etichettati l’uno per l’altro e si addestrano su queste nuove etichette.
  3. Transductive Support Vector Machines (TSVMs): sono una variazione delle tradizionali Support Vector Machines (SVM) che cercano di trovare una divisione che non solo separi al meglio i dati etichettati nelle rispettive categorie, ma che anche posizioni i dati non etichettati il più lontano possibile dal confine di decisione.
  4. Graph-based methods: in questi metodi, i dati vengono rappresentati come un grafo, con i nodi che rappresentano esempi e gli archi che rappresentano la similarità tra gli esempi. Le etichette vengono poi propagate attraverso il grafo dai nodi etichettati a quelli non etichettati, solitamente in base alla loro vicinanza o similarità.
  5. Generative Models: questi modelli cercano di apprendere la distribuzione sottostante dei dati etichettati e non etichettati per poi generare nuovi esempi o etichettare quelli esistenti.

L’apprendimento semi-supervisionato è particolarmente utile quando abbiamo a disposizione un grande volume di dati non etichettati e raccogliere etichette è costoso o impraticabile. Trova applicazione in molti settori, come il riconoscimento del linguaggio naturale, la visione artificiale, la bioinformatica e molti altri campi in cui i dati non etichettati sono abbondanti ma le etichette sono costose da ottenere.

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).

Intelligenza Artificiale cosa è

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.

Nuova call-to-action

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 e ML

Il machine learning svolge un ruolo centrale nell’Industria 4.0 grazie alla sua capacità di riconoscere modelli nei dati e di prendere decisioni autonome o di fornire informazioni utili per decisioni guidate dall’uomo.

Ecco alcuni modi in cui il ML contribuisce all’Industria 4.0:

  1. Manutenzione predittiva: i modelli di ML possono analizzare i dati provenienti da sensori installati su macchinari per prevedere guasti o esigenze di manutenzione prima che si verifichino. Questo riduce i tempi di fermo macchina e aumenta l’affidabilità e la longevità degli asset.
  2. Ottimizzazione della catena di approvvigionamento: attraverso l’analisi di grandi quantità di dati, il ML può prevedere i trend di domanda, ottimizzare i livelli di inventario e migliorare la logistica.
  3. Controllo qualità: sistemi di visione artificiale potenziati da ML possono identificare difetti nei prodotti con alta precisione e velocità, superando le capacità umane e riducendo gli sprechi.
  4. Personalizzazione di massa: il ML può facilitare la produzione di beni personalizzati su vasta scala analizzando le preferenze dei clienti e adattando rapidamente i processi di produzione.
  5. Robotica avanzata: i robot industriali possono essere equipaggiati con algoritmi di ML che consentono loro di apprendere e adattarsi a nuovi compiti o ambienti, aumentando la flessibilità delle linee di produzione.
  6. Ottimizzazione dei processi: il ML può essere utilizzato per analizzare e ottimizzare i processi produttivi, individuando inefficienze o suggerendo miglioramenti per ridurre i costi e aumentare la produttività.
  7. Sicurezza sul lavoro: il ML può contribuire a migliorare la sicurezza sul lavoro analizzando i dati relativi agli incidenti e identificando potenziali rischi, nonché monitorando gli ambienti di lavoro in tempo reale per rilevare situazioni pericolose.
  8. Integrazione verticale e orizzontale: il ML facilita la comunicazione e la collaborazione tra diverse fasi della produzione (verticale) e tra diverse unità produttive o aziende (orizzontale), contribuendo a creare sistemi integrati e reattivi.

Per implementare con successo il machine learning nell’Industria 4.0, le aziende devono investire in infrastrutture di dati robuste, competenze tecniche, e adottare un approccio strategico alla trasformazione digitale. La combinazione di ML con altre tecnologie come l’Internet of Things (IoT), la realtà aumentata (AR), i sistemi cyber-fisici (CPS) e il cloud computing è ciò che realmente abilita le potenzialità dell’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

Studio delle super tempeste solari con ML

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 e ML

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

Digital Technologies - Infografica- Mappa dell'innovazione delle imprese

Articoli correlati

Articolo 1 di 4