Прогнозирование на нейронных сетях



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Прогнозирование на нейронных сетях



В последние десятилетия в мире усиленно развивается новая прикладная область математики, специализирующаяся на нейронных сетях (НС) [10]. Нервная система и мозг человека состоят из нейронов, соединенных между собой нервными волокнами. Нервные волокна способны передавать электрические импульсы между нейронами. Все процессы передачи раздражений от нашей кожи, ушей и глаз к мозгу, процессы мышления и управления действиями – все это реализовано в живом организме как передача электрических импульсов между нейронами.

Рассмотрим строение биологического нейрона. Каждый нейрон имеет отростки нервных волокон двух типов – дендриты, по которым принимаются импульсы, и единственный аксон, по которому нейрон может передавать импульс. Аксон контактирует с дендритами других нейронов через специальные образования – синапсы, которые влияют на силу импульса.

 

Рис. 5.5.1. Строение биологического нейрона

Можно считать, что при прохождении синапса сила импульса меняется в определенное число раз, которое мы будем называть весом синапса. Импульсы, поступившие к нейрону одновременно по нескольким дендритам, суммируются. Если суммарный импульс превышает некоторый порог, нейрон возбуждается, формирует собственный импульс и передает его далее по аксону. Важно отметить, что веса синапсов могут изменяться со временем, а значит, меняется и поведение соответствующего нейрона.

Можно построить математическую модель описанного процесса. На рисунке 5.5.2 изображена модель нейрона с тремя входами (дендритами), причем синапсы этих дендритов имеют веса w1, w2, w3. Пусть к синапсам поступают импульсы силы x1, x2, x3 соответственно, тогда после прохождения синапсов и дендритов к нейрону поступают импульсы w1x1, w2x2, w3x3. Нейрон преобразует полученный суммарный импульс x=w1x1+w2x2+w3x3 в соответствии с некоторой передаточной функцией f(x). Сила выходного импульса равна y=f(x)=f(w1x1+w2x2+w3x3). Таким образом, нейрон полностью описывается своими весами wi , и передаточной функцией f(x). Получив набор чисел (вектор) xi на вход, нейрон выдает некоторое число y на выходе, являющееся функцией от входных сигналов.

 

Рис. 5.5.2. Модель искусственного нейрона с тремя входами и одним выходом

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

Некоторые входы нейронов помечены как внешние входы сети, а некоторые выходы – как внешние выходы сети. Подавая любые числа на входы сети, мы получаем какой-то набор чисел на выходах сети. Таким образом, работа нейросети состоит в преобразовании входного вектора в выходной вектор, причем это преобразование задается весами сети.

Теперь, когда стало ясно, что именно мы хотим построить, мы можем переходить к вопросу «как строить такую сеть». Этот вопрос решается в два этапа:

1. Выбор типа (архитектуры) сети.

2. Подбор весов (обучение) сети.

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

Эта задача на первый взгляд кажется весьма сложной, но она упрощается, т.к. нам необязательно придумывать нейросеть с нуля – существует несколько десятков различных нейросетевых архитектур, причем эффективность многих из них доказана математически [10]. В данной работе использован наиболее популярный и свободно распространяемый по сети Интернет программный продукт Neuro Pro, представляющий собой менеджер обучаемых искусственных нейронных сетей, работающий в среде MS Windows XP.

Для решения поставленной задачи наиболее подходит многослойная нейронная сеть с последовательными связями, в которой нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. Внешние входные сигналы подаются на входы нейронов входного слоя, а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых (внутренних) слоев.

1. Количество нейронов во входном слое будем менять: 3, 4, 6, 8, т.к. для прогнозирования будем использовать три, четыре, шесть или восемь последних значений.

2. Количество выходов (выходной слой) = 1, значение переменной, следующей за последними тремя, четырьмя, шестью, восемью значениями.

3. Количество нейронов внутреннего слоя. Для более точной аппроксимации и лучшей сходимости ряда возьмем количество скрытых слоев, равное 3, а количество нейронов в каждом из скрытых слоев равное 10 [10].

В качестве активационной функции нейронов скрытых слоев возьмем наиболее часто используемый на практике сигмоид [10], который имеет следующий вид:

. (5.5.1)

Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет сравнительно простую производную:

f'(x)=a*f(x)(1-f(x)). (5.5.2)

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

На втором этапе нам следует «обучить» выбранную сеть – значит сообщить ей, чего мы от нее добиваемся. Схематично процесс обучения нейросети представлен на рис 5.5.3.

Рис. 5.5.3. Процесс обучения нейросети

После многократной подачи на вход нейросети обучающих примеров передаточные веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти на все) подаваемые примеры. В таком случае говорят, что «сеть выучила все примеры», «сеть обучена» или «сеть натренирована» [10]. В программных реализациях можно видеть, что в процессе обучения величина ошибки (сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда величина ошибки достигает нуля или приемлемого малого уровня, тренировку (обучение) заканчивают, а полученную сеть считают натренированной (обученной) и готовой к применению на готовых новых данных.

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

Объем обучающей выборки зависит от выбранного нами количества входов. Если в качестве входного сигнала взять 20 элементов ВДР, то такая сеть потенциально могла бы строить лучший прогноз, чем сеть с 4 элементами на входе, однако в этом случае мы имеем всего 1 обучающий пример, и обучение скорее всего не даст приемлемого результата. При выборе числа элементов на входе следует учитывать это, выбирая разумный компромисс между глубиной предсказания (число элементов на входе) и количеством обучающих тестов.

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

Прогнозируемые значения, полученные методом прогнозирования в нейронных сетях, представлены в таблицах 49 – 62 приложения 1.

Сводные результаты сглаживания и прогнозирования на нейронных сетях при изменении количества элементов ВДР на входе приведены в таблице 5.5.1.

По результатам таблицы 5.5.1 были сделаны следующие основные выводы:

1. Изменение количества элементов ВДР на входе нейронной сети (3; 4; 6; 8) при прогнозировании на нейронных сетях показало, что наиболее близкие к фактическим значениям прогнозируемые значения в большинстве случаев достигают при количестве элементов ВДР на входе, равное 8.

2. Наименьшая ошибка прогнозирования методом прогнозирования на нейронной сети составила 0,024973516, а наибольшая – 0,822503966.

 



Последнее изменение этой страницы: 2016-07-15; просмотров: 230; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.205.167.104 (0.012 с.)