¿Las entradas a una red neuronal deben estar en [-1,1]?

8

Quiero crear un pronóstico del tiempo usando redes neuronales. Todos los ejemplos que vi usaban solo valores [-1,1] como entrada. ¿También es posible usar valores más grandes (como presión de aire, grado de cálculo de los últimos días, ...) como entradas y obtener un número como salida?

Gracias

usuario1406177
fuente
Hablando en general de los algoritmos de clasificación y no solo de las redes neuronales, cualquier variable como las que sugieres puede usarse para la clasificación. Se debe incluir cualquier variable que ayude a separar las clases. Incluso el calificador de árbol binario usa dicotomización variable continua al encontrar puntos divididos.
Michael R. Chernick el

Respuestas:

9

Puede normalizar los valores para que use, por ejemplo,

APAP0AP1AP0

donde es la presión de aire actual, es el valor de presión de aire que desea enviar a , y es el valor de presión de aire que desea enviar a .APAP00AP11

Está bien si sus entradas ocasionalmente salen un poco fuera de .[1,1]

Es peligroso si una entrada es generalmente pequeña, pero tiene algunos valores extremos ocasionales. Entonces podría ser mejor dividir la entrada en más de un valor de entrada, o eliminar los valores atípicos y aceptar que la red neuronal tiene un contexto restringido de aplicabilidad. Cambiar la escala para que los valores atípicos estén entre y no solucionará el problema.11

Douglas Zare
fuente
Entonces, ¿AP0 y AP1 son como mis límites para los valores de presión de aire?
user1406177
1
No tienen que ser límites. Son valores de referencia para que la mayoría de los valores se escalen al rango que desee. Entonces, para las temperaturas, puede usar , , aunque ocasionalmente supere los o menos de grados centígrados. No es terrible si el rango es mayor en un factor de , pero trate de no estar apagado en un factor de o puede ralentizar el entrenamiento. T1=35T0=5355210
Douglas Zare el
Teóricamente, escalar sus datos no debería hacer una diferencia para las redes neuronales. Simplemente significa que los pesos óptimos también se escalarán. En la práctica, podría hacer una diferencia porque las representaciones de coma flotante no son exactas, es decir, cuando tiene una gran entrada, sus pesos serán muy pequeños y un pequeño cambio tal vez no se pueda representar. Por otro lado, generalmente tiene funciones de activación sigmoidea, que tienden a saturarse para entradas grandes y luego solo se ajustan lentamente durante el entrenamiento. Eso significa que escalar sus datos a menudo acelera el entrenamiento.
alfa
1
Los métodos de entrenamiento no son invariantes de escala, por lo que el escalamiento afecta la rapidez con la que entrena, incluso si no satura los nodos.
Douglas Zare
1
Escalamiento de datos HACE hacer una diferencia. 1. Los campos con valores más grandes inicialmente tendrán un mayor impacto en la red que los campos más pequeños, ya que las redes se inicializan con números aleatorios dibujados de manera uniforme. Con el tiempo, las actualizaciones de peso escalarán las características, pero esto requiere más esfuerzo. 2. El descenso de gradiente tiene dificultades con los datos no normalizados, ya que aplasta la curva de error, lo que la hace elíptica y, por lo tanto, muy lenta de navegar. Entonces, si está utilizando el descenso de gradiente, esto puede ser un gran problema. 3. La función sigmoidea tiene un gradiente muy pequeño para entradas grandes (y muy negativas).
Simon