Passa ai contenuti principali

Cerchio o croce


Sono lieto di condividere i risultati di un esperimento di classificazione di gesti utilizzando sensori IMU (accelerometro e giroscopio). L'obiettivo era distinguere tra due movimenti della mano: tracciare un cerchio o una croce nell'aria. 
L'addestramento è iniziato con un dataset di segnali IMU a 6 dimensioni raccolti col mio smartphone durante l'esecuzione dei gesti. 
Inizialmente ho utilizzato reti neurali ricorrenti (GRU) e convoluzionali (CNN), ma entrambe hanno mostrato un problema critico: predicevano sistematicamente una sola classe, il cerchio, raggiungendo appena il 49% di accuracy. Nonostante il bilanciamento del dataset e l'ottimizzazione degli iperparametri, le reti neurali profonde faticavano a convergere su questo tipo di dati temporali.
La vera svolta è arrivata quando ho deciso, un po' a malincuore, di abbandonare le reti neurali e cambiare approccio, passando a un  sistema basato su feature ad hoc. 
Ho estratto, con l'aiuto dell'IA, le caratteristiche significative da ogni sequenza temporale, includendo statistiche nel dominio del tempo (media, deviazione standard, skewness, kurtosis), analisi nel dominio della frequenza tramite FFT, metriche di correlazione tra gli assi, caratteristiche derivate come jerk e accelerazione angolare, e feature specifiche per distinguere movimenti circolari da lineari.
Con queste feature, un modello Random Forest ha raggiunto il 92% di accuracy sul test set, con l'86,84% di accuratezza sui cerchi e il 97,30% sulle croci. Il modello finale è stato ottimizzato attraverso Grid Search con cross-validation a 5 fold, testando 216 combinazioni di iperparametri e raggiungendo un CV score del 94,35%.

Lezioni apprese
Questo esperimento ha dimostrato che a volte la soluzione più sofisticata non è sempre la migliore. 
Le reti neurali deep, pur essendo potentissime, richiedono spesso grandi quantità di dati e possono avere difficoltà con dataset piccoli o sbilanciati come il mio. 
L'estrazione di feature significative, combinato con algoritmi di machine learning classici come il Random Forest, può essere incredibilmente efficace quando si comprende bene il dominio del problema. 
La chiave è stata identificare le caratteristiche fisiche che distinguono realmente i due gesti, come la continuità del movimento per i cerchi rispetto ai cambi di direzione netti per le croci.
Per ora il modello classico vince, ma la partita non è chiusa: con più dati e più varietà nei gesti, le reti neurali potrebbero finalmente dire la loro. Magari il prossimo esperimento glielo concedo.

 

Post popolari in questo blog

Salmoni, scarpette, cetrioli e altro

Tutto il testo contenuto in questa pagina è stato pensato e scritto dall'autore del blog.   1. Come il salmone 2. Ooops! 3. Le scarpette hi-tech 4. Equivoci contemporanei 5. I saccenti 6. Medaglie di legno 7. La festività del Nulla 8. Gli aggiornamenti elettronici del Libro dell'Apocalisse 9. Dubbi ne ho 10. La maieutica del vulcaniano 11. Un piacevole vasetto di miele 12. Povere sfere 13. Caos comune mezzo gaudio 14. La fontana senza volti 15. Il piromane super beffardo 16. Boom di serpenti 17. Sistemi in via di degradazione 18. Il gatto nero 19. Alain Delon è ancora vivo? 20. Per sempre con i cani 21. Eventi imprevedibili 22. I robot sottomessi 23. Lady Gaga e Bruno Mars incantano 24. Definizioni mancate 25. Il mio nemico drone 26. Errore di valutazione 27. Ringraziamenti 28. Cari cetrioli, vi scrivo 29. Boom di detective 30. Gli UFO trascurati 31. Il grande salto delle rane 32. La malattia artificiale 33. Homo consumens 34. Lacune informatiche 35. Sei troppo! 36. ...

Generatore Markmap HD

Pagina per il download di  Memento Lite Generatore Markmap Avanzato - Specifiche per l'utente finale Scopo principale: l'applicazione “Generatore Markmap Avanzato” permette agli utenti di trasformare testo scritto in formato Markdown in mappe mentali interattive. Offre funzionalità per creare, visualizzare, salvare, modificare, gestire ed esportare queste mappe mentali in vari formati. Interfaccia utente: l'interfaccia è strutturata nelle seguenti sezioni principali: Link al blog esterno: un link “🌐 Visita il Blog: Pensieri d'assestamento” che apre il blog associato in una nuova scheda. Intestazione (Header): Titolo: “Generatore Markmap Avanzato”. Sottotitolo: “Trasforma, salva e condividi il tuo testo Markdown in mappe mentali interattive”. Area Principale dei Contenuti: divisa in due pannelli affiancati (o impilati su schermi piccoli): Pannello di Input (Editor Markdown): Titolo: “✏️ Editor Markdown”. Area di Testo: un campo multiriga dove l...

Neural Tic-Tac-Toe Lab

Questo articolo presenta l'implementazione di una rete neurale specializzata nel gioco del tris (tic-tac-toe), addestrata mediante una metodologia innovativa basata sull'enumerazione completa degli stati di gioco. L'approccio supera le limitazioni dei metodi tradizionali di campionamento casuale, garantendo una copertura totale dello spazio delle configurazioni possibili. Struttura della rete neurale La rete implementata utilizza un'architettura feed-forward compatta con 9 neuroni di input, 16 neuroni nel layer nascosto e 9 neuroni di output. I neuroni di input ricevono la rappresentazione numerica dello stato della board (-1, 0, 1 per ciascuna delle 9 caselle), mentre i neuroni di output producono valutazioni numeriche per ogni possibile mossa. Il layer nascosto utilizza 16 neuroni con funzione di attivazione relu per introdurre capacità di apprendimento non-lineare. La rete contiene complessivamente 297 parametri: 144 pesi per le connessioni input-hidden, 16 bi...