Прогнозирование случайных процессов эмуляторами нейронной сети




Скачать 80.5 Kb.
Дата 27.09.2016
Размер 80.5 Kb.

Утёмов В.В., АСвУГХ, РГГУ г. Киров

ПРОГНОЗИРОВАНИЕ СЛУЧАЙНЫХ ПРОЦЕССОВ ЭМУЛЯТОРАМИ НЕЙРОННОЙ СЕТИ


Цель работы – ознакомление с основными параметрами нейронной сети и исследование влияния их изменения на время обучения нейронной сети и процесс решения задачи.

Описание лабораторной работы

1. Эмулятор нейронной сети NeuroPro 0.25

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

Сначала рассмотрим эмулятор нейронной сети NeuroPro 0.25, в этом эмуляторе имеется возможность целенаправленного упрощения нейронной сети для последующей генерации словесного описания.

При упрощении нейронной сети возможно выполнение следующих операций:

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

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

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

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

бинаризация связей в нейронной сети – приведение весов синапсов к значениям  1 и 1 или значениям из более широкого набора выделенных значений.

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

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

Эмулятор нейронных сетей NeuroPro можно использовать как систему для социального прогноза, предсказывающую исход выборов. Возможности эмулятора рассматриваются на примере выборов президента США.

Какая партия победит на очередных выборах в США – правящая или оппозиционная? На первый взгляд кажется, что это зависит от личностей кандидатов и от их программ.

Оказывается, что если предвыборные кампании всех кандидатов отработаны добросовестно и все участники сделали все возможное, то выбор практически предопределяется объективными признаками ситуации и не зависит ни от программ, ни от личностей, ни от названий партий, а только от того, к какой партии принадлежит правящий президент. В одних ситуациях побеждает правящая партия, в других – оппозиция.

Результаты выборов можно предсказать на основании ответов на 12 вопросов:


  1. Правящая партия была у власти более одного срока?

  2. Правящая партия получила больше 50% на прошлых выборах?

  3. В год выборов была активна третья партия?

  4. Была серьезная конкуренция при выдвижении от правящей партии?

  5. Кандидат от правящей партии был президентом в год выборов?

  6. Год выборов был временем спада или депрессии?

  7. Рост среднего национального валового продукта на душу населения больше 2,1%?

  8. Правящий президент произвел существенные изменения в политике?

  9. Во время правления были существенные социальные волнения?

  10. Администрация правящей партии виновна в серьезной ошибке или скандале?

  11. Кандидат правящей партии – национальный герой?

  12. Кандидат оппозиционной партии – национальный герой?

Эмулятору NeuroPro для обучения предоставляется информация об итогах выборов в США за 100 лет. Для всех выборов известны ответы на 12 вопросов и какая партия, когда победила. После обучения нейронная сеть дает свой вариант для дополнительного набора ответов, т.е. предсказывает результаты выборов.

Данные для эмулятора представлены в виде таблицы Excel, где в качестве полей представлены 12 вопросов, описанные выше, а в качестве записей – ответы на все эти вопросы по всем годам проведения выборов, начиная с 1860 и заканчивая 1980. Ниже представлено описание аббревиатур всех полей:



  • MORE1 – правящая партия была у власти более одного срока;

  • MORE5 – правящая партия получила больше 50% голосов избирателей на прошлых выборах;

  • THIRD – в год выборов была активна третья партия;

  • CONC – была серьезная конкуренция при выдвижении от правящей партии;

  • PREZ – кандидат от правящей партии был президентом в год выборов;

  • DEPR – год выборов был временем спада или депрессии;

  • VAL2_1 – рост среднего национального валового продукта на душу населения больше 2,1%;

  • CHANG – правящий президент произвел существенные изменения в политике;

  • WAVE – во время правления были существенные социальные волнения;

  • MIST – администрация правящей партии виновна в серьезной ошибке или скандале;

  • R_HERO – кандидат правящей партии – национальный герой;

  • O_HERO – кандидат оппозиционной партии – национальный герой.

Ответы на вопросы представлены в виде 0 и 1. Единица означает утвердительный ответ на вопрос, ноль – отрицательный.

Выходное поле обозначается как I___ , где результатом является значение переменной, соответствующее коду выигравшей партии (1 – правящая партия, 2 – оппозиционная партия).

