Главная страница

Методические указания выполнению лабораторных работ по дисциплине Основы разработки систем искусственного интеллекта для студентов направления


Скачать 1.29 Mb.
НазваниеМетодические указания выполнению лабораторных работ по дисциплине Основы разработки систем искусственного интеллекта для студентов направления
Дата13.01.2022
Размер1.29 Mb.
Формат файлаpdf
Имя файла16_Metod_ORSII_09.03.02_2017.pdf
ТипМетодические указания
#329847
страница3 из 5
1   2   3   4   5
32
6.
Как происходит процесс обучения сети и ее использования в
Matlab?
7.
Какие функции активации нейронов реализованы в данном пакете?
8.
Какие методы упрощения сети реализованы в Matlab?
Список рекомендуемой литературы
[1 – 5; 9].
ЛАБОРАТОРНАЯ РАБОТА 5
РЕАЛИЗАЦИЯ НЕЙРОННЫХ СЕТЕЙ В ПАКЕТЕ MATLAB.
НЕЙРОННАЯ СЕТЬ С ПРЯМОЙ ПЕРЕДАЧЕЙ СИГНАЛА.
АППРОКСИМАЦИЯ ФУНКЦИИ
Цель
и
содержание: приобретение практических навыков применения нейронных сетей при решении плохо формализованных задач с использованием пакета Matlab.
Теоретическое обоснование
См. лабораторную работу 4.
Аппаратура и материалы
См. приложение А настоящих методических указаний.
Указания по технике безопасности
См. приложение Б настоящих методических указаний.

33
Методика выполнения работы
Создать и обучить нейронную сеть выполнению операции у = х
1 2
+ х
2
, если заданы последовательности входа Р1 = [1 0.5 0 1; -2 0 0.5 1] и цели Т1 =
[-1 0.25 0.5 2].
Сформируем последовательности входов и целей в рабочей области
GUI-интерфейса NNTool, используя окно Create New Data (рис. 5.1).
Рисунок 5.1 – Ввод входных данных
Выберем нейронную сеть типа feed-forward backprop с прямой передачей сигнала и с обратным распространением ошибки. Схема этой сети показана на рис. 5.2.
Выполним инициализацию сети, для чего выберем закладку Initialize, откроется диалоговая панель, показанная на рис. 5.3. Диапазоны значений исходных данных выберем по входам из ниспадающего меню Get from input.
Для ввода установленных диапазонов и инициализации весов надо воспользоваться кнопками Set Ranges (Установить диапазоны) и Initialize
Weights (Инициализировать веса). Если требуется вернуться к прежним диапазонам, то следует выбрать кнопки Revert Ranges (Вернуть диапазоны) и Revert Weights (Вернуть веса).

34
Рисунок 5.2 – Структура нейронной сети
Рисунок 5.3 – Инициализация сети
Затем выполняется обучение сети, для чего выбирается закладка Train и открывается диалоговая панель, показанная на рис. 5.4.
Рисунок 5.4 – Обучение сети. Информация об обучающих последовательностях

35
На рис. 5.5 представлены параметры обучения выбранной сети.
Рисунок 5.5 – Обучение сети. Параметры обучения
Рисунок 5.6 – Обучение сети. Дополнительная информация
Применяя эти закладки, можно установить имена последовательностей входа и цели, а также параметров процедуры обучения.
Теперь можно приступить к обучению сети (кнопка Train Network).

36
Рисунок 5.7 – Результат обучения сети (график)
Качество обучения сети с прямой передачей сигнала на выбранной обучающей последовательности поясняется на рис. 5.7. Соответствующие веса и смещения можно увидеть, если выбрать закладку Weights.
Рисунок 5.8 – Результаты обучения

