Successivo
Machine Learning

News

IoT al servizio del Machine Learning

Alberto Ramponi | 15 Marzo 2018

IoT

Il Machine Learning (ML) è un’applicazione dell’Intelligenza Artificiale (AI – Artificial Intelligence) che permette ai sistemi di imparare dall’esperienza e migliorarsi senza essere esplicitamente programmati a tal fine, con lo scopo di produrre risultati sempre più precisi senza la necessità di intervento umano per affinare l’algoritmo di base.

Anche i più refrattari alla tecnologia hanno sentito parlare, almeno una volta, di “internet delle cose”, intelligenza artificiale e apprendimento automatico: concetti un tempo associati a film di fantascienza che pian piano sono diventati sempre più utilizzati nel mondo reale, suscitando un certo fascino e curiosità. Il Machine Learning (ML) è un’applicazione dell’Intelligenza Artificiale (AI – Artificial Intelligence) che permette ai sistemi di imparare dall’esperienza e migliorarsi senza essere esplicitamente programmati a tal fine, con lo scopo di produrre risultati sempre più precisi senza la necessità di intervento umano per affinare l’algoritmo di base.

La conoscenza utilizzata quindi non è più quella umana trasferita nella macchina, ma è appresa in maniera autonoma. Il ruolo del programmatore in questo caso infatti è quello di sviluppare software che possano avere accesso a dei dati (o esempi) e imparare da essi per prendere decisioni, automatizzare attività che solitamente richiedono l’intervento umano, oppure semplicemente comunicare la conoscenza acquisita a chi ne necessita. Un esempio concreto di questa nuova tecnologia possono essere le raccomandazioni fatte da servizi online come Google, Amazon o Netflix, che cambiano i loro suggerimenti a seconda del comportamento dell’utente.

Andiamo ora più nel dettaglio per capire quali sono i principali metodi di funzionamento: la prima classificazione è certamente quella tra algoritmi Supervised e Unsupervised. Nel primo caso la macchina è progettata per applicare a nuovi dati quello che ha imparato in passato grazie all’uso di esempi precisi, con lo scopo di predire eventi futuri. Questo in pratica significa che la macchina, una volta “allenata” con un gruppo di dati dei quali si conoscono gli output desiderati, potrà usare lo stesso “ragionamento” su altri esempi per predire dei risultati. In questo caso inoltre c’è anche la possibilità di paragonare questi risultati con quelli effettivamente presenti nella realtà, e di conseguenza trovare eventuali errori e imparare anche da essi, correggendo l’algoritmo.

Per Unsupervised Machine Learning invece si intende un sistema che sia in grado di trovare una correlazione nascosta in un gruppo eterogeneo di dati. In pratica cioè in questo caso non ci sono output conosciuti, ma la macchina semplicemente esplora i dati con lo scopo di trovare le possibili associazioni tra essi. Esiste poi una categoria intermedia, il cosiddetto SemiSupervised Machine Learning, che usa sia esempi precisi con output conosciuti che dati eterogenei dai quali estrarre un risultato sconosciuto (questi ultimi sono di solito la maggior parte): in questo caso la capacità di apprendimento viene considerevolmente aumentata dalla combinazione di questi due metodi.

C’è infine un’ultima categoria, quella del Reinforcement Machine Learning, che ha un algoritmo di funzionamento ancora differente: si basa infatti sull’interazione della macchina con il suo ambiente per scoprire errori o conferme. In questo caso infatti la macchina riceverà un feedback positivo se esegue l’azione migliore nel contesto in cui si trova, e potrà così imparare quale azione eseguire in situazioni successive.

A questo punto si può capire come il Machine Learning permetta l’analisi di grandissime quantità di dati per generare risultati che permetterebbero per esempio alle aziende l’abbattimento dei costi, una migliore esperienza per i clienti o la creazione di nuovi modelli di business, ma richieda anche maggiore tempo e risorse per l’”allenamento” rispetto all’analisi dei dati tradizionale. In questi casi però bisogna fare attenzione, perché potrebbe sembrare che ci siano ben poche differenze con gli obiettivi del Data Analytics convenzionale, che sarebbe più che sufficiente ad analizzare tutti i dati e a ottenere i risultati citati poc’anzi nella maggior parte delle aziende.

L’uso del Machine Learning si rende necessario, e anzi fondamentale, solo in caso di grosse quantità di dati eterogenei che cambiano rapidamente: ed è proprio questa una delle caratteristiche fondamentali dell’IoTIn questo caso infatti lo scopo del Machine Learning non è solo l’analisi dei dati in sé, ma è quello di trovare i fattori determinanti (che non sono ancora conosciuti) per ottenere l’obiettivo che vogliamo perseguire. La macchina imparerà da sola quali variabili sono importanti e quali no per il raggiungimento dello scopo, e migliorerà i suoi risultati a ogni successiva analisi: in questo modo sarà anche in grado di predire eventi futuri con precisione sempre maggiore, caratteristica che è spesso sfruttata nell’IoT.

Il primo esempio molto importante riguarda sempre il mondo del business, ed è relativo all’abbattimento dei costi di manutenzione. Grazie al Machine Learning applicato all’IoT infatti è possibile ottenere dati da sensori posizionati su un macchinario produttivo, analizzare in tempo reale le informazioni ricevute insieme ad altre provenienti da macchinari simili e combinare il tutto alla ricerca di situazioni anomale, che vengono prontamente segnalate all’addetto alla manutenzione con un’accuratezza di oltre 90%, risultando così in un abbattimento del tempo (e perciò dei costi) relativi alla sua riparazione. Un’altra applicazione dell’unione tra Machine Learning e IoT già ampiamente presente nelle nostre vite è quella della customizzazione dell’esperienza. Oltre ai già citati e ben noti Amazon e Netflix, un esempio in questo campo potrebbe essere il termostato smart, che è in grado di imparare le preferenze dell’utente per riscaldamento e aria condizionata, in modo da trovare sempre la temperatura giusta al rientro dal lavoro o quando ci si alza al mattino.

Tutte queste possibili applicazioni appena descritte non sono però che la punta dell’iceberg di un campo di applicazione virtualmente infinito, e che ancora è in continua crescita, di pari passo con IoT e Big Data. Tra le innovazioni ormai quasi pronte per essere lanciate su scala globale ci sono sicuramente quelle nel campo della salute, che aiuteranno a salvare vite e migliorare la gestione del sistema sanitario. Come nell’esempio dei macchinari industriali appena citato, grazie all’uso di smart devices indossabili infatti saremo in grado di predire anche quando un individuo avrà bisogno di “manutenzione”, rilevando in modo tempestivo eventuali anomalie nei suoi parametri vitali (battito cardiaco, pressione, glicemia, ecc.) e segnalandole al suo medico o chiamando un’ambulanza se necessario.