Файл: Практикум по дисциплинам Методы искусственного интеллекта в управлении, Интеллектуальное управление сложными объектами.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 249
Скачиваний: 10
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Искусственная нейронная сеть Кохонена представляет собой двухслойную сеть (рис. 4.1), в которой каждый нейрон первого
(распределительного) слоя соединен со всеми нейронами второго
(выходного) слоя, которые расположены в виде двумерной решетки.
Нейроны выходного слоя называются кластерными элементами; их количество определяет максимальное количество групп, на которые алгоритм может разделить входные данные.
Рис. 4.1. Структура сети Кохонена
Сети Кохонена основаны на конкурентном обучении, которое заключается в следующем. Конкурирующие между собой нейроны
(рис. 4.2) получают одни и те же входные сигналы .
Рис. 4.2. Механизм конкуренции нейронов в сети Кохонена
В зависимости от фактических значений весовых коэффициентов суммарные сигналы отдельных нейронов могут различаться. Выходные сигналы нейронов сравниваются между собой – в процессе этой конкуренции побеждает нейрон с самым сильным выходным сигналом, то есть тот, для которого взвешенная сумма его входов
∑
∙
максимальна, что для
нормализованных векторов равнозначно наименьшему евклидову расстоянию между входным вектором и вектором весов нейронов.
Этот нейрон называется «нейроном-победителем», и он получает право уточнить свои веса в направлении входного вектора х по правилу:
1
∙
∙
,(4.1)
где
– весовой коэффициент, соединяющий i-вход с j-м выходом;
t – номер итерации обучения; – коэффициент скорости обучения;
– функция окрестности; причем единичная функция окрестности рассчитывается по формуле:
1,
0,
; где
– номер выходного нейрона, – номер нейрона-победителя, имеющего максимальное значение выходного сигнала.
Представленный алгоритм обучения, использующий единичную функцию окрестности, называется «победитель получает все»
(WTA – англ. Winner Takes All). Это значит, что нейрон-победитель вырабатывает на своем на своем выходе состояние 1, а остальные
(проигравшие) нейроны переходят в состояние 0.
Подстройка весов связей в алгоритме WTA осуществляется не для всех нейронов слоя, а только для «нейрона-победителя», значение выхода которого в слое нейронов оказывается максимальным.
Когда «победивший в соревновании» нейрон переходит в состояние 1, он получает возможность уточнения своих весовых коэффициентов, значения которых приближаются к значениям текущего обучающего вектора х. Напротив, у проигравших нейронов, сформировавших на выходах состояние 0, блокируется процесс уточнения весовых коэффициентов: проигравшие нейроны не изменяют свои веса.
Таким образом, только победа при очередном представлении входного вектора позволит нейронам скорректировать весовые коэффициенты и продолжить процесс обучения в случае еще одной победы.
Нейроны в ходе конкурентного процесса избирательно настраиваются на различные входные образы. Следствием процесса конкуренции становится самоорганизация процесса обучения.
Этот нейрон называется «нейроном-победителем», и он получает право уточнить свои веса в направлении входного вектора х по правилу:
1
∙
∙
,(4.1)
где
– весовой коэффициент, соединяющий i-вход с j-м выходом;
t – номер итерации обучения; – коэффициент скорости обучения;
– функция окрестности; причем единичная функция окрестности рассчитывается по формуле:
1,
0,
; где
– номер выходного нейрона, – номер нейрона-победителя, имеющего максимальное значение выходного сигнала.
Представленный алгоритм обучения, использующий единичную функцию окрестности, называется «победитель получает все»
(WTA – англ. Winner Takes All). Это значит, что нейрон-победитель вырабатывает на своем на своем выходе состояние 1, а остальные
(проигравшие) нейроны переходят в состояние 0.
Подстройка весов связей в алгоритме WTA осуществляется не для всех нейронов слоя, а только для «нейрона-победителя», значение выхода которого в слое нейронов оказывается максимальным.
Когда «победивший в соревновании» нейрон переходит в состояние 1, он получает возможность уточнения своих весовых коэффициентов, значения которых приближаются к значениям текущего обучающего вектора х. Напротив, у проигравших нейронов, сформировавших на выходах состояние 0, блокируется процесс уточнения весовых коэффициентов: проигравшие нейроны не изменяют свои веса.
Таким образом, только победа при очередном представлении входного вектора позволит нейронам скорректировать весовые коэффициенты и продолжить процесс обучения в случае еще одной победы.
Нейроны в ходе конкурентного процесса избирательно настраиваются на различные входные образы. Следствием процесса конкуренции становится самоорганизация процесса обучения.
Нейроны уточняют свои веса таким образом, что при предъявлении группы близких по значениям входных векторов победителем всегда оказывается один и тот же нейрон. В этом случае весовые коэффициенты этого нейрона становятся равными усредненным значениям тех входных векторов, благодаря которым данный нейрон оказался победителем.
Серьезной проблемой при обучении WTA является появление
«мёртвых» нейронов, которые после инициализации никогда не побеждают в конкурентной борьбе и остаются в состоянии, однажды сформированном в начальный момент времени. Каждый «мертвый» нейрон уменьшает эффективное количество элементов, прошедших обучение, и соответственно увеличивает общую погрешность распознавания данных. Для разрешения этой проблемы применяется модифицированное обучение, основанное на учете прошлых побед каждого нейрона и штрафовании (временной дисквалификации) тех из них, которые побеждали чаще всего.
2.2. Алгоритм обучения без учителя WTA
Шаг 1. Обучающий вектор Х подается на вход сети.
Шаг 2. Определяются расстояния (в n-мерном пространстве) между Х и весовыми векторами W
j
каждого нейрона. В евклидовом пространстве это расстояние вычисляется по следующей формуле:
∑
, (4.2) где
– компонента i-го входного вектора X,
– весовой коэффициент, связывающий входной вектор i с нейрона j.
Шаг 3. Нейрон, который имеет весовой вектор, самый близкий к
X, объявляется победителем. Этот весовой вектор, называемый W
c
, становится основным в группе весовых векторов, которые лежат в пределах расстояния d от W
c
Шаг 4. Весовые векторы в пределах расстояния d от W
c
настраиваются в соответствии с выражением (4.1).
Шаг 5. Повторяются шаги с 1 по 4 для каждого входного вектора до тех пор, пока принадлежность объектов к кластерам не перестанет изменяться и веса сети не станут стабильными.
3. Методика выполнения работы
Пример. Рассматривается процедура кластеризации с помощью нейронной сети Кохонена (рис. 4.3), имеющей 4 входных нейрона в распределительном слое и 2 нейрона (кластерных элемента) в выходном слое.
Рис. 4.3. Пример нейронной сети Кохонена
Для обучения используется обучающая выборка, состоящая из четырех примеров, закодированных в виде черно-белого точечного изображения:
1 2
3 4
Имеется матрица начальных значений весовых коэффициентов нейронов
0,2 0,4 0,1 0,1 0,5 0,6 0,6 0,3 и коэффициент скорости обучения, равный
0,8.
На основе евклидовой метрики определяется принадлежность входных примеров
,
1,4 кластерным элементам и вычисляются весовые коэффициенты после первого цикла обработки данных.
В соответствии с принятым правилом кодировки обучающая выборка преобразуется в четыре входных примера:
0, 1, 1, 0 ,
1, 1, 0, 0 ,
0, 0, 1, 1 ,
1, 0, 1, 0 .
Матрица весовых коэффициентов выходных нейронов
(кластерных элементов) в виде двух векторов имеет вид:
0,2, 0,4, 0,1, 0,1 ,
0,5, 0,6, 0,6, 0,3 .
Через обозначается мера близости между i-м входным примером и j-м кластерным элементом.
Шаг 1. Входнойпример поочередно сравнивается с кластерными элементами и
– для этого осуществляется расчет меры близости на основе евклидовой метрики:
,
0 0,2 1
0,4 1
0,1 0
0,1 1,22;
,
0 0,5 1
0,6 1
0,6 0
0,3 0,66.
Расчет мер близости показал, что первый пример ближе к кластерному элементу 2, так как
,
,
. Следовательно, нейроном-победителем является второй выходной нейрон, и его весовые значения необходимо приблизить к входному вектору по формуле:
∙
:
0,5 0,8 ∙ 0,5 0
0,1;
0,6 0,8 ∙ 0,6 1
0,92;
0,6 0,8 ∙ 0,6 1
0,92;
0,3 0,8 ∙ 0,3 0
0,06.
Таким образом, матрица весовых коэффициентов примет вид:
0,2 0,4 0,1 0,1 0,1 0,92 0,92 0,06 .
Шаг 2. Рассчитываются меры близости входногопримера с кластерными элементами и
:
,
1 0,2 1
0,4 0
0,1 0
0,1 1,02;
,
1 0,1 1
0,92 0
0,92 0
0,06 1,67.
Очевидно, что поскольку
,
,
, то входной пример ближе к кластеру 1. Группа весовых коэффициентов первого кластерного элемента приближается к входному вектору по формуле:
∙
:
0,2 0,8 ∙ 0,2 1
0,84;
0,4 0,8 ∙ 0,4 1
0,88;
0,1 0,8 ∙ 0,1 0
0,02;
0,1 0,8 ∙ 0,1 0
0,02.
Матрица весовых коэффициентов принимает вид:
0,84 0,88 0,02 0,02 0,1 0,92 0,92 0,06 .
Шаг 3. Рассчитываются меры близости примера с кластерными элементами и
:
,
0 0,84 0
0,88 1
0,02 1
0,02 3,4;
,
0 0,1 0
0,92 1
0,92 1
0,06 1,75.
Пример ближе к кластеру 2. Весовые коэффициенты нейрона-победителя уточняются по направлению к значениям третьего примера.
0,1 0,8 ∙ 0,1 0
0,02;
0,92 0,8 ∙ 0,92 0
0,184;
0,92 0,8 ∙ 0,92 1
0,984;
0,06 0,8 ∙ 0,06 1
0,812.
Матрица весовых коэффициентов:
0,84 0,88 0,02 0,02 0,02 0,184 0,98 0,812 .
Шаг 4. И, наконец, последний пример оказывается ближе ко второму кластеру:
,
1 0,84 0
0,88 1
0,02 0
0,02 2,72;
,
1 0,02 0
0,18 1
0,98 0
0,81 1,03.
Уточняются весовые коэффициенты кластерного элемента 2:
0,02 0,8 ∙ 0,02 1
0,804;
0,184 0,8 ∙ 0,184 0
0,037;
0,98 0,8 ∙ 0,98 1
0,997;
0,812 0,8 ∙ 0,812 0
0,96.
Матрица весовых коэффициентов:
0,84 0,88 0,02 0,02 0,804 0,037 0,997 0,96 .
Последовательность кластеров-победителей и скорректиро- ванные весовые коэффициенты заносятся в табл. 4.1.
Таблица 4.1
Результат кластеризации на основе алгоритма WTA
№ кластера
1 0,840 0,880 0,02 0,02 2
,
,
0,804 0,037 0,997 0,96
Порядок выполнения работы
1. Выполнить процедуру нейросетевой кластеризации методом
WTA (п.3) по выданному варианту задания 1. Вычислить весовые коэффициенты кластерных элементов после первого цикла обработки данных.
2. Решить задачу кластеризации объектов по выданному варианту задания 2. Изобразить расположение исходных объектов на графике.
Необходимо разбить объекты на 3 кластера. Для нейросетевой кластеризации строится сеть Кохонена со следующей структурой: число входных нейронов равно 2 (в распределительном слое), число выходных нейронов равно 3. Структуру сети Кохонена изобразить графически.
Провести кластеризацию объектов методом WTA, если первоначальные весовые коэффициенты нейронов
0,1 0,2 0,2 0,3 0,3 0,1
и коэффициент скорости обучения
0,5. При вычислении меры близости использовать евклидову метрику. Итоги нейросетевой кластеризации оформить в виде таблицы.
Требования к содержанию и оформлению отчета
Отчет по практической работе должен содержать:
1. Название и цель работы.
2. Исходные данные варианта задания 1. Этапы нейросетевой кластеризации методом WTA. Итоговая таблица с результатами кластеризации после первого цикла обработки данных: составом кластеров и весовыми коэффициентами нейронной сети.
3. Исходные данные варианта задания 2. Графическое изображение объектов в пространстве признаков. Структура нейронной сети Кохонена в графическом виде. Этапы нейросетевой кластеризации методом WTA. Итоговая таблица с результатами кластеризации.
4. Выводы.
Варианты заданий
Задание 1
№
W
Входные образцы для обучения нейросети
1 0,8 0
0,3 0,1 0,9 0,1 0,5 0,9 0,1 1
2 3
4 2 0,8 0,4 0,4 0,6 0,9 0,2 0,2 0,7 0,5 1
2 3 4
3 0,4 0,3 0,1 0,3 0,7 0,2 0,4 0,5 0,4 1
2 3 4
4 0,4 0,9 0,1 0,1 0,6 0,4 1
0,1 1
1 2
3 4
5 0,5 0,1 0,7 0,2 0,6 0,3 0,2 0,7 0,2 1
2 3 4 6 0,7 0 0,3 1
0,3 1 0,6 0,4 0,1 1
2 3
4 7 0,5 0,5 0,8 0,8 0,5 0,9 0,5 0,9 0,6 1 2 3
4 8 0,4 0,2 0,1 0,7 0,5 0,3 0,6 0,6 0,3 1
2 3 4 9 0,5 0,4 0,7 0,2 0,3 0,1 0,2 0,9 0,5 1
2 3 4
10 0,5 0,2 0,9 0,3 0,4 0,4 0,9 0,4 0,3 1
2 3 4
Задание 2
№ варианта
Координаты входных объектов
1
(21; 0,3); (16; 0,8); (15; 0,6); (13; 0,7); (25; 0,7)
2
(22; 0,2); (15; 0,7); (16; 0,5); (12; 0,8); (24; 0,8)
3
(23; 0,1); (14; 0,6); (17; 0,4); (14; 0,9); (25; 0,5)
4
(24; 0,4); (15; 0,7); (14; 0,6); (15; 0,6); (24; 0,4)
5
(25; 0,5); (16; 0,8); (15; 0,6); (13; 0,5); (25; 0,9)
6
(26; 0,4); (11; 0,7); (16; 0,5); (12; 0,7); (24; 0,5)
7
(27; 0,3); (17; 0,8); (17; 0,4); (14; 0,8); (25; 0,6)
8
(20; 0,2); (18; 0,6); (18; 0,6); (13; 0,6); (24; 0,3)
9
(21; 0,1); (19; 0,7); (14; 0,4); (14; 0,7); (25; 0,7)
10
(22; 0,5); (17; 0,8); (15; 0,5); (12; 0,8); (24; 0,3)
11
(23; 0,4); (16; 0,6); (16; 0,4); (14; 0,5); (25; 0,5)
12
(24; 0,3); (15; 0,7); (17; 0,7); (15; 0,6); (24; 0,4)
13
(25; 0,2); (14; 0,8); (14; 0,6); (13; 0,7); (25; 0,9)
14
(26; 0,1); (13; 0,6); (15; 0,5); (12; 0,8); (24; 0,5)
15
(27; 0,5); (12; 0,7); (16; 0,4); (14; 0,9); (25; 0,6)
16
(20; 0,4); (11; 0,8); (17; 0,3); (13; 0,7); (24; 0,3)
17
(21; 0,3); (12; 0,6); (18; 0,4); (14; 0,9); (23; 0,7)
18
(22; 0,2); (13; 0,7); (14; 0,5); (12; 0,6); (24; 0,3)
19
(23; 0,1); (14; 0,8); (15; 0,4); (14; 0,8); (25; 0,5)
20
(24; 0,5); (15; 0,6); (16; 0,7); (15; 0,6); (25; 0,4)
Контрольные вопросы и задания
1. В чем заключается конкуренция при функционировании сети
Кохонена?
2. Какие процедуры используются для определения нейрона- победителя в сети Кохонена?
3. Для какой задачи используется сеть Кохонена?
4. Опишите структуру сети Кохонена и основные моменты алгоритма ее функционирования.
5. Какие проблемы возникают при обучении нейронной сети
Кохонена?
6. Как работает алгоритм обучения WTA – «победитель получает все»?
1 2 3 4 5 6
Список литературы
1. Осовский С. Нейронные сети для обработки информации / Пер. с польского И. Д. Рудинского. М.: Финансы и статистика, 2002. 344 с.
2. Паклин Н. Б., Орешков В. И. Бизнес-аналитика: от данных к знаниям: Питер, 2013. 706 с.
3. Каллан Р. Основные концепции нейронных сетей: Пер. с англ.
М.: Издательский дом «Вильямс», 2001. 287 с.
4. Хайкин С. Нейронные сети: Полный курс: Пер. с англ.
2-е изд. М.: Вильямс, 2006. 1104 с.
1. Осовский С. Нейронные сети для обработки информации / Пер. с польского И. Д. Рудинского. М.: Финансы и статистика, 2002. 344 с.
2. Паклин Н. Б., Орешков В. И. Бизнес-аналитика: от данных к знаниям: Питер, 2013. 706 с.
3. Каллан Р. Основные концепции нейронных сетей: Пер. с англ.
М.: Издательский дом «Вильямс», 2001. 287 с.
4. Хайкин С. Нейронные сети: Полный курс: Пер. с англ.
2-е изд. М.: Вильямс, 2006. 1104 с.
Практическая работа № 5
ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ
1. Цель и задачи работы
Целью работы является приобретение умений и навыков поиска оптимального значения нелинейной функции на заданном интервале с помощью генетических алгоритмов.
Задачами работы являются: приобретение навыков кодирования значений параметров функции в двоичной системе; выбора исходной популяции хромосом, оценки функции приспособленности, селекции хромосом, применения генетических операторов (скрещивания и мутации) и определения наилучшей хромосомы.
2. Теоретические сведения
2.1. Реализация идеи биологической эволюции в рамках генетических алгоритмов
Генетические алгоритмы (ГА) относятся к одному из направлений эволюционных вычислений – бионическому направле- нию, использующему существующие в природе закономерности, упрощенные таким образом, чтобы их можно было реализовать в компьютерных моделях.
Основным механизмом эволюции является естественный отбор.
Все биологические виды развиваются с различной степенью приспособленности к окружающей среде; при этом более приспособленные особи получают больше возможностей для выживания. При генерации новых поколений биологических видов работает механизм генетического наследования, согласно которому потомки наследуют от родителей некоторые свойства. Очевидно, что количество потомков более приспособленных родителей будет увеличиваться, поэтому через несколько десятков или сотен новых поколений средняя приспособленность такой группы возрастает.
Научное направление, изучающее законы и механизмы наследственности, называется генетикой. Генетическая информация хранится в виде набора молекул ДНК. Каждая молекула ДНК – это цепочка из молекул нуклеотидов четырех типов: A, T, C, G.