Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Интеллектуальные системы. Практикум

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
712 Кб
Скачать

№ 3898 М И Н И С Т Е РС Т В О Н АУ К И И В ЫС Ш Е ГО О Б РА З О ВА Н И Я РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС»

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

Кафедра автоматизации

О.Ю. Акимова

ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ

Практикум

Рекомендовано редакционно-издательским советом университета

Москва 2020

УДК 004.8 А39

Р е ц е н з е н т канд. физ.-мат. наук, доц. В.И. Протасов

(МАИ (национальный исследовательский университет))

Акимова О.Ю.

А39 Интеллектуальные системы : практикум / О.Ю. Акимова. – М. : Изд. Дом НИТУ «МИСиС», 2020. – 36 с.

Цель данного практикума – ознакомить обучающихся с теоретическими основами интеллектуальных систем автоматизации; получить навыки использования методов интеллектуальных систем автоматизации в практической работе. Материал, представленный в практикуме, охватывает все разделы учебного курса «Интеллектуальные системы».

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

Предназначен для обучающихся в магистратуре по направлению подготовки 15.04.04 «Автоматизация технологических процессов и производств».

УДК 004.8

О.Ю. Акимова, 2020

НИТУ «МИСиС», 2020

ОГЛАВЛЕНИЕ

 

Предисловие......................................................................

4

Практическая работа 1. Создание и моделирование

 

линейной нейронной сети и сети RBE.................................

5

Практическая работа 2. Создание и моделирование сети

 

GRNN и сети Элмана......................................................

10

Практическая работа 3. Создание и моделирование

 

сети LVQ и самоорганизующейся карты Кохонена..............

15

Практическая работа 4. Создание и моделирование

 

конкурирующей сети и персептрона...................................

18

Практическая работа 5. Создание и моделирование

 

нейронной сети Хопфилда...............................................

22

Практическая работа 6. Гибридные (нечёткие)

 

нейронные сети (системы)...............................................

25

Лабораторная работа 7. Распознавание образов..................

30

Список рекомендуемой литературы.....................................

35

3

ПРЕДИСЛОВИЕ

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

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

Практические работы выполняются на ЭВМ (персональном компьютере). В течение занятия обучающиеся предъявляют преподавателю промежуточные результаты экспериментов.

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

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

Практическая работа 1 СОЗДАНИЕ И МОДЕЛИРОВАНИЕ ЛИНЕЙНОЙ НЕЙРОННОЙ СЕТИ И СЕТИ RBE

1.1. Цель работы

Создание и моделирование линейной нейронной сети и сети RBE. Определение структуры этих сетей.

1.2. Теоретическое введение

Нейроны – параллельно работающие простые вычислительные элементы.

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

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

Преимущества нейронных сетей:

1)  увеличение эффективности решения интеллектуальных задач;

2)  высокая помехо- и отказоустойчивость;

3)  высокое быстродействие.

Нейрон состоит из элементов трёх типов:

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

––сумматор выполняет сложение сигналов от других нейронов и внешних входных сигналов;

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

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

Применяются следующие способы реализации нейронных сетей – программная модель и аппаратная модель.

5

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

Элементная база нейровычислителей – цифровые сигнальные процессоры, ПЛИСы, нейрочипы.

Функции пакета программ Neural Networks (образуют макроязык программирования и позволяют создавать, обучать и использовать различные нейронные сети):

new – создание нейронной сети;

sim – моделирование нейронной сети;

gensim – вызов структурной схемы нейронной сети; train – обучение нейронной сети;

net.trainParam.epochs – задание числа циклов настройки; net.trainParam.goal – задание целевого значения функции

ошибки;

net.performFcn – задание вида функции ошибки; net.trainParam.show – задание периодичности вывода инфор-

мации;

init – инициализация сети (задание некоторых, обычно выбираемых случайным образом, весов и смещений).

Рассмотрим, какими уравнениями можно задать линейную нейронную сеть и сеть с радиальными базисными элементами (RBE), и дадим им определения.

Линейная модель нейронной сети обычно задаётся уравнением Y = XW +B , где W – матрица весов сети, B – вектор смещений. Линейная модель представляет собой сеть без промежуточных слоёв, которая в выходном слое содержит только линейные элементы.

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

Выходной слой сети является линейным, так что выходы сети

 

 

=

k

ϕ

 

X Ci

 

 

 

 

, j =1, 2, ..., m,

 

y

w

 

 

 

 

 

 

 

 

 

определяются выражением

 

 

 

 

 

 

 

 

i

 

ij

 

 

σ

 

 

 

 

 

 

 

 

 

i=1

 

 

 

i

 

 

 

где Ci – центры, σi – отклонения радиальных элементов, w – за-

6

 

 

 

 

 

