Actualmente estoy realizando un proyecto de detección de baches y redes neuronales. Hasta ahora, tengo un teléfono Android que lee las lecturas del acelerómetro y escribe el eje X, Y, Z, así como la amplitud y la marca de tiempo actual en un archivo CSV. Los datos son entonces normalizados usando la normalización min-max y utiliza las lecturas del eje Y del archivo CSV. El problema al que me enfrento para que la red neuronal aprenda un bache es el hecho de que ¿qué datos debo alimentar a la red neuronal de retropropagación? ¿Debo establecer un umbral y cuando el eje Y llegue a este punto, obtener los 5 puntos anteriores y los 5 posteriores y luego alimentar la red con 11 entradas? No quiero sobreentrenar la red ni alimentarla con datos en diferentes posiciones cada vez.
Entrenamiento - También estoy empezando a reunir los datos recogidos y crear un conjunto de datos de entrenamiento - ¿debería poner cosas como las lecturas de las carreteras normales/con baches/de la velocidad, así como los baches? ¿Qué tamaño debe tener un conjunto de entrenamiento? o ¿es cierto que "cuantos más datos, mejor"?
Este es el aspecto de los datos sobre baches.
Así es como se ven los datos del badén.
Una muestra de los datos recogidos:
X-Axis Y-Axis Z-Axis Timestamp
-0.371827, 8.513097, 5.441484, 165401
-0.601749, 7.976613, 5.326523, 165601
-0.333506, 8.053253, 5.441484, 165801
-0.256866, 8.206534, 5.364844, 166001
0.049697, 8.398136, 5.364844, 166202
-0.371827, 8.436457, 5.211563, 166400
-0.256866, 8.551417, 5.709726, 166601
-0.256866, 8.513097, 5.403164, 166801
-0.333506, 8.474776, 5.709726, 167000
-0.563428, 8.628057, 5.594766, 167201
-0.563428, 7.401808, 4.713398, 167402
-1.981280, 5.447472, 4.406836, 167602 POTHOLE
-0.180225, 5.600753, 5.403164, 167800 POTHOLE
-0.984952, 8.053253, 4.445156, 168001
-1.214874, 8.666378, 5.671406, 168201
-0.525108, 7.210207, 3.870352, 168401
-1.138233, 7.286847, 5.824687, 168600
-0.601749, 10.045910, 5.288203, 168801
-0.180225, 8.206534, 5.173242, 169001
0.279619, 7.861651, 5.518125, 169200
0.202978, 8.934620, 5.824687, 169401
-0.065264, 8.321495, 5.364844, 169601
-0.065264, 8.628057, 5.709726, 169800
-0.716710, 8.014933, 5.748047, 170001
-0.141905, 8.513097, 5.441484, 170200
-0.026944, 8.206534, 5.594766, 170401
-0.601749, 8.168214, 5.058281, 170601
Algoritmo
El algoritmo que propongo es establecer un determinado umbral, como la línea 12, en los datos de la muestra, cuando el eje Y alcanza un determinado umbral, como <7, entonces pasa los 5 puntos anteriores y los 5 puntos posteriores a la NN.