Подтвердить что ты не робот

Прогноз погоды с использованием нейронной сети

Я пытаюсь написать программу для прогнозирования погоды, используя backpropagation. Я новичок в этой области. У меня есть исторические данные с различными параметрами, такими как температура, влажность, скорость ветра, количество осадков и т.д.

Я смущен тем, как предоставить эти данные входному слою. Каждому входу node присваиваются все данные за данный день, или мне нужна другая сеть для каждого параметра? Я также путаюсь с уровнем вывода.

4b9b3361

Ответ 1

Во входном слое есть X отдельных узлов для каждого измерения (погода, ветер и т.д.) входных данных, где X - количество дней, чтобы оглянуться назад (пусть скажем 4-7). Затем вы должны нормализовать каждое измерение ввода в подходящем диапазоне, скажем, [-1.0, 1.0].

Сделайте второй "скрытый" слой, полностью связанный с первым слоем (а также с исправлением 1.0 "смещение" node, чтобы служить точкой исправления). Здесь должно быть меньше узлов, чем во входном слое, но это просто эмпирическое правило, вам может потребоваться поэкспериментировать.

Последний слой - это ваш выходной слой, полностью связанный со вторым слоем (а также падение смещения). Имейте отдельный выходной нейрон для каждого измерения.

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

(Также обратите внимание, что существует метод, называемый "временным обратным распространением", который настроен для данных временных рядов.)

Ответ 2

Мне кажется, что деревья решений могут быть лучшим решением этой проблемы, чем нейронные сети. Здесь приводится описание того, как работают деревья решений. Кроме того, имеется доступное программное обеспечение, которое реализует различные классификаторы, включая нейронные сети. Я работал с Weka, и он работает очень хорошо. Существуют также библиотеки, которые можно использовать для использования функциональности Weka с такими языками программирования, как Java и С#. Если вы решите работать с Weka, убедитесь, что вы знакомы с форматом .arff, описанным здесь.

Ответ 3

Я использовал (и получил) эту книгу: Введение в нейронные сети с Java

Я нашел это полезной ссылкой. Он охватывает довольно широкий спектр тем NN, включая backpropogation.