Validazione su Dati Reali: 79.6% su UCI HAR Senza Feature Engineering
Abbiamo testato Luviner sul dataset pubblico UCI HAR — dati reali da smartphone, 6 attivita', 30 volontari. I neuroni streaming full-sequence battono sia l'approccio stateless che windowed nel monitoraggio continuo.
Dalle Simulazioni ai Dati Reali
Il nostro benchmark precedente ha mostrato i neuroni streaming in streaming superare gli approcci tradizionali su dati industriali simulati. La domanda naturale: il vantaggio si mantiene su dati reali?
Abbiamo testato sul dataset UCI HAR (Anguita et al., 2013) — uno dei benchmark più citati nel riconoscimento attività. Dati reali di accelerometro e giroscopio da 30 volontari con smartphone alla cintura.
Lo Scenario: Monitoraggio Continuo delle Attività
Il task standard UCI HAR valuta la classificazione di finestre isolate. Ma non è così che funzionano i wearable nella realtà. Uno smartwatch riceve un flusso continuo di dati. La persona cammina, poi si siede, poi si alza, poi sale le scale. Il sistema deve riconoscere ogni attività in tempo reale.
Abbiamo costruito sequenze multi-attività concatenando finestre reali UCI HAR di attività diverse — creando scenari realistici con 4-6 transizioni per sequenza.
Le Attività
- CAMMINATA — pattern di accelerazione periodico
- SALITA SCALE — simile alla camminata con inclinazione in avanti
- DISCESA SCALE — pattern d'impatto diverso
- SEDUTO — movimento minimo, dominato dalla gravità
- IN PIEDI — molto simile a seduto dal punto di vista dei sensori
- SDRAIATO — cambiamento dell'asse gravitazionale
Le coppie difficili: seduto vs in piedi (letture quasi identiche) e salita vs discesa scale (differenze sottili nel timing degli impatti).
Tre Approcci a Confronto
Luviner Streamingo: Addestrato con train_sequential() su sequenze multi-attività. In inferenza, dati raw a 9 assi campione per campione. Lo stato dei neuroni accumula contesto attraverso le transizioni.
Stateless: Stessa rete, ogni campione classificato indipendentemente. Nessuna memoria.
Windowed Features: Buffer di 32 letture, 36 feature statistiche (media, deviazione standard, range, roughness per canale). Approccio embedded ML classico.
Risultati
| Metodo | Accuratezza | RAM (float) | Feature Engineering |
|---|---|---|---|
| Full-Sequence (adjoint) | 79.6% | 105 | Nessuna |
| Luviner Streamingo | 75.5% | 105 | Nessuna |
| Stateless | 68.6% | 9 | Nessuna |
| Windowed Features | 30.6% | 324 | Manuale (36 feature) |
Risultati Chiave
- +11.0% rispetto allo stateless — la memoria streaming ha valore reale su dati reali
- +49.0% rispetto al windowed — le feature statistiche non catturano le transizioni
- 3x meno RAM dell'approccio windowed, con accuratezza decisamente migliore
Perché il Windowed Crolla
L'approccio windowed funziona bene per classificare finestre isolate. Ma nel monitoraggio continuo con transizioni, la finestra scorrevole contiene campioni di due attività diverse durante le transizioni. Media e deviazione standard di camminata + seduta non rappresentano bene nessuna delle due.
I neuroni streaming gestiscono questo naturalmente: il loro stato interno evolve attraverso le transizioni, rilevando il cambio da un pattern di attività all'altro.
Cosa Significa
Questa è la prima validazione di Luviner su un dataset pubblico reale con dati da sensori reali di persone reali. I risultati confermano quanto dimostrato sui dati sintetici:
- La memoria streaming ha valore reale — +11.0% di accuratezza senza overhead
- Nessuna feature engineering necessaria — dati raw a 9 assi, nessun buffer
- Gestisce le transizioni — il monitoraggio continuo è dove i neuroni streaming brillano
Per dispositivi wearable, monitor industriali e sensori medicali in modalità continua, questa è l'architettura giusta.
Provalo
docker exec luviner-edge-ai-1 python -m cli.main har
Il benchmark scarica automaticamente il dataset UCI HAR ed esegue il confronto completo.