37
Для удобства работы можно экспортировать созданную нейронную сеть в рабочую область системы MATLAB и получить информацию о весах и смещениях непосредственно в рабочем окне системы.
Результаты обучения можно просмотреть в окне Network/Data
Manager, выбрав кнопку Manager. Появляется окно (рис. 5.8); теперь, активизируя имена последовательностей выхода или ошибок network3_outputs и network3_errors, можно просмотреть результаты, используя кнопку View.
Варианты заданий
Обучить нейронную сеть заданной функциональной зависимости нейронную сеть. Выбор функции осуществить самостоятельно (по согласованию с преподавателем).
Содержание отчета, его форма и правила оформления
Структура отчета по лабораторной работе:
1.
Название лабораторной работы.
2.
Цели лабораторной работы.
3.
Формулировка индивидуального задания.
4.
Анализ решения задания с комментариями.
Вопросы для защиты работы
1.
Перечислите проблемы, для решения которых применяются нейронные сети.
2.
В каких областях человеческой деятельности нашли применение нейронные сети?
3.
Какую структуру имеет сеть прямого распространения?
4.
Перечислите этапы обучения нейронной сети по методу обратного распространения ошибки?
5.
Какие методы обучения нейронных сетей реализованы в пакете
MatLab?

38
Список рекомендуемой литературы
[1 – 5; 9].
ЛАБОРАТОРНАЯ РАБОТА 6
ПРОГНОЗИРОВАНИЕ РЕЗУЛЬТАТОВ ВЫБОРОВ
Цель и содержание: приобретение навыков решения задач прогнозирования политических процессов с помощью нейросетевых технологий. Содержанием задачи является предсказание результата выборов президента США в 1992 г.
Теоретическое обоснование
См. лабораторную работу 4.
Аппаратура и материалы
См. приложение А настоящих методических указаний.
Указания по технике безопасности
См. приложение Б настоящих методических указаний.
Методика и порядок выполнения работы
Данная задача является классической для демонстрации работы нейросетевого классификатора. Она компактна, все данные представляются в двоичной форме, основана на реальных данных и дает стабильный результат.
На первый взгляд кажется, что итоги выборов зависят только от личностей кандидатов и от их программ. Однако имидж и основные тезисы для кандидата вырабатываются профессионалами в области PR, и в условиях идеально подготовленной предвыборной программы и стабильного внутриполитического положения результат предопределяется объективными признаками складывающейся на момент выборов в стране ситуации. В свою

39
очередь ситуация может быть достаточно точно описана ответами
«да»/«нет» на следующие вопросы.
1. Правящая партия более одного срока у власти?
2. Правящая партия получила более 50 % на прошлых выборах?
3. В год выборов была активна третья партия?
4. Была серьезная конкуренция при выдвижении кандидата от правящей партии?
5. Кандидат от правящей партии был президентом в год выборов?
6. Был ли год выборов временем спада или депрессии?
7. Был ли рост среднего национального валового продукта на душу населения более 2,1 %?
8. Произвел ли правящий президент существенные изменения в политике?
9. Во время правления были ли существенные социальные волнения?
10.
Виновна ли администрация правящей партии в серьезной ошибке или скандале?
11.
Кандидат правящей партии – национальный герой?
12.
Кандидат оппозиционной партии – национальный герой?
Обучающая выборка состоит из 31 примера, каждый из которых представляет единичную ситуацию выборов с 1864 г. (табл. 6.1), где ответы
«да» отмечены единицами, а «нет» – нулями. Класс 1 обозначает, что выборы завершились победой кандидата правящей партии, класс 2 – оппозиционной.
После обучения сеть должна дать ответ на ситуацию (табл. 6.2), сложившуюся в 1992 году.
Выбор нейропакета выполните самостоятельно. Обоснуйте свой выбор.

40
Таблица 6.1 − Обучающая выборка для прогнозирования резльтата выборов президента США

Год
Класс
Обучающие параметры (номера вопросов)
1 2
3 4
5 6
7 8
9 10 11 12 1
1864 1
0 0
0 0
1 0
0 1
1 0
0 0
2 1868 1
1 1
0 0
0 0
1 1
1 0
1 0
3 1872 1
1 1
0 0
1 0
1 0
0 0
1 0
4 1880 1
0 0
1 0
0 1
1 1
0 0
0 1
5 1888 1
0 0
0 0
1 0
0 0
0 0
0 0
6 1900 1
0 1
0 0
1 0
1 0
0 0
0 1
7 1904 1
1 1
0 0
1 0
0 0
0 0
1 0
8 1901 1
1 1
0 0
0 0
0 1
0 0
0 1
9 1916 1
0 0
0 0
1 0
0 1
0 0
0 0
10 1924 1
0 1
1 0
1 0
1 1
0 1
0 0
11 1921 1
1 1
0 0
0 0
1 0
0 0
0 0
12 1936 1
0 1
0 0
1 1
1 1
0 0
1 0
13 1940 1
1 1
0 0
1 1
1 1
0 0
1 0
14 1944 1
1 1
0 0
1 0
1 1
0 0
1 0
15 1948 1
1 1
1 0
1 0
0 1
0 0
0 0
16 1956 1
0 1
0 0
0 0
0 0
0 0
1 0
17 1964 1
0 0
0 0
1 0
1 0
0 0
0 0
18 1972 1
0 0
0 0
1 0
1 0
1 0
0 0
19 1860 2
1 0
1 1
0 0
1 0
1 0
0 0
20 1872 2
1 1
0 1
0 1
0 0
0 1
0 0
21 1884 2
1 0
0 1
0 0
1 0
1 0
1 0
22 1892 2
0 0
1 0
1 0
0 1
1 0
0 1
23 1896 2
0 0
0 1
0 1
0 1
1 0
1 0
24 1912 2
1 1
1 1
1 0
1 0
0 0
0 0
25 1920 2
1 0
0 1
0 0
0 1
1 0
0 0
26 1932 2
1 1
0 0
1 1
0 0
1 0
0 1
27 1952 2
1 0
0 1
0 0
1 0
0 1
0 1
28 1960 2
1 1
0 0
0 1
0 0
0 0
0 1
29 1968 2
1 1
1 1
0 0
1 1
1 0
0 0
30 1976 2
1 1
0 1
1 0
0 0
0 1
0 0
31 1980 2
0 0
1 1
1 1
0 0
0 1
0 1

41
Таблица 6.2 − Пример выборочной ситуации в США в 1992 г.
(Д. Буш – Б. Клинтон)
32 1992
?
0 1
1 1
1 1
0 1
1 1
0 0
Содержание отчета, его форма и правила оформления
Структура отчета по лабораторной работе:
1. Название лабораторной работы.
2. Цели лабораторной работы.
3. Ответы на контрольные вопросы.
4. Формулировку задания.
5. Анализ результатов применения нейронной сети.
Вопросы для защиты работы
1. Каковы основные этапы разработки нейронной сети?
2. Как готовятся тренировочные и тестовые данные для выбранного вами пакета?
3. Как происходит процесс обучения сети и ее использования в выбранном вами пакете?
4. В чем состоит эффект переобучения нейронной сети?
5. Какие методы борьбы с переобучением нейронных сетей Вы знаете?
Список рекомендуемой литературы
[1 − 5; 9].
ЛАБОРАТОРНАЯ РАБОТА 7
АНАЛИЗ ДАННЫХ КУРСА ЦЕННЫХ БУМАГ (ВАЛЮТ)
Цель и содержание: Закрепление навыков решения экономических задач с помощью нейросетевых технологий.