Работа с нейронными сетями возможна только в рамках некоторого нейропроекта. Для того чтобы создать нейропроект, необходимо выбрать пункт меню “Файл/Создать” или нажать кнопку “Создать в панели кнопок, при этом появляется окно следующего вида (рис.1.1).

Рис. 1.1. Вид окна после выбора “Файл/Создать”

После создания нейропроекта в него можно вставлять нейронные сети с помощью кнопки “Открыть файл данных и работать с ними. Созданный нейропроект может также быть сохранен при помощи команды меню “Файл/Сохранить”, “Файл/Сохранить как” или нажатием на кнопку “Сохранить на панели инструментов.

В дальнейшем возможна работа с сохраненными файлами нейропроекта. Для этого необходимо выбрать пункт меню “Файл-Открыть” или нажать кнопку “Открыть и выбрать в открывшемся диалоговом окне имя желаемого проекта.

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

Рис. 1.2. Окно для создания нейронной сети

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

Для создания новой нейронной сети необходимо нажать кнопку “Новая сеть в окне нейропроекта и заполнить окно для создания неронной сети (рис. 1.2).

Для нашего примера поле I___ необходимо пометить как выходное, все остальные поля будут входными. После нажатия кнопки “Создать создается нейронная сеть со следующими параметрами:


  • число входных полей: 12;

  • число входов сети: 12;

  • число выходных полей: 1;

  • число выходов сети: 1;

  • слой 1: 10 нейронов;

  • слой 2: 10 нейронов;

  • слой 3: 10 нейронов.

Созданную нейронную сеть можно далее обучать, тестировать, упрощать и сохранять на диске вместе с нейропроектом.

Для обучения активной в данный момент в нейропроекте нейронной сети необходимо выбрать пункт меню “Нейросеть-Обучение”. Если в файле данных имеются все необходимые поля и он не пустой, то запускается процесс обучения сети. При этом на экран выводится “Окно обучения”, где пользователь имеет возможность наблюдать процесс обучения и при необходимости самостоятельно завершить обучение нажатием кнопки “Завершить (рис. 1.3).



Рис. 1.3. Отображение процесса обучения сети

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

Имея нейронную сеть, можно посмотреть, насколько точно она прогнозирует значения выходных полей в файле данных. Для тестирования нейронной сети выбираем пункт меню “Нейросеть/Тестирование”. Результат тестирования сети выводится в “Окно тестирования сети” (рис. 1.4).

В окне представлен результат прогноза сети по всем годам, средняя и максимальная ошибки при прогнозировании.

Рис. 1.4. Результат тестирования сети

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

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

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

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

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

Для упрощения нейронной сети имеются следующие операции в меню “Нейросеть”:

Сокращение числа входных сигналов – удаление наименее значимых входных сигналов (рис. 1.5)

Рис. 1.5. Изменение параметров сети при ее упрощении

При уменьшении количества входов с 12 до 6 и уменьшении количества промежуточных связей (синапсов) уменьшается количество правильно решенных примеров, соответствующих заданному уровню ошибки, 30 вместо 32.

Упрощение нейронной сети можно производить по различным параметрам.



Сокращение числа нейронов – удаление наименее значимых нейронов сети.

Сокращение числа синапсов – удаление наименее значимых синапсов сети.

Сокращение числа неоднородных входов – удаление наименее значимых неоднородных входов нейронов сети.

Равномерное упрощение сети – сокращение числа приходящих на нейроны сети сигналов до количества, задаваемого пользователем.

Бинаризация синапсов сети – приведение значений весов синапсов и неоднородных входов нейронов к выделенным значениям.

После упрощения сети обученная сеть минимизируется по числу входных параметров и связей. При использовании эмулятора NeuroPro как системы для социального прогноза, предсказывающей исход выборов в США оказалось, что для надежного предсказания исхода выборов в США достаточно знать ответы всего на пять вопросов, приведенных ниже в порядке значимости:

1. Была серьезная конкуренция при выдвижении от правящей партии?

2. Во время правления были существенные социальные волнения?

3. Год выборов был временем спада или депрессии?

4. Правящий президент произвел значительные изменения в политике?

5. В год выборов была активна третья партия?

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

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

Задание. Установить на эмуляторе значения параметров в соответствии с табл.1, записать количество шагов обучения.



Таблица 1

Зависимость количества шагов обучения от количества слоев нейронной сети



Нейронов

Слоев

Кол-во шагов обучения

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


База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница