Здавалка
Главная | Обратная связь

Выполнить практические задания по прогнозированию на основе программы «Нейросимулятор».

Задание №1 "Моделирование таблиц умножения и сложения"

Цель работы:Обучить персептрон для моделирования таблиц умножения и сложения.

Задание лабораторной работы состоит в том, чтобы создать персептрон, моделирующий одновременно две таблицы: таблицу умножения и таблицу сложения на два и на три.

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

Ход работы:

1. Запустить нейросимулятор (открыв лабораторную работу № 8) и самостоятельно спроектировать и обучить необходимый для выполнения задания персептрон.

2. В случае затруднения выполнения практической работы необходимо обратиться с предыдущей практической работе

3. Сравнить результаты, необходимо добиться минимальной ошибки обобщения.

 

Задание №2 "Прогнозирование выборов президента страны"

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

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

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

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

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

x1 — пол претендента в президенты России, который будем кодировать с помощью цифр: 1 — мужской, 2 — женский;

x2 — возраст претендента;

x3 — от какой партии баллотируется: 1 — от правящей, т.е. от партии, набравшей более 5% голосов; 2 — от всех остальных партий;

x4 — место рождения: 1 — Москва, Санкт-Петербург; 2 — прочие города России; 3 — российские села, деревни; 4 — зарубежье;

x5 — статус: 1 — действующий президент; 2 — преемник президента; 3 — остальные;

x6 — сфера деятельности: 1 — спорт, культура, медицина; 2 — военная деятельность; 3 — экономика; 4 — политика;

x7 — семейное положение: 1 — не женат/не замужем; 2 — разведен/разведена; 3 — женат/замужем;

x8 — известность: 1 — неизвестный; 2 — известный; 3 — очень известный;

d — результат голосований: 1 — победа; 0 — поражение.

Таблица 1 – Множество обучающих примеров: Данные президентских выборов в России за период 1991 – 2004гг.

Студентам требуется собрать необходимую для обучения персептрона информацию о президентских выборах в России из сети Интернет (например, с сайтов www.wikipedia.ru и www.peoples.ru) и выполнить все задания лабораторной работы самостоятельно.

Здесь мы приведем пример выполнения этого задания, который можно использовать, если у студентов возникнут трудности.

В табл. 1 приведены данные о претендентах и результаты президентских выборов в России за период с 1991 по 2004 гг., а в табл. 2 — аналогичные данные по выборам 2008 г. Примеры табл. 1 мы будем использовать как обучающее множество, а табл. 2 — как тестирующее.

Вопрос: Что понимается под проектированием нейронной сети?

Ответ: Спроектировать нейронную сеть — это значит определить количество входов, количество выходов, число скрытых слоев, число нейронов в скрытых слоях, типы активационных функций.

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

Ответ: В табл. 11 и 12 подобраны примеры обучающего и тестирующего множества, в которых параметры x1, x2, …, x8 характеризуют претендента, и от них зависит исход голосований, задаваемый параметром d. Поэтому параметры x1, x2, …, x8 являются входными, а параметр d — выходным. Следовательно, нейронная сеть должна иметь 8 входов и 1 выход.

Вопрос: Сколько в проектируемой нейронной сети должно быть скрытых слоев, сколько нейронов в скрытых слоях и какими должны быть активационные функции нейронов?

Ответ: Согласно теореме Арнольда – Колмогорова – Хехт-Нильсена, персептрон должен иметь хотя бы один скрытый слой нейронов с сигмоидными активационными функциями. Количество нейронов в скрытом слое оценивается с помощью формул (37), (38). Учитывая, что в нашем случае число входов Nx = 8, число выходов Ny = 1, количество примеров обучающего множества Q = 33, согласно первой из этих двух формул количество сил синаптических связей нейросети должно лежать в интервале:

Применяя вторую формулу, получаем оценку количества нейронов в скрытом слое:

Для начала работы берем среднее значение из этого интервала:

Ход работы:

1. Откройте лабораторную работу № 8 и, запустив программу “Нейросимулятор”, в режиме “Проектирование сети” создать нейронную сеть требуемой структуры, как показано на рис. 1.

Рис. 1 – Структура нейросети, предназначенной для прогнозирования результатов выборов Президента России

2. Переключив “Нейросимулятор” в режим “Обучение” введите примеры обучающего множества из табл. 1. Это можно сделать вручную, многократно используя кнопку “Добавить строку”, либо с помощью кнопки “Загрузить из Excel-файла” считать информацию из предварительно подготовленного Excel-файла.

3. Нажав кнопку “Обучить сеть” и убедившись, что процесс обучения сходится, т.е. ошибка обучения уменьшается, переведите “Нейросимулятор” в режим “Проверка”, нажмите последовательно кнопку “Скопировать из обучающих примеров” (введенное вами множество обучающих примеров скопируется из режима “Обучение” в режим “Проверка”) и кнопку “Вычислить” (обученный вами персептрон произведет вычисления для всех представленных примеров). Сравнивая содержимое столбцов d1 (желаемый выход персептрона, т.е. тот, который был задан в обучающем множестве примеров) и y1 (прогнозный выход персептрона), убедитесь, что персептрон обучился с приемлемой степенью точности.

Таблица 2 – Тестирующее множество данных президентских выборов в России 2008г.

4. Теперь нажмите кнопку “Сбросить примеры” и введите тестирующее множество примеров из табл. 2. Сделать это можно вручную, многократно используя кнопку “Добавить строку”, либо с помощью кнопки “Загрузить из Excel-файла” считать информацию из предварительно подготовленного Excel-файла. Нажав после этого кнопку “Вычислить”, сравните желаемые выходы сети d1 с прогнозными y1.

Рис. 2– Проверка на тестирующем множестве: прогноз президентских выборов 2008 года

5. Глядя на рис. 2, где приведены результаты вычислений, и вспоминая, что первые три строки в тестирующем множестве соответствуют параметрам политических деятелей: А.Богданова, В.Жириновского и Г.Зюганова, — а последняя строка соответствует параметрам Д.Медведева, и учитывая, что цифрой “1” мы кодировали победу, а цифрой “0” — поражение, можно заключить, что созданная нами нейросетевая прогностическая система предсказывает победу Д.Медведеву и поражение А.Богданову, В.Жириновскому и Г.Зюганову, что и произошло в действительности на президентских выборах 2008 г. Отметим, что, как видно из рис. 2, погрешность e обобщения сети составила 11,95%.

6. Нажав кнопку “Отправить в Excel-файл” и выполнив в Excel-редакторе необходимые манипуляции, полученный результат изобразим в виде гистограммы, как показано на рис.3.

Рис. 3 – Значения рейтингов претендентов на президентских выборах 2008 г.:

1 — А. Богданов,

2 — В.Жириновский,

3 — Г.Зюганов,

4 — Д.Медведев

7. Теперь, после того как мы убедились в том, что нейронная сеть правильно выполнила прогноз, а значит, выявила и усвоила закономерности предметной области, попробуем использовать нашу модель в практических целях. Выберем кого-нибудь из политиков, например В.Жириновского, и узнаем, как будет изменяться его рейтинг в зависимости от возраста. Для этого переведем программу “Нейросимулятор” в режим “Прогноз” и введем параметры интересующего нас политика. Причем сделаем это несколько раз, создав несколько строк. В первой строке оставим возраст В.Жириновского таким, каким он был на момент выборов 2008 года, а в каждой последующей строке увеличим его возраст на 1 год, как показано на рис. 4. Напомним, что выполнить эту операцию можно путем нажатия кнопки “Добавить пример” или с помощью загрузки из заранее приготовленного Excel-файла.

