Problema adattamento rete neurale arduino

Salve,

sto implementando un progetto relativo all'apertura di una porta tramite l'uso di una sequenza (rappresentata come il tempo che intercorre tra un battito e l'altro) di dati raccolti da un piezo sensor usando una board arduino micro.
Nell'implementazione sto provando ad usare una rete neurale con un solo hidden level, con 7 neuroni in ingresso, 8 nel livello nascono e un output.
Faccio una breve descrizione dei dati che sto usando:
Come training set per addestrare la rete sto usando una matrice definita da me dove in ogni riga della matrice ho dei valori casualmente distribuiti tra 0 e 5000, dove 5000 (espresso in millisecondi) rappresenta l'intervallo durante il quale viene acquisita la sequenza di colpi. Ovviamente questi valori vengono successivamente normalizzati tra 0 e 1:

{200, 1500, 700, 2800, 370, 3200, 2200},
{250, 600, 1200, 1900, 200, 3000, 3800},
{500, 600, 300, 1000, 1500, 2000, 4700},
{200, 550, 350, 1400, 700, 1500, 3000},
{600, 1400, 2200, 3700, 2500, 4600, 4200},
{280, 760, 540, 1220, 2900, 1600, 4000},
{500, 750, 1900, 1200, 2300, 3000, 2100},
{780, 1430, 2500, 3670, 540, 1500, 3100}

L'output desiderato relativo al pattern segreto che permette l'apertura della porta è dato da una matrice colonna come segue, ovviamente anche essa normalizzata successivamente tra 0 e 1:
{600},
{510},
{1250},
{0},
{0},
{0},
{0},
{0}

Allora, in breve la rete neurale non farà altro che prelevare ogni riga della matrice del training set dove ogni elemento della riga verrà associato ad un neurone e verrano effettuate le relative moltiplicazioni con i pesi inizialmente impostati random tra 0 e 1, successivamente calcolata la funzione di attivazione sigmoide, moltiplicazione con gli altri pesi relativi all'uscita dai neuroni del hidden level ed infine il calcolo dell'errore e la backpropagation.
Premetto che ho usato un learningrate pari a 0.3 e un momentum pari a 0.9 e come cicli di training 8000.

Il mio dubbio sta nel fatto che, tuttavia io abbia impostato un errore pari a 0.0001 per l'adattamento e la rete riesce a soddisfarlo, quando effettuo il testing della rete essa sbaglia nonostante io riesca a darle come input sequenze piuttosto simili a quella segreta. Inoltre anche se ad esempio il mio valore desiderato è 0.9 la rete raggiunge 0.3, 0.3 la rette raggiunge 0.12, 0 la rete raggiunge 0.2, essa riesce lo stesso ad ottenere un errore bassissimo di 0.0001 anche se secondo me non potrebbe accadere una cosa del genere visto che si discosta abbastanza da quello desiderato.
Secondo voi potrebbe essere un problema relativo al basso numero di neuroni in ingresso, quindi un povero training set?
Avete qualche idea?

Grazie.

Buonasera,
essendo il tuo primo post, ti chiederei cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo