Focus

Imparare dall'esperienza per anticipare i bisogni domestici

Con la crescente influenza della tecnologia sulle nostre vite, sta diventando sempre più importante l'introduzione di nuove soluzioni di Ambient Intelligence che riescano ad adattarsi ai cambiamenti del comportamento degli utenti e che permettano così alle persone di organizzare la propria vita convivendo con le tecnologie informatiche. In questo lavoro vengono utilizzate tecniche di Machine Learning per la creazione di una soluzione di Ambient Intelligence che dimostra come possano essere anticipate e soddisfatte le esigenze degli utenti che vivono in un ambiente equipaggiato con un qualsiasi sistema domotico di mercato.
Ambient Intelligence (AmI) indica la presenza di un ambiente digitale sensibile, adattabile e reattivo alla presenza di persone. E' stato sviluppato di un prototipo di sistema che impara dall'esperienza e dalle abitudini delle persone mentre vivono nei loro ambienti domestici abituali. L'approccio tecnologico è stato quello dell'utilizzo di tecniche di Data Mining per l'apprendimento tramite le regole associative, unito all'impiego di appositi algoritmi statistici. Come mostrato nella Figura 1, il primo passo del ciclo di vita del nostro sistema AmI è l'acquisizione delle informazioni sugli utenti e l'ambiente dove essi vivono utilizzando un modulo software per il monitoraggio. I dati così acquisiti vengono poi analizzati ed elaborati dal modulo di gestione delle informazioni e successivamente un software di generazione delle decisioni esegue le operazioni necessarie ad identificare e selezionare le corrette azioni da eseguire. Le decisioni vengono poi tradotte in comandi da inviare agli attori destinatari (cioè le persone o i dispositivi ambientali).
Questi concetti vengono applicati all'interno di un ambiente domestico dotato di impiantistica domotica, cioè di un sistema che permette di controllare e gestire in modo automatico tutti gli impianti domestici. Tutto ciò è possibile poiché si utilizza il framework DomoNet, anch'esso sviluppato nel nostro Laboratorio di Domotica dell'Istituto di Scienza e Tecnologie dell'informazione (ISTI) del Consiglio Nazionale delle Ricerche d'Italia (CNR) di Pisa. L'applicativo che implementa la soluzione in esame è infatti un componente semantico di DomoNet che si basa sul concetto della sequenza delle azioni. Nel nostro contesto, una sequenza di azioni è un insieme formato da un numero indefinito di normali interazioni con i dispositivi domotici ed in cui l'ordine della loro esecuzione è irrilevante.
Il nostro prototipo include due moduli di machine learning complementari e interoperabili:
1. Association rules manager: questo modulo applica un paradigma di Data Mining. Esso apprende le sequenze delle azioni che rappresentano abitudini degli utenti, considerando sia tutte quelle che si verificano entro un predeterminato breve spazio temporale, sia quelle che vengono eseguite con sistematica periodicità (cioè ogni giorno, alla stessa ora). Al fine della selezione delle regole pertinenti, questo lavoro viene fatto sfruttando la tecnica di apprendimento delle regole associative con il vincolo dell'algoritmo Apriori. Per affrontare questa problematica esistono in letteratura molti altri approcci di Machine Learning (come per esempio quelli basati sulle reti neurali, su una variante dei classificatori di Bayes o sui modelli di Markov), la scelta da noi effettuata però è stata guidata dall'esigenza di avere una facilità della gestione di un elenco non ordinato di azioni e contemporaneamente una velocità di esecuzione sufficientemente breve.
2. Statistic rules manager: il secondo modulo è stato progettato per imparare gli scenari relativi alle preferenze degli utenti domestici, come i livelli preferiti di temperatura e illuminazione per ogni stanza, o gli scenari che permettono l'identificazione di anomalie che si discostano dai valori usuali. A tale scopo, il modulo crea un profilo utente ottenuto utilizzando un approccio statistico che analizza la frequenza e la percentuale di utilizzo degli apparecchi. I dati necessari vengono ottenuti attraverso il monitoraggio delle attività di DomoNet confrontate con le preferenze utente imparate dall'esperienza. Tale inferenza statistica viene eseguita durante l'intera giornata ad intervalli prestabiliti. Il sistema nel suo complesso impara le regole in tempo reale ed è in grado di modificare la propria modalità operazionale adattandosi al cambiamento delle abitudini degli utenti.
Il prototipo è stato sviluppato e testato presso il Laboratorio di Domotica ISTI dove è istallata ed è in esecuzione l'architettura DomoNet. Tre colleghi volontari e volutamente senza alcuna conoscenza delle funzionalità del prototipo hanno eseguito delle prove sul campo, effettuando ciascuno, all'interno dell'ambiente, 18 sequenze di azioni nell'arco temporale di un mese.
Altri test sono stati fatti prima variando in modo empirico i parametri di fiducia, supporto, dimensione della finestra e soglia di correlazione della percentuale di utilizzo dei dispositivi e poi attraverso l'applicazione del metodo K-Fold Cross Validation sull'insieme dei dati incrementato dinamicamente durante l'uso del sistema. Il parametro di supporto è stato decrementato ogni giorno in modo proporzionale e ha raggiunto lo zero, quando il dataset è stato sufficientemente grande.
Questa metodologia di lavoro ha permesso di evitare che il sistema imparasse sequenze di azioni non corrette durante la prima fase del processo (quando il set di dati non conteneva informazioni sufficienti affinché gli algoritmi producessero risultati affidabili). Una volta che il dataset è stato "warmed-up" (cioè è stato sufficientemente grande), il processo di apprendimento ha potuto aggiungere nuove regole provenienti dalle nuove abitudini ed i valori dei parametri di supporto sono stati via via decrementati. I migliori risultati sono stati ottenuti impostando il supporto iniziale al 10%, la fiducia al 90%, la dimensione della finestra a 30 secondi e la soglia di correlazione alla percentuale dell'80%. Con tale configurazione sono state infatti identificate il 90% delle sequenze di azioni.
Al termine del periodo di apprendimento, il sistema era in grado di riconoscere le abitudini di due dei tre volontari. Il primo era abituato a fare la doccia circa 7 del mattino e a guardare la TV con la luce soffusa. In questo caso il sistema ha imparato a riscaldare il bagno al momento giusto la mattina e ad accendere la TV e la luce del soggiorno all'intensità desiderata, spegnendo contemporaneamente tutte le luci nelle altre stanze. Il secondo utente era abituato a tornare a casa dal lavoro la sera ed a rilassarsi in camera da letto ascoltando musica prima di fare la doccia. Al momento in cui l'utente la sera accendeva la luce in camera da letto, il sistema ha imparato ad eseguire la musica preferita dell'utente per tutto il tempo occorrente per riscaldare la stanza da bagno alla temperatura preferita. (Vittorio Miori, Dario Russo and Alessandro Pulidori)

Immagini: