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

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


Скачать 1.29 Mb.
НазваниеМетодические указания выполнению лабораторных работ по дисциплине Основы разработки систем искусственного интеллекта для студентов направления
Дата13.01.2022
Размер1.29 Mb.
Формат файлаpdf
Имя файла16_Metod_ORSII_09.03.02_2017.pdf
ТипМетодические указания
#329847
страница1 из 5
  1   2   3   4   5

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«СЕВЕРО-КАВКАЗСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Методические указания
выполнению лабораторных работ по
дисциплине
«
Основы разработки систем
искусственного интеллекта» для
студентов направления
09.03.02
«Информационные системы и
технологии»
Ставрополь
201 7

2
Методические указания составлены в соответствии с программой дисциплины «
Основы разработки систем искусственного интеллекта» для студентов, обучающихся по направлению 09.03.02 «Информационные системы и технологии». Целью практикума является овладение студентами навыками: решения различных прикладных задач в нейросетевом логическом базисе, использования различных нейро-имитаторов для решения неформализуемых и частично формализуемых задач различных предметных областей, разработки нейронных сетей, обучения их на примерах; а также знакомство с генетическими алгоритами и алгоритмами нечеткой логики, возможностями их применения при разработке интеллектуальных систем.
Составитель: к. ф.-м. н., доцент Мезенцева О. С.
Рецензент:
д. т. н., профессор Мочалов В. П.

3
ЛАБОРАТОРНАЯ РАБОТА 1
ФИБОНАЧЧИЕВСКАЯ СИСТЕМА СЧИСЛЕНИЯ
Цель и содержание: знакомство с нетрадиционными системами счисления, используемыми при разработке интеллектуальных информационных систем. Составить программу, переводящую числа из десятичной в фибоначчиевскую систему счисления и обратно.
Теоретическое обоснование
Реальные нейронные сети могут требовать записи данных не в обычной двоичной, десятичной или шестнадцатеричной системе счисления, а в некоторой специальной, позволяющей хранить данные более компактно, реализующей защиту данных от помех и ошибок, либо с другими специальными свойствами.
Одной из специальных систем счисления, применяющейся в экспертных системах и нейросетях, является фибоначчиевская. Базисом этой системы служат числа, составляющие последовательность Фибоначчи: 1, 2,
3, 5, 8, 13, 21, 34... Каждое число в этой последовательности образуется как сумма двух предыдущих: 3+5=8, 5+8=13 и т. д. Для записи некоторого числа в этой системе достаточно двух состояний каждого разряда, условно − 0 и 1.
Приведем примеры записи чисел в фибоначчиевской системе:
37 10
= 34 + 3 = 1·g
7
+ 0·g
6
+ 0·g
5
+ 0·g
4
+ 0·g
3
+1·g
2
+ 0·g
1
+ 0·g
0
=
10000100;
25 10
= 21 + 3 + 1 = 1·g
6
+ 0·g
5
+ 0·g
4
+ 0·g
3
+ 1·g
2
+ 0·g
1
+ 1·g
0
= 1000101.
Интересной особенностью фибоначчиевской системы счисления является то, что в ней нет одновременно установленных в соседних разрядах единиц, что позволяет проще реализовать защиту данных от помех.
Аппаратура и материалы
См. приложение Б настоящих методических указаний.

4
Указания по технике безопасности
См. приложение А настоящих методических указаний.
Методика и порядок выполнения работы
1.
Изучить теоретический материал по лекциям, дополнительной литературе.
2.
Составить алгоритмическую схему решения задачи.
3.
Выполнить программную реализацию.
4.
Осуществить тестирование и отладку программы.
5.
Составить отчет о лабораторной работе.
Содержание отчета, его форма и правила оформления
Структура отчета по лабораторной работе:
1.
Название лабораторной работы.
2.
Цели лабораторной работы.
3.
Ответы на контрольные вопросы.
4.
Формулировка индивидуального задания.
5.
Алгоритмическая схема программы.
6.
Листинг программы с комментариями.
7.
Анализ тестовых прогонов программы.
Вопросы для защиты работы
1.
Что такое интеллектуальная информационная система (ИИС)?
2.
Приведите одну из известных Вам классификаций ИИС.
3.
Что такое фракталы?
4.
Почему фиббоначиевская система счисления позволяет реализовать фрактальное кодирование инфорации?
5.
Охарактеризуйте фибоначиевскую систему счисления.

5
Список рекомендуемой литературы
[1 − 4].
ЛАБОРАТОРНАЯ РАБОТА 2
РЕАЛИЗАЦИЯ НЕЙРОННЫХ СТЕТЕЙ В ПАКЕТЕ NEURAL
NETWORK WIZARD
Цель
и
содержание: приобретение практических навыков применения нейронных сетей при решении плохо формализованных задач с использованием пакета Neural Network Wizard.
Теоретическое обоснование
Neural Network Wizard 1.7 – программный эмулятор нейрокомпьютера.
В Neural Network Wizard реализована многослойная нейронная сеть, обучаемая по алгоритму обратного распространения ошибки (back propagation). Программа Neural Network Wizard предназначена для проведения исследований с целью выбора оптимальной конфигурации нейронной сети, позволяющей наилучшим образом решить поставленную задачу. Результатом работы системы является файл, который хранит в себе все параметры полученной нейронной сети. Далее, на основе этого файла, можно разрабатывать систему, предназначенную для решения конкретных задач.
Программа может применяться для анализа информации, построения модели процессов и прогнозирования. Для работы с системой необходимо проделать следующие операции:
1.
Собрать статистику по процессу.
2.
Обучить нейросеть на приведенных данных.
3.
Проверить полученные результаты.

6
В результате обучения нейросеть самостоятельно подберет такие значения коэффициентов и построит такую модель, которая наиболее точно описывает исследуемый процесс.
Программный пакет Neural Network Wizard может быть использован без предварительной инсталляции.
Аппаратура и материалы
См. приложение А настоящих методических указаний.
Указания по технике безопасности
См. приложение Б настоящих методических указаний.
Методика и порядок выполнения работы
Прежде чем запускать программу, необходимо в любом текстовом редакторе подготовить текстовый файл с обучающей выборкой. Например, вычислим косинус. Фрагмент такого файла для функции Res = Cos(x) приведен ниже.
Cos Res
0 1
0.1 0.995 0.4 0.921 0.5 0.878 0.6 0.825
…………..
1.57 0
В первой строке файла указываются имена входных/выходных переменных: Cos – имена входных переменных, Res – имя выходной переменной. Далее идут их значения в колонках.

7
Данные для обучения нейронной сети должны быть предоставлены в текстовом файле с разделителями (Tab или пробел). Количество примеров должно быть достаточно большим. При этом необходимо обеспечить, чтобы выборка была репрезентативной, а данные были не противоречивы. Вся информация должна быть представлена в числовом виде. Если информация представляется в текстовом виде, то необходимо использовать какой-либо метод, переводящий текстовую информацию в числа.
Файл сохраняется как текстовый с расширением .txt (Косинус.txt).
После запуска программы в первом окне задается имя файла с обучающей выборкой (рисунок 2.1).
Рисунок 2.1 – Выбор файла с обучающей выборкой
Кнопка Далее позволяет перейти к следующему окну (рисунок 2.2). В новом окне перечислен список доступных полей, взятый из первой строки указанного файла. Для каждого из полей необходимо указать, чем является данная переменная. Если данная переменная входная, то в группе
Использовать поле как выбирается вариант Входное, если выходная –
Целевое. Поля, отмеченные пометкой Не использовать в обучении и тестировании нейросети применяться не будут.

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

(X-MIN)/(MAX-MIN) – линейная нормализация.

1/(1+exp(ax)) – экспоненциальная нормализация.

Авто
– нормализация, основанная на статистических характеристиках выборки.

Без нормализации – нормализация не производится.
Рисунок 2.2 – Определение входных и выходных данных
На вкладке Параметры нормализации задать значения, используемые в формулах нормализации.
Кнопка Далее переводит к следующему окну (рисунок 2.3), где определяются структура и параметры нейросети: количество скрытых слоев, количество нейронов в каждом слое, а также вид сигмоидальнойной функции.
Нейронная сеть состоит из слоев: входного, выходного и скрытых.
Необходимо указать количество скрытых слоев. Общего правила

9
определения количества таких слоев нет, обычно задается 1 – 3 скрытых слоя. Но считается, что чем более нелинейная задача, тем больше скрытых слоев должно быть у нейронной сети.
Рисунок 2.3 – Определение параметров структуры нейросети
В Neural Network Wizard все элементы предыдущего слоя связаны со всеми элементами последующего. Количество нейронов в первом и последнем слое зависит от того, сколько полей в обучающей выборке указаны как входные и выходные. Необходимо задать количество нейронов в каждом скрытом слое. Общих правил определения количества нейронов нет, но необходимо, чтобы число связей между нейронами было значительно меньше количества примеров в обучающей выборке. Иначе нейросеть потеряет способность к обобщению, а просто «запомнит» все примеры из обучающей выборки (так называемый «эффект переобучения»).
Параметр сигмоиды. Сигмоида применяется для обеспечения нелинейного преобразования данных. В противном случае, нейросеть сможет выделить только линейно разделимые множества. Чем выше

10
параметр, тем больше переходная функция походит на пороговую. Параметр сигмоиды подбирается, фактически, эмпирически.
В следующем окне (рисунок 2.4) задаются параметры обучения и критерии остановки обучения, если она требуется.
Использовать для обучения сети % выборки. Все примеры, подаваемые на вход нейросети, делятся на 2 множества – обучающее и тестовое. Заданный процент примеров будет использоваться в обучающей выборке. Записи, используемые для тестирования, выбираются случайно, но пропорции сохраняются.
Рисунок 2.4 – Параметры обучения
Скорость обучения. Параметр определяет амплитуду коррекции весов на каждом шаге обучения.
Момент. Параметр определяет степень воздействия i-й коррекции весов на i+1-ю.
Распознана, если ошибка по примеру… Если результат прогнозирования отличается от значения из обучаемого множества меньше указанной величины, то пример считается распознанным.

11
Использовать тестовое множество как валидационное. При установке этого флага обучение будет прекращено с выдачей сообщения, как только ошибка на тестовом множестве начнет увеличиваться. Это помогает избежать ситуации переобучения нейросети.
Критерии остановки обучения. Необходимо определить момент, когда обучение будет закончено.
Кнопка Далее показывает окно с конфигурацией нейросистемы, заданные параметры (рисунок 2.5).
Рисунок 2.5 – Заданные параметры нейросети
В следующем окне визуализирован непосредственно сам процесс обучения (рис. 2.6). Чтобы запустить обучение, нажимается кнопка Пуск
обучения. На верхней диаграмме показано распределение ошибки обучения: по горизонтали – значение ошибки (чем правее столбец, тем больше ошибка), по вертикали – количество примеров из выборки с данной ошибкой (чем выше столбец, тем больше примеров с указанной ошибкой).
Зеленые столбцы – ошибка на рабочей обучающей выборке, красные – на тестовой. В процессе обучения столбцы должны стремиться в левую часть диаграммы.
Ниже диаграммы отображается распределение примеров на рабочей и тестовой выборках. На этих графиках можно отслеживать насколько

12
результаты, предсказанные нейронной сетью, совпадают со значениями в обучающей (слева) и тестовой (справа) выборках. Каждый пример обозначен на графике точкой. Если точка попадает на выделенную линию (диагональ), то нейросеть предсказывает результат с достаточно высокой точностью.
Если точка находится выше диагонали, значит нейросеть «недооценила», ниже – «переоценила». Необходимо добиваться, чтобы точки располагались как можно ближе к диагонали.
Рисунок 2.6 – Обучение системы
Остановка обучения происходит либо по ранее указанному критерию, либо с помощью той же кнопки Пуск обучения.
В следующем окне (рис. 2.7) представляется возможность оценить точность работы обученной нейросети в эксплуатационном режиме. Для этого в левом поле указывается произвольное значение входного сигнала.
После нажатия на кнопку Расчет в правом поле появляется рассчитанное сетью значение.
Кнопка Сохранить позволяет записать параметры обученной сети в виде файла (по умолчанию расширение файла NNW).

13
Рисунок 2.7 – Работа с обученной нейронной сетью
Варианты заданий
На основе заданной числовой последовательности требуется построить нейронную сеть, способную прогнозировать следующий член последовательности. В зависимости от того, какие закономерности присутствуют в исходной последовательности, может потребоваться использовать в качестве входа сети для предсказания очередного члена последовательности различное количество или группировку предыдущих.
Для построения числовой последовательности выберите какую-либо функциюнальную зависимость (по согласованию с преподавателем).
Содержание отчета, его форма и правила оформления
Структура отчета по лабораторной работе:
1.
Название лабораторной работы.
2.
Цели лабораторной работы.
3.
Ответы на контрольные вопросы.

14
4.
Формулировка индивидуального задания.
5.
Анализ решения с комментариями.
Вопросы для защиты работы
1. Что такое искусственный нейрон, нейронная сеть?
2. Какова математическая модель нейрона?
3. Что такое функция активации, и какие функции активации вы знаете?
4. Каковы основные этапы разработки нейронной сети?
5. В какой форме принимает и выдает данные пакет Neural Network
Wizard?
6. По каким критериям завершается обучение в пакете Neural Network
Wizard?
7. Как использовать обученную в Neural Network Wizard сеть?
8. Как готовятся тренировочные и тестовые данные для пакета Neural
Network Wizard?
9. Что включает в себя нейропроект в Neural Network Wizard?
10. Как происходит процесс обучения сети и ее использования в
Neural Network Wizard?
11. Какие функции активации нейронов реализованы в данном пакете?
12. Какие методы упрощения сети реализованы в Neural Network
Wizard?
13. Каким образом можно определить приблизительную структуру сети, зная число входов и выходов?
14. Что такое обучение сети?
15. Что такое прогнозирующие нейронные сети?
16. Что такое оптимизирующие нейронные сети?

15
Список рекомендуемой литературы
[1 – 5; 9].
ЛАБОРАТОРНАЯ РАБОТА 3
ВЫЯВЛЕНИЕ ПОКАЗАТЕЛЕЙ, ВЛИЯЮЩИХ НА ВАЛОВУЮ
ПРИБЫЛЬ ПРЕДПРИЯТИЯ
Цель и содержание: приобретение навыков решения экономических задач в нейросетевом логическом базисе.
Теоретическое обоснование
См. лабораторную работу 2.
Аппаратура и материалы
См. приложение А настоящих методических указаний.
Указания по технике безопасности
См. приложение Б настоящих методических указаний.
Методика и порядок выполнения работы
Требуется на основе экспертных данных выявить факторы, наиболее сильно влияющие на ежемесячную прибыль предприятия (табл. 3.1).
Для начала проведем предварительный анализ задачи, выделив наименее важные показатели. Это нужно потому, что количество наборов параметров близко к количеству самих параметров, и в данном представлении задача может не иметь видимого решения. В результате ряд следующих показателей может быть исключен из дальнейшего рассмотрения:

16
– объем реализации по линии бюджета – поскольку данные являются неполными, содержат пропуски;
– затраты – поскольку мы уже рассматриваем их по частям: на материалы и зарплату;
– объем реализованной продукции, рентабельность, так как они связаны жесткой аналитической зависимостью с другими показателями;
– численность – практически постоянная величина;
– цена единицы продукции – никак не связана с прибылью и другими показателями.
В результате оставлены факторы: затраты на материалы, объем заработной платы, производительность, курс доллара.
При выполнении лабораторной работы используйте навыки, приобретенные при выполнении предыдущей лабораторной работы.
Содержание отчета, его форма и правила оформления
Структура отчета по лабораторной работе:
1. Название лабораторной работы.
2. Цели лабораторной работы.
3. Ответы на контрольные вопросы.
4. Формулировку задания.
5. Анализ результатов применения нейронной сети.
Таблица
3.1

Показатели, характеризующие деятельность предприятия
Фактор
Ед. изм. 1 2
3 4
5 6
7 8
9 10 11 12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Объем реализации (без
НДС) тыс. руб.
354 310 277 302 327 211 263 168 278 292 305 326 в том числе бюджет тыс. руб.
20 37 27 30 18 10 19
Затраты, в том числе тыс. руб.
255 281 319 251 215 203 208 172 323 262 239 475

17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
материалы тыс. руб.
53 58 44 63 38 32 41 33 45 50 39 58 заработная плата тыс. руб.
122 126 126 104 112 74 102 76 123 117 107 218
Численность чел.
59 62 62 63 62 62 62 63 63 62 62 62
Производитель ность руб./чел.
6003 5002 4474 4798 5273 341 0
4237 2673 4406 4711 4833 5253
Цена ед. продукции руб.
0,08 0,08 0,08 0,06 0,07 0,0 6
0,08 0,08 0,12 0,10 0,15 0,15
Рентабельность %
38,9 10,4 20,4 52,0 4,1 26,3 11,5 27,4
Курс $ руб.
6,0 6,1 6,1 6,1 6,2 6,2 6,2 7,9 16,1 16,0 17,9 20,1
Прибыль валовая тыс. руб.
99 29
-42 51 112 8 55
-4
-45 30 66
-149
  1   2   3   4   5


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