Kohonen SOM Карты: Нормализация входа с неизвестным диапазоном

StackOverflow https://stackoverflow.com/questions/2651579

Вопрос

Согласно «Внедрением в нейронные сети с Java от Jeff Heaton», вход к нейронной сети Kohonen должны быть значениями между -1 и 1.

Можно нормализовать входы, где диапазон заранее известен: например, RGB (125, 125, 125), где диапазон знает как значения от 0 до 255:
1. Разделите на 255: (125/255) = 0,5 >> (0,5,0,5,0,5)
2. Умножьте на два и вычесть один: ((0,5 * 2) -1) = 0 >> (0,0,0)

Вопрос в том, как мы можем нормализовать вход, где диапазон неизвестен, как наш рост или вес.

Кроме того, некоторые другие документы упоминают, что вход должен быть нормализован значениями между 0 и 1. Что является правильным способом, «-1 и 1» или «0 и 1»?

Это было полезно?

Решение

Вы всегда можете использовать функцию сквоша, чтобы сопоставить бесконечный интервал в конечный интервал. Например, вы можете использовать одинарность

Возможно, вы захотите использовать Tanh (X * L) с выбором вручную, чтобы не ставить слишком много объектов в том же регионе. Так что, если у вас будет хорошее предположение, что максимальные значения ваших данных +/- 500, вы можете использовать Tanh (x / 1000) в качестве сопоставления, где X - это значение вашего объекта, возможно, даже имеет смысл вычесть Угадайте среднего от X, уступая TANH ((X - среднее) / макс).

Другие советы

Из того, что я знаю о Кохонен Сом, они особая нормализация не имеет значения.

Ну, он может посредством конкретных вариантов для значения параметров алгоритма обучения, но самое главное, что разные размеры ваших входных точек должны быть одинаковой величины.

Представьте, что каждая точка данных не является пикселем с тремя компонентами RGB, а вектором с статистическими данными для страны, например, площади, населения, .... Важно для сходимости учебной части, что все эти числа имеют та же величина.

Поэтому на самом деле это не имеет значения, если вы не знаете точный диапазон, вам просто нужно знать примерно характерную амплитуду ваших данных.

Для веса и размера я уверен, что если вы разделите их соответственно на 200 кг, и 3 метра все ваши точки данных попадут в интервал] 0 1]. Вы можете даже использовать 50 кг и 1 метр, важно, чтобы все координаты были бы порядка 1.

Наконец, вы могли бы рассмотреть вопрос о том, чтобы запустить инструменты линейного анализа, такие как POD на данных, которые автоматически дают вам способ нормализовать ваши данные и подпространство для инициализации вашей карты.

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top