Estoy usando Brain para entrenar una red neuronal en un conjunto de características que incluye valores positivos y negativos. Pero Brain requiere valores de entrada entre 0 y 1. ¿Cuál es la mejor manera de normalizar mis datos?
machine-learning
neural-network
feature-scaling
normalization
javascript
Jonathan Shobrook
fuente
fuente
Encuentre el número positivo más grande y el número más pequeño (más negativo) en la matriz. Agregue el valor absoluto del número más pequeño (más negativo) a cada valor en la matriz. Divide cada resultado por la diferencia entre el número más grande y el más pequeño.
fuente
digamos que tiene un vector / matriz de valores
v = [1, -2, 3]
La salida al final será
v = [0.6, 0, 1]
. Explicación:Empujar todo el rango de valores para comenzar desde 0, para que no tengamos negativos
Dividiendo los valores por (max - min) de rango, de modo que max será 1
fuente
Antes de hacer eso, es posible que desee verificar los valores atípicos. Digamos que el 99% de los datos se encuentran en el rango (-5, 5), pero un pequeño individuo toma un valor de 25.0. Su matriz normalizada se agruparía alrededor (0, 0.3), y eso causaría problemas para que la red neuronal aprenda.
fuente