42
Теоретическое обоснование
Для организации эффективной финансовой деятельности компаний весьма важно решение задач прогнозирования, которые также можно решать на основе нейронных сетей. В принципе задача прогнозирования курса ценных бумаг технически ничем не отличается от задачи предсказания члена числовой последовательности или слежения за постоянным сигналом. Рынок подчиняется внутренним законам, которые не могут быть выражены строго математически, поскольку постоянно подстраиваются под ситуацию, но на протяжении некоторого отрезка времени вполне стабильны и впоследствии могут быть обнаружены статистически. Задача же нейронной сети в данном случае, как и во многих других, заключается в том, чтобы по характеру поведения рыночных курсов выделить закономерность не по статистическим данным прошлого, а в реальном времени, одновременно определяя закономерность ситуации и предсказывая ее дальнейшее развитие.
Аппаратура и материалы
См. приложение А настоящих методических указаний.
Указания по технике безопасности
См. приложение Б настоящих методических указаний.
Методика и порядок выполнения работы
В качестве примера приведем прогноз изменения курса некоторой абстрактной ценной бумаги. Ежедневные значения ее стоимости отражены в табл.7.1:
Таблица 7.1 − Курс ценных бумаг за исследуемый период
№ дня 1 2
3 4
5 6
7 8
9 10 11 12 13 14 15 16 17 цена 1,81 3,21 3,22 1,9 0,48 0,29 1,59 3,41 4,42 4,10 3,10 2,49 2,80 3,61 4,20 4,30 2,29

43
Сеть будет прогнозировать значение цены на основании ее изменения в течение предыдущих четырех дней. Соответственно первая обучающая выборка будет состоять из входов – котировок за 1 − 4 дни, и выхода – стоимости в 5-й день. Вторая выборка в качестве входов использует цены за
2 − 4-й дни, а в качестве выхода – за 6-й и т. д. Построив таким образом, допустим, десять наборов, обучим на их основе сеть, сохраним ее и начнем тестирование.
Задачей тестирования будет предсказание цен на 15, 16 и 17-й дни торгов. Средствами рассматриваемых пакетов это можно сделать только последовательно. То есть на первом шаге обученной сети представляется единственный набор из значений на 11, 12, 13 и 14-й дни торгов.
Результатом работы будет прогноз на 15-й день. Получив значение, мы на втором шаге можем составить набор для предсказания цены на 16-й день, а на третьем, использовав уже и это значение, и на 17-й день.
Задание
В течение семестра самостоятельно собрать курс одной из иностранных валют по результатам торгов на ММВБ. Собранные данные использовать для обучения самостоятельно разработанной нейронной сети и предсказания курса выбранной валюты.
Содержание отчета, его форма и правила оформления
Структура отчета по лабораторной работе:
1. Название лабораторной работы.
2. Цели лабораторной работы.
3. Ответы на контрольные вопросы.
4. Формулировку индивидуального задания.
5. Результаты обработки исходных данных для прогнозирования.
6. Описание обучающей и контрольной выборок.

44
7. Анализ результатов применения нейронной сети на тестовой выборке.
8. Анализ результатов применения нейронной сети для решения задачи прогнозирования курса одной из иностранных валют по результатам торгов на ММВБ.
Вопросы для защиты работы
1. В чем состоит задача прогнозирования и почему нейронные сети имеют преимущества по сравнению с другими методами прогнозирования?
2. Каковы основные этапы разработки нейронной сети?
3. Какие парадигмы обучения нейронных сетей Вы знаете? В чем их сходство и различия?
4. Какие топологии нейронных сетей Вы знаете?
5. В чем различия понятий топологии и архитектуры нейронной сети?
6. Охарактеризуйте 2 − 3 известных архитертуры нейронных сетей.
Для решения каких задач они применяются?
Список рекомендуемой литературы
[1 − 5; 9].
ЛАБОРАТОРНАЯ РАБОТА 8
ТЕОРЕТИЧЕСКИЕ И ПРАКТИЧЕСКИЕ ОСНОВЫ
ПРИМЕНЕНИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Цель и содержание: изучение теоретических основ и практическое применение генетических алгоритмов при решении плохо формализованных задач.

