• Non ci sono risultati.

5.2 Classificazione di eventi compositi

5.2.1 Configurazione dei dati

I dati sono stati raccolti ad una frequenza di 4Hz, e per ognuna delle attivit`a

sono state eseguite trenta raccolte di 10 minuti ciascuna. In totale sono quindi

utilizzate novanta sequenze di 2400 tuple di dati. Ad ogni tupla di dati `e

associato un insieme di valori per identificare il tipo di attivit`a descritta (che successivamente sar`a utilizzato come target). In particolare l’attivit`a di Riposo `

e identificata con −1 − 1 + 1, l’attivit`a di Pulizia con +1 − 1 − 1 e l’attivit`a Esercizio fisico con −1 + 1 − 1.

Una descrizione del dataset utilizzato `e fornita in appendice A.2.

5.2.2

Tecniche di apprendimento automatico utilizzate

per la classificazione

Anche in questo caso, la sperimentazione ha previsto la creazione e l’allena-

mento di una Echo State Network ed `e stata utilizzata la tecnica di Cross Fold

Validation. `E stata eseguita una 3 − F oldV alidation, Ogni fold prevede l’uso

di 42 sequenze in Training, 21 sequenze di Validation ed infine 27 sequenze di Test; in particolare sono state utilizzate sia negli insiemi di Test sia in quelli di

Dimensione del Reservoir Regolarizzazione del Readout LeakyParameter

50 0.1 0.1

100 0.01 0.2

150 0.001 0.3

Validation, varie sequenze per ognuna delle attivit`a svolte. I parametri utiliz- zati per la creazione delle Echo State Networks, sono i seguenti: Sono create 27 ESN con parametri diversi, ed in totale 81 Echo State Networks diverse per le 3 folds. Sulle novanta sequenze totali, le sequenze

18, 24, 5, 12, 10, 16, 14, 21, 6, 48, 54, 35, 42, 40, 46, 44, 51, 36, 78, 84, 65, 72, 70, 76, 74, 87, 66

sono utilizzate come Test set.

Per il Validation set sono usate le sequenze:

fold cleaning exercising relaxing

1 9 26 11 3 2 25 20 39 56 41 33 32 55 50 69 86 71 63 62 85 80

2 15 30 2 28 23 1 27 45 60 32 58 53 31 57 75 90 62 88 83 61 87

3 13 4 22 8 11 30 15 43 34 52 38 41 60 45 73 64 82 68 71 90 74

Per ogni fold, viene eseguito il calcolo dell’errore sulle sequenze presen- ti nel Validation set. Si esegue il calcolo dell’Accuracy per scegliere l’Echo State Network che si adatta meglio per il compito di classificazione. Il cal- colo dell’accuratezza prevede la misurazione di tutti i campioni riconosciuti correttamente; viene eseguito il seguente rapporto:

numero di campioni predetti correttamente numero di campioni totali

Il risultato sar`a un valore fra 0 ed 1 ed in questo caso, `e necessario utilizzare l’ESN con il valore di accuratezza che pi`u si avvicina ad 1, cio`e l’Echo State

Network con pi`u campioni riconosciuti nel Validation set.

Oltre all’accuratezza, per ogni sequenza contenuta all’interno del Validation set, viene calcolato anche il valore di F1 score, misura che valuta la precisione e la sensibilit`a dei risultati predetti rispetto a quelli target ed `e calcolata con la seguente formula:

F

β

=

(1+β

2)true positive

(1+β2)true positive+β2f alse negative+f alse positive

con β = 1. Anche questa misurazione ha valori compresi tra 0 ed 1, valori

vicini ad 1 indicano una maggior precisione ed una maggior sensibilit`a del mo-

La procedura di model selection viene eseguita attraverso il confronto dei va- lori dell’accuratezza per ogni ESN creata, `e possibile altres`ı eseguire la model selection attraverso la stima della F1 score o di un’altra misura scelta dal- l’utente. In questo particolare caso, i valori di F1 score rispecchiano i valori di accuratezza, l’ESN scelta dalla model selection, ha sia il maggior valore di accuratezza rispetto a tutte le ESN create, sia il pi`u grande valore di F1 score.

Alla fine della procedura di cross fold validation, che impiega circa quindici minuti per essere portata a termine, viene scelta la migliore ESN fra tutte quelle disponibili, viene allenata sulle sequenze contenute sia nel Training set sia nel Validation set e viene testata sulle sequenze del Test set che preceden-

temente erano state accantonate. Durante la sperimentazione `e risultato che

l’ESN migliore fra le 81 create `e la numero 77, con un valore di accuratezza di: Accuracy = 0.94999987

cio`e circa il 95% di campioni riconosciuti correttamente. L’ESN 77 ha un