Рис. 4 – Программа "Нейросимулятор" в режиме "Прогноз" с введенныит параметрами В.Жириновского. Его возраст (x2) увеличивается в каждой новой строке на 1 год

8. Нажав кнопку “Вычислить”, в столбце y1 получаем прогноз сети — зависимость политического рейтинга В.Жириновского от его возраста (рис. 5).

9. Полученную зависимость полезно отобразить графически, как показано на рис. 33. Сделать это можно, нажав кнопку “Отправить в Excel-файл” и выполнив необходимые манипуляции в Excel-редакторе.

10. Глядя на графическое изображение рис. 6, можно сделать вывод, что В.Жириновскому ни в коем случае не следует уходить с политической арены, так как с возрастом его рейтинг будет увеличиваться.

11. Выясним, как можно повлиять на рейтинг В.Жириновского путем изменения его параметров. Для этого в режиме “Прогнозирование” введем строки, содержащие параметры В.Жириновского. Первую строку оставим без изменения. Начиная со второй строки, будем поочередно изменять параметры, оставляя неизменным лишь возраст. Как показано на рис. 7, во второй строке изменен параметр x1, в третьей строке изменен параметр x3, в четвертой, пятой и шестой строках изменен параметр x4 и т.д.

12. Нажимая кнопку “Вычислить”, получаем прогноз (см. рис. 8), результаты которого представлены в виде гистограммы на рис. 9.

Рис. 5 – Прогноз сети: рейтинг В.Жириновского в зависимости от его возраста

Рис. 6 – Зависимость рейтинга В,Жириновского от его возраста

Рис. 7 – Нейросимулятор, подготовленный для прогнозирования рейтинга В.Жириновского при варьировании его параметров

Рис. 8 – Прогноз рейтинга В.Жириновского при варьировании его параметров

Рис. 9 – Прогноз рейтинга В.Жириновского при варьировании его параметров

1 — исходное состояние: фактический рейтинг,

2 — такой рейтинг был бы у В.Жириновского, если бы он был женщиной,

3 — если бы он баллотировался от партии, не имеющей места в парламенте,

4 — если бы он родился не за рубежов, а в Москве или Санкт-Петербурге,

5 — если бы он родился в других городах России,

6 — если бы он родился в российском селе или деревне,

7 — если бы он был преемником Президента России,

8 — если бы он был Президентом России,

9 — если бы он сменил деятельность на спорт, культуру или медицину,

10 — если бы он сменил деятельность на военную,

11 — если бы он сменил деятельность на экономическую,

12 — если бы он развелся,

13 — если бы он не имел известности

Итак, анализируя полученную картину, можно сделать заключение, что серьезнейшим фактором, снижающим рейтинг В.Жириновского, является то, что он родился за рубежом. Единственный шанс победить на выборах — это стать преемником президента или самим президентом, что нереально. Смена партии, вида деятельности и семейного положения не приведут к заметному изменению его рейтинга. Однако не будем забывать, что, согласно данным рис. 6, с каждым годом рейтинг В.Жириновского будет повышаться, поэтому шансы стать Президентом России в будущем у него все-таки есть.

Зададимся теперь вопросом: Насколько надежны полученные в результате нейропрогноза выводы?

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

В нашей математической модели учтены 8 входных параметров, и она проверена на четырех тестовых примерах (см. рис. 2 и 3): на выборах 2008 года она правильно (с максимальной погрешностью 11,95%) предсказала победу Д.Медведеву и поражение А.Богданову, В.Жириновскому и Г.Зюганову. Таким образом, мы убедились, что наша модель правильно усвоила закономерности предметной области и у нас, казалось бы, нет причин не доверять результатам ее прогнозирования. Тем не менее надо отдавать себе отчет в том, что на самом деле результат голосований зависит от гораздо большего количества различных факторов, что для более ответственных прогнозов следует увеличить объемы обучающего и тестирующего множества примеров.

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

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

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

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.