Я использую мозг для обучения нейронной сети на наборе функций, который включает в себя как положительные, так и отрицательные значения. Но Brain требует входных значений от 0 до 1. Как лучше всего нормализовать мои данные?
machine-learning
neural-network
feature-scaling
normalization
javascript
Джонатан Шобрук
источник
источник
Найдите самое большое положительное число и самое маленькое (самое отрицательное) число в массиве. Добавьте абсолютное значение наименьшего (самого отрицательного) числа к каждому значению в массиве. Разделите каждый результат на разницу между наибольшим и наименьшим числом.
источник
скажем, у вас есть вектор / массив значений
v = [1, -2, 3]
Выход в конце будет
v = [0.6, 0, 1]
. Объяснение:Перемещение всего диапазона значений с нуля, чтобы у нас не было негативов
Деление значений на (max - min) диапазона, так что max будет 1
источник
Прежде чем сделать это, вы можете проверить наличие выбросов. Скажем, 99% данных находятся в диапазоне (-5, 5), но один маленький парень принимает значение 25,0. Ваш нормализованный массив будет сгруппирован вокруг (0, 0,3), и это вызовет проблемы для обучения нейронной сети.
источник