Я пытаюсь записать программу для погодного прогнозирования с помощью обратной связи. Я - новичок в этом поле. У меня есть исторические данные с различными параметрами как температура, влажность, скорость ветра, ливень и т.д.
Я смущен тем, как предоставить эти данные входному слою. Каждый - входной узел, которому дадут все данные в течение данного дня, или у меня должна быть другая сеть для каждого параметра? Я также смущен выходным слоем.
На входном слое есть X отдельных узлов для каждого измерения (погода, ветер и т. Д.) Входных данных, где X - количество дней, на которые нужно оглянуться. до (допустим, 4-7). Затем вы должны нормализовать каждое входное измерение в подходящем диапазоне, скажем, [-1.0, 1.0].
Сделайте второй «скрытый» слой полностью связанным с первым слоем (а также с узлом «смещения» входа Fix 1.0, который будет служить фиксированной точкой).Здесь должно быть меньше узлов, чем на входном слое, но это всего лишь практическое правило, вам может потребоваться поэкспериментировать.
Последний слой - это ваш выходной слой, полностью связанный со вторым слоем (а также имеющий уклон). Имейте отдельный выходной нейрон для каждого измерения.
Не забывайте тренироваться с нормализованными значениями как на входе, так и на выходе. Так как это временной ряд, вам может не понадобиться рандомизировать порядок обучающих данных, а подавать их по мере их поступления - ваша сеть также изучит временные отношения (если повезет:)
(Также обратите внимание, что есть метод, называемый «временным обратным распространением», который настроен для данных временных рядов.)
Мне кажется, что деревья решений могут быть лучшим решением этой проблемы, чем нейронные сети. Здесь - описание того, как работают деревья решений. Также доступно программное обеспечение, в котором реализованы различные классификаторы, включая нейронные сети. Я работал с Weka , и он работает очень хорошо. Существуют также библиотеки, которые можно использовать для использования функций Weka с такими языками программирования, как Java и C #. Если вы все же решите работать с Weka, обязательно ознакомьтесь с форматом .arff, описанным здесь .
я использовал (и владею) этой книгой: Введение в нейронные сети с Java
Я нашел это полезное руководство. Она охватывает достаточно широкий спектр NN тем, включая backpropogation.