45
Теоретическое обоснование
Большое количество современных практически значимых задач являются многокритериальными, то есть такими, в которых приходится учитывать большое число факторов. Здесь человеку приходится оценивать множество сил, влияний, интересов и последствий, характеризующих то или иное решение. Решения зачастую требуется принимать в режиме, близком к реальному времени.
Генетические алгоритмы, являясь одной из парадигм эволюционных вычислений, представляют собой алгоритмы поиска, построенные на принципах, сходных с принципами естественного отбора и генетики. Если говорить обобщенно, они объединяют в себе принцип выживания наиболее перспективных особей − решений и структуризированный обмен информацией, в котором присутствует элемент случайности, моделирующий природные процессы наследования и мутации. Дополнительным свойством этих алгоритмов является невмешательство человека в развивающийся процесс поиска. Человек может влиять на него лишь опосредованно, задавая определенные параметры.
На каждом шаге работы генетический алгоритм использует несколько точек поиска одновременно. Совокупность этих точек является набором особей, который называется популяцией. Количество особей в популяции называют размером популяции. В классических генетических алгоритмах размер популяции является фиксированным. На каждом шаге работы популяция обновляется путем создания новых особей и уничтожения старых.
Чтобы отличать популяции на каждом из шагов и сами эти шаги, их называют поколениями и обычно идентифицируют по номеру. Например, популяция, полученная из исходной популяции после первого шага, будет первым поколением, после следующего шага − вторым и т. д.
В процессе работы алгоритма генерация новых особей происходит на основе моделирования процесса размножения. Родительская пара, как

46
правило, порождает пару потомков. Непосредственная генерация новых кодовых строк из двух выбранных происходит за счет работы оператора скрещивания, который также называют кроссинговером (от англ. crossover).
При порождении новой популяции оператор скрещивания может применяться не ко всем парам родителей. Часть этих пар может переходить в популяцию следующего поколения непосредственно. Насколько часто будет возникать такая ситуация, зависит от значения вероятности применения оператора скрещивания, которая является одним из параметров генетического алгоритма.
Моделирование процесса мутации новых особей осуществляется за счет работы оператора мутации. Основным параметром оператора мутации также является вероятность мутации. Поскольку размер популяции фиксирован, то порождение потомков должно сопровождаться уничтожением других особей. Выбор пар родителей из популяции для порождения потомков производит оператор отбора, а выбор особей для уничтожения − оператор редукции. Основным параметром их работы является, как правило, качество особи, которое определяется значением целевой функции в точке пространства поиска, описываемой этой особью.
Таким образом, можно перечислить основные понятия и термины, используемые в области генетических алгоритмов:

генотип и фенотип;

особь и качество особи;

популяция и размер популяции;

поколение;

родители и потомки.
К характеристикам генетического алгоритма относятся:

размер популяции;

оператор скрещивания и вероятность его использования;

оператор мутации и вероятность мутации;

47

оператор отбора;

оператор редукции;

критерий останова.
Операторы отбора, скрещивания, мутации и редукции называют еще генетическими операторами.
Критерием останова работы генетического алгоритма может быть одно из трех событий:
1. Сформировано заданное пользователем число поколений.
2. Популяция достигла заданного пользователем качества (например, значение качества всех особей превысило заданный порог).
3. Достигнут некоторый уровень сходимости. То есть особи в популяции стали настолько подобными, что дальнейшее их улучшение происходит чрезвычайно медленно.
Характеристики генетического алгоритма выбираются таким образом, чтобы обеспечить малое время работы, с одной стороны, и поиск как можно лучшего решения, с другой.
Генетический алгоритм начинает свою работу, как правило, с формирования исходной популяции с использованием какого-либо случайного закона, на основе которого выбирается нужное количество точек поискового пространства.
В основе оператора отбора, который служит для выбора родительских пар и уничтожения особей, лежит принцип «выживает сильнейший», например, случайный отбор особей. Вероятность участия особи в процессе размножения вычисляется по формуле:



n
j
j
i
i
f
f
P
1
, где
n
− размер популяции,
i
номер особи,
i
P
− вероятность участия особи в процессе размножения,
i
f
значение целевой функции для
i
-й особи. Очевидно, что одна особь может быть задействована в нескольких родительских парах.

1   2   3   4   5


написать администратору сайта