Estou usando o Brain para treinar uma rede neural em um conjunto de recursos que inclui valores positivos e negativos. Mas o Brain requer valores de entrada entre 0 e 1. Qual é a melhor maneira de normalizar meus dados?
machine-learning
neural-network
feature-scaling
normalization
javascript
Jonathan Shobrook
fonte
fonte
Encontre o maior número positivo e o menor (mais negativo) na matriz. Adicione o valor absoluto do menor número (mais negativo) a todos os valores da matriz. Divida cada resultado pela diferença entre o maior e o menor número.
fonte
digamos que você tenha um vetor / matriz de valores
v = [1, -2, 3]
A saída no final será
v = [0.6, 0, 1]
. Explicação:Pressionando todo o intervalo de valores para começar de 0, para que não tenhamos negativos
Dividindo os valores por (max - min) do intervalo, para que max seja 1
fonte
Antes de fazer isso, verifique se há discrepâncias. Digamos que 99% dos dados estejam no intervalo (-5, 5), mas um rapaz aceita um valor de 25,0. Sua matriz normalizada se agruparia em torno de (0, 0,3) e isso causaria problemas para a rede neural aprender.
fonte