X C

 

 

 

 

 

 

 

 

 

 

даёт вес,

ϕ

 

 

 

 

 

i

 

 

 

 

– выходной сигнал шаблонного нейрона –

 

 

 

 

 

 

 

 

 

σ

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

функция от расстояния между входным вектором X и сохранённым центром С.

1.3. Порядок выполнения работы

При проведении работы необходимо выполнить следующие действия.

1. Применить сеть для предсказания значений детерминированного процесса p(t).

Некоторый входной сигнал поступает на линию задержки так, что на ее выходе формируются 2 сигнала: p(t - 1), p(t - 2). Настройка сети реализуется с помощью М-функции adapt, которая изменяет параметры сети на каждом шаге с целью минимизировать погрешность e(t) = a(t) - p(t). Если эта погрешность нулевая, то выход сети a(t) точно равен p(t), и сеть выполняет предсказание должным образом.

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

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

clear

sys = ss(tf(1,[1 1 1])) % Формирование колебательного звена

%Реакция на ступенчатое входное воздействие time = 0:0.2:10

[y,time] = step(sys,0:0.2:10)

%Формирование обучающего множества

p = y(1:length(time)-2)’ t = y(3:length(time))’

time = time(1:length(time)-2)

% Формирование нейронной сети

7

net = newlin([-1 1],1,[1 2]) P = num2cell(p)

T = num2cell(t)

%Настройка нейронной сети pi = {0 0} net.adaptParam.passes = 5

[net,Y,E,Pf,Af] = adapt(net,P,T,pi) Y1 = cat(1,Y{:})

%Построение графиков

figure(1), plot(time,Y1,’b:’,time,p,’r-’), grid on xlabel(‘Время, с’), ylabel(‘Процессы’) title(‘Обучение нейронной сети’)

% Моделирование нейронной сети x = sim(net,P)

x1 = cat(1,x{:})

figure(2), plot(time,x1,’b:+’, time,p,’r-o’),grid on, legend(‘выход’, ‘вход’)

Найденные значения весов и смещения равны net.IW{1,1}, net.b

Вызвать структурную схему с помощью функции gensim.

2. Создать радиальную базисную сеть с нулевой ошибкой для следующей обучающей последовательности:

P = 0:3

T = [0.0 2.0 4.1 5.9]

net = newrbe(P,T); net.layers{1}.size

Сформированная радиальная базисная сеть с нулевой ошибкой имеет 4 нейрона в первом слое.

Выполним моделирование сети для нового входа:

figure(1), clf, plot(P,T,’*r’,’MarkerSize’,2,’LineWidth’,2) hold on, grid on

V = sim(net,P) % Векторы входа из обучающего множества plot(P,V,’ob’,’MarkerSize’,8, ‘LineWidth’,2)

P1 = 0.5:2.5

Y = sim(net,P1)

8

plot(P1,Y,’+k’,’MarkerSize’,10, ‘LineWidth’,2)

Вызвать структурную схему с помощью функции gensim.

1.4. Отчёт о выполнении работы

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

Контрольные вопросы

1.Как можно определить сущность нейрона?

2.Какие действия выполняют нейроны?

3.Как раскрыть сущность понятия «обучение»?

4.Каковы преимущества нейронных сетей?

5.Из каких элементов состоит нейрон?

6.Каковы способы реализации нейронных сетей?

7.Какова элементная база нейровычислителей?

8.Каковы основные функции пакета программ Neural Networks?

9.Каким уравнением задают линейную модель?

10.Каким уравнением задают сеть с радиальными базисными элементами (RBE)?

9

Практическая работа 2 СОЗДАНИЕ И МОДЕЛИРОВАНИЕ СЕТИ

GRNN И СЕТИ ЭЛМАНА

2.1. Цель работы

Создание и моделирование сети GRNN и сети Элмана. Определение структуры этих сетей.

2.2. Теоретическое введение

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

 

N

 

 

 

 

 

X Xk

 

 

 

 

 

 

 

 

 

 

 

 

Ykϕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

σ

 

 

k=1

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

N

 

 

X Xk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

σ

 

 

 

 

 

 

 

 

 

k=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Xk, Yk точки обучающей выборки, σ – параметр сглаживания (отклонение гауссовой функции; выбирается пользователем).

Сеть Элмана – сеть с обратной связью, в которой информация с последующих слоёв передаётся на предыдущие.

Алгоритм обратного распространения – это алгоритм обучения, при котором осуществляется распространение сигналов ошибки от выходов нейронной сети к её входам в направлении, обратном прямому распространению сигналов в обычном режиме работы. Алгоритм обратного распространения включает следующие шаги:

Шаг 1. Весам сети присваиваются небольшие начальные значения.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]