ReservoirDimension di 150 unit`a, ReadoutRegolarization di 0.001 e LeakyPa-

rameter di 0.2.

Nella tabella 5.6 sono mostrati sia i valori di accuratezza sia di F1 score otte- nuti con tale ESN sulle sequenze contenute nel Test Set.

I valori medi per tutte le sequenze di test sia di accuratezza che di F1 score sono:

Accuracy = 0.81 F 1score = 0.83

che corrispondono in media a circa il 80% di campioni riconosciuti, con una precisione ed una sensibilit`a del 83%.

Come menzionato in 5.1, anche in questo caso l’Echo State Network trovata,

ha un numero di unit`a di reservoir maggiore di 50, quindi non idoneo ad essere

ospitata su di un sensore. I moduli di apprendimento su PC (3.1) sono necessari per un corretto funzionamento e per una maggiore precisione dei compiti che dovranno essere svolti da RUBICON. Successivamente alla procedura di Cross

Fold validation, `e creato un modulo di apprendimento su PC, e la ESN ottenuta

Sequenza nel Test Set Accuratezza F1 score 18 0.46 0.30 24 0.99 0.98 5 0.99 0.99 12 0.99 0.99 10 0.99 0.98 16 0.99 0.99 14 1.0 1.0 21 1.0 1.0 6 0.99 0.98 48 0.99 0.99 54 0.99 0.99 35 0.01 0.01 42 0.71 0.55 40 0.21 0.12 46 0.99 0.99 44 0.02 0.01 51 0.99 0.99 36 0.02 0.03 78 1.0 1.0 84 1.0 1.0 65 0.99 0.99 72 1.0 1.0 70 1.0 1.0 76 0.99 0.99 74 1.0 1.0 81 1.0 1.0 66 1.0 1.0

Tabella 5.6: Misure di Accuratezza ed F1 score per ogni sequenza contenuta nel Test set

Capitolo 6

Conclusioni e sviluppi futuri

Il lavoro di tesi ha incrementato le caratteristiche di robustezza e di flessibilit`a del sottosistema Learning Layer di RUBICON, realizzando il meccanismo di recovery dei sensori utilizzati nell’ecologia (3.2), per evitare che un fallimento inatteso di un dispositivo influenzi negativamente la performance dell’ecologia. In caso di notifica di guasto di un sensore da parte del livello di comunicazione, il meccanismo di recovery impiega circa 1 secondo di tempo per riconfigurare la rete di learning, utilizzando un altro sensore al momento inattivo nella re-

te. `E stato inoltre realizzato un meccanismo per la creazione e l’esecuzione di

moduli di apprendimento su PC (3.1), per poter usufruire di reti neurali pi`u

idonee ad eseguire compiti complessi come la localizzazione di un dispositivo robotico in ambienti estesi (5.1) o la classificazione di eventi multipli (5.2). Come mostrato nel capitolo 5, le sperimentazioni hanno portato alla creazione ed alla validazione di un certo numero di ESN, con reservoir di dimensione variabile. La procedura di Cross Fold Validation ha mostrato che le ESN con

dimensione del reservoir maggiore di 50 unit`a, sono pi`u idonee per eseguire

i compiti di localizzazione e classificazione multipla. Per poter sfruttare tali

ESN, che non possono essere caricate sui sensori distribuiti nell’ambiente, `e

quindi necessario sfruttare la potenza di calcolo e lo spazio di memorizzazione di un PC. A tal fine, nel corso della tesi sono stati realizzati moduli di appren- dimento per PC.

Oltre a ci`o, durante la stesura di questa tesi `e stata eseguita una raccol- ta dati presso L’IRCCS Fondazione Stella Maris (Istituto Scientifico per la Neuropsichiatria dell’Infanzia e dell’Adolescenza), per eseguire in futuro una estensiva validazione ed un’analisi delle prestazioni del sistema in un ambiente reale.

Il progetto RUBICON `e ancora in fase di sviluppo, con alcune funzionalit`a al momento non implementate e non ancora utilizzabile dagli utenti. Sviluppi futuri prevedono il rafforzamento del sistema dal punto di vista della flessibi-

lit`a e robustezza, come la realizzazione di un meccanismo di forward recovery

che utilizzi i sensori gi`a in uso per sopperire la perdita di uno o pi`u sensori a seguito di un fallimento. A tal fine sar`a necessario poter eseguire pi`u task contemporaneamente su uno stesso sensore.

Appendice A

Tipi di dati contenuti nei

Dataset utilizzati

A.1

Localizzazione

I dati utilizzati nell’esperimento di localizzazione del Turtlebot in un corridoio 5.1 sono di due tipi: Dati raccolti dalla WSN e dati raccolti dal componente SLAM del dispositivo robotico (amcl) (Catuogno [2013]). I dati amcl saranno utilizzati come dati target durante la fase di apprendimento, mentre i dati raccolti dalla rete di sensori saranno usati come input.

Documenti correlati