1 votos

Red neuronal - ¿Debo eliminar todas las variables derivadas / calculadas?

Estoy utilizando una red neuronal para controlar el movimiento de un personaje en un juego. Actualmente tengo una gran cantidad de dimensiones y en el interés de recortarlas para mejorar el almacenamiento y la manejabilidad del código, estoy considerando eliminar todas las variables derivadas, es decir, cualquier variable que pueda ser calculada a partir de los datos ya enviados a la red.

Un ejemplo de ello sería la relación entre a) la posición, b) la velocidad y c) la aceleración a lo largo de una trayectoria. Actualmente, envío los últimos 50 puntos de datos de los tres a la NN para ayudarle a decidir su próximo movimiento. Sin embargo, me pregunto si el control/error del sistema podría minimizarse con la misma facilidad enviando sólo la posición. Teóricamente, la red neuronal debería ser capaz de derivar la velocidad y la aceleración en un punto en el tiempo por completo por sí misma dado el historial de posición.

En general, ¿se recomienda la reducción de dimensiones en esta capacidad? ¿Por qué o por qué no?

Sé que la recomendación habitual en este caso es probar y ver qué pasa, pero en este caso hay tantas variables que llevaría días probar, así que esperaba escuchar la experiencia de alguien en este tipo de situación y cuál es la regla general.

Pregunta adicional: ¿sería esta evaluación/decisión diferente para una red neuronal (que intenta asignar funciones a los datos) en comparación con un bosque aleatorio (que parece utilizar más un enfoque de vecino más cercano)?

¡Gracias!

0voto

James Howlett Puntos 11

No he trabajado personalmente con este tipo de predicción de movimiento, pero en mi experiencia con otros problemas suelo eliminar características que son simples transformaciones lineales de otras. La razón por la que hago esto es porque una transformación lineal de una transformación lineal es simplemente otra transformación lineal. Por lo tanto, si empezamos con 2 características, añadimos una tercera característica que es una transformación lineal de las dos primeras, y luego pasamos estas características a través de un clasificador lineal, el resultado seguirá siendo una transformación lineal de las dos primeras características. Además, la dependencia lineal entre características puede perjudicar a los clasificadores de redes no neuronales que necesitan estimar las matrices de covarianza, haciendo que estas matrices no sean de rango completo.

Sin embargo, puede ser útil incluir transformaciones no lineales de las características originales. Esto podría ser una forma de incluir el conocimiento de los expertos en el modelo, lo que podría ser bastante importante si no se tienen muchos datos de entrenamiento.

Para los clasificadores que no calculan transformaciones lineales (como los árboles de decisión y los bosques aleatorios), creo que es posible que incluir transformaciones lineales de características pueda ayudar. Si el árbol de decisión se divide en una sola característica a la vez (como el popular algoritmo C4.5), se le da al algoritmo de entrenamiento la opción de dividir los datos utilizando transformaciones lineales en lugar de sólo las características en bruto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X