
- •Содержание
- •3.2. Многослойный персептрон 34
- •12.1. Обоснование выбора темы и области применения разработки 142
- •12.2. Оценка ожидаемой экономической целесообразности разработки, изготовления и использования проектируемой системы 144
- •12.3. Выводы 151
- •7. Работа с сетью Кохонена. 170
- •Введение
- •Глава 1. Введение в искусственные нейронные сети
- •1.1. Проблемы, решаемые в контексте инс
- •1.2. Краткий исторический обзор
- •1.3. Модель технического нейрона
- •Математическая модель нейрона:
- •1.4. Архитектура нейронной сети
- •1.5. Обучение нейронных сетей
- •1.6. Многослойные сети прямого распространения
- •1.6.1. Многослойный персептрон
- •1.6.3. Нерешенные проблемы
- •1.7. Самоорганизующиеся карты Кохонена
- •1.8. Модели теории адаптивного резонанса
- •1.9. Сеть Хопфилда
- •1.9.1 Ассоциативная память
- •1.9.2. Минимизация энергии
- •Глава 2. Основные функциональные возможности программ моделирования нейронных сетей
- •2.1. Формирование (создание) нейронной сети.
- •2.2. Обучение нейронной сети
- •2.3. Имитация функционирования (тестирование) обученной нейронной сети
- •Глава 3. Персептроны
- •3.1. Однослойный персептрон
- •3.2. Многослойный персептрон
- •3.2.1. Архитектура сети
- •3.2.2. Алгоритм обратного распространения
- •3.2.3. Модификации алгоритма обратного распространения и rprop-алгоритма
- •3.3. Применение многослойных персептронов
- •3.3.1. Решение конкретных задач
- •3.3.2. Естественные координаты
- •3.3.3. Репликативные нейронные сети
- •3.3.4. Практическое использование репликативных нейронных сетей
- •Глава 4. Сети Кохонена
- •4.1. Основной принцип работы сети Кохонена
- •4.2. Сходимость алгоритма самообучения
- •Глава 5. Сети радиальных базисных функций
- •5.1. Архитектура сетей
- •5.2. Интерполяция при помощи центральных функций
- •5.3. Интерполяция с помощью центральных функций и полиномов
- •5.4. Аппроксимация с помощью центральных функций
- •5.5. Вариационное исчисление для решения проблемы аппроксимации с помощью rbf-сетей
- •5.6. Расширение на случай многих функций
- •5.7. Расширение линейной частью
- •5.9. Итеративное дополнительное обучение rbf- и hbf-сетей
- •5.10. Выбор центров и радиусов в rbf-сетях
- •5.10.1. Итеративный алгоритм кластеризации
- •5.10.2. Выбор параметра
- •5.10.3. Расчет выходной весовой матрицы c
- •Глава 6. Нейронные сети и генетические алгоритмы
- •6.1. Эволюция как способ оптимизации.
- •6.2 Генетические алгоритмы
- •6.3. Нейро-генетические способы
- •Глава 7. Система моделирования нейронных сетей Trajan 2.0
- •7.1. Создание сети и обучающей последовательности
- •7.1.1. Создание сети
- •7.1.2. Количество и размерность слоев в сети
- •7.1.3. Создание обучающей последовательности
- •7.1.4. Редактирование набора образцов
- •7.2. Обучение сети
- •7.2.1. Типы сетей
- •7.2.2. Создание обучающей и проверочной последовательностей образов
- •7.2.3. Создание сокращенной обучающей последовательности
- •7.2.4. Визуализация процесса обучения
- •7.2.5. Оптимизация процесса обучения
- •7.2.6. Обучение с перекрестной проверкой
- •7.3. Работа с сетью
- •7.3.1. Возможности сети по работе с образцами
- •7.3.2. Интерпретация классификации
- •7.3.3. Работа с сетью Кохонена.
- •7.4. Генетический алгоритм выбора входных атрибутов
- •7.5. Сохранение результатов работы
- •Глава 8. Экспериментальное исследование эффективности применения нейронных сетей
- •Глава 9. Методика представления, архивирования и обработки обучающей последовательности для алгоритмов обучения нейросетей
- •Глава 10. Возможности использования среды www для дистанционного обучения
- •Глава 11. Создание программ для среды www
- •Глава 12. Технико-экономический анализ и обоснование разработки адаптивного обучающего и контролирующего курсов по нейросетям
- •12.1. Обоснование выбора темы и области применения разработки
- •12.2. Оценка ожидаемой экономической целесообразности разработки, изготовления и использования проектируемой системы
- •12.2.1. Расчет затрат на разрабоку и изготовление предлагаемого курса
- •12.2.2. Расчет экономического эффекта от создания и использования обучающего курса
- •12.3. Выводы
- •Глава 13. Обучение контролирующей системы
- •Глава 14. Дистанционный обучающий и контролирующий курс
- •Содержание обучающего курса
- •Заключение
- •Литература
- •Приложение 1. Лабораторная работа «Кластеризация образов с помощью системы моделирования нейросетей Trajan 2.1»
- •1. Цель работы
- •2. Знания и умения, формируемые данной лабораторной работой
- •3. Постановка задачи
- •4. Принципиальные особенности сетей Кохонена.
- •5. Создание сети Кохонена
- •6. Обучение сети Кохонена
- •7. Работа с сетью Кохонена.
- •8. Задание
- •9. Контрольные вопросы
- •Приложение 2. Вопросы контролирующего курса.
- •Приложение 3. Обучающие последовательности для контролирующей системы
- •Приложение 4. Листинг контролирующей программы.
4.1. Основной принцип работы сети Кохонена
Основной принцип работы сети Кохонена состоит в следующем.
На рис. 1 приведен пример топологической карты сети Кохонена, содержащей сходной слой и слой Кохонена. Нейроны входного слоя служат для ввода значений признаков распознаваемых образов. Активные нейроны слоя Кохонена предназначены для формирования областей (кластеров) различных классов образов. На этом рисунке показаны связи всех входных нейронов лишь с одним нейроном слоя Кохонена. Каждый нейрон слоя Кохонена также соединен с соседними нейронами.
Поясним основной принцип работы сети Кохонена.
Введем следующие обозначения:
____
wj = (wj1, wj2, …, wjn)T , j = 1,m (1)
- вектор весовых коэффициентов j-го нейрона слоя Кохонена,
x = (x1, x2, … , xn)T (2)
- входной вектор или вектор значений признаков некоторого образца.
На стадии обучения (точнее самообучения) сети входной вектор xc попарно сравнивается со всеми векторами wj всех нейронов слоя Кохонена. Вводится некоторая функция близости (например, в виде эвклидова расстояния). Активный нейрон с номером c слоя Кохонена, для которого значение функции близости d (x, wc) между входным вектором x, характеризующим некоторый образ, и вектором wc максимально, объявляется "победителем". При этом образ, характеризующийся вектором x, относится к классу, который представляется нейроном-"победителем". В результате осуществляется преобразование n-мерного входного пространства Rn на m-мерную сетку (слой Кохонена).
Рис. 1. Топологическая карта сети Кохонена.
Следует еще раз подчеркнуть, что это отображение реализуется в результате рекуррентной (итеративной) процедуры самообучения (unsupervised learning, nicht ueberwachtes Lernen). Отличительная особенность этот отображения - формирование кластеров (cluster) или классов. По завершении процесса самообучения на стадии реального использования сети Кохонена неизвестные входные образы относятся к одному из выявленных кластеров (классов).
Возникает естественный вопрос: как возникает указанное отображение топологической карты? Для ответа на него рассмотрим алгоритм самообучения сетей Кохонена, полагая, что ее входной слой содержит n входных нейронов, а ее слой Кохонена - m активных нейронов.
Для определения расстояния между входным вектором x (2) и весовым вектором wj (1) j-го нейрона слоя Кохонена можно использовать различные функции близости (обычно эвклидово расстояние).
При этом "выигрывает" тот нейрон c с весовым вектором wc, который наиболее близок к входному вектору x:
|| x - wc || = min || x - wj || (3)
j
или при использовании функции index, определяющей номер минимального расстояния:
c = index min || x - wj|| (4)
j
При использовании скалярного произведения
n
xTwj = xi wij = netj = zj (5)
i=1
"выигрывает" нейрон с максимальным значением этого произведения.
На стадии самообучения сети Кохонена осуществляется коррекция весового вектора не только нейрона-"победителя", но и весовых векторов остальных активных нейронов слоя Кохонена, однако естественно в существенно меньшей степени - в зависимости от удаления от нейрона-"победителя". При этом форма и величина окрестности вокруг нейрона-"победителя", весовые коэффициенты нейронов которой также корректируются, в процессе обучения изменяются. Сначала начинают с очень большой области - она, в частности, может включать все нейроны слоя Кохонена.
Изменение весовых векторов осуществляется по правилу:
____
wj(t+1) = wj(t) + (t) dcj (t) [x(t) - wj (t)], j=1,m (6)
где wj(t) - значение весового вектора на t-м шаге самообучения сети, dcj(t) - функция близости между нейронами слоя Кохонена (neighborhood Kernel) и (t) - изменяемый во времени коэффициент коррекции. В качестве (t) обычно выбирается монотонно уменьшающаяся функция (0 < (t) < 1), т. е. алгоритм самообучения начинается сравнительно большими шагами адаптации и заканчивается относительно небольшими изменениями.
Обратим внимание, что в соответствии с (6) изменение того или иного весового вектора wj пропорционально расстоянию между входным вектором x и этим весовым вектором wj.
В
качестве примера рассмотрим сеть
Кохонена с одномерным слоем Кохонена
(рис. 2). На рис. 2 отображено движение
весовых векторов нейронов слоя Кохонена.
К входному вектору x
ближе всех расположен весовой вектор
w5
для нейрона c=5.
Этот весовой вектор применяется
соответственно наиболее сильно: он в
большей степени приближается к входному
вектору x.
На втором месте по степени близости
находятся весовые векторы w4
и w6.
Изменение их - второе по силе (степени).
Весовые векторы w3
и w7
также изменяются - однако в существенно
меньшей степени.
Нейроны 1, 2, 8 и 9 расположены вне окрестности вокруг нейрона-"победителя" c=5, поэтому их весовые векторы оставляются без изменения после показа сети образца, характеризующегося вектором x.
Рис. 2. Сеть Кохонена с одномерным слоем Кохонена.
Приведем примеры функций близости (применительно к двумерному слою Кохонена). При этом расстояние между нейронами i и j в двумерном пространстве равно:
____________________
z = (ki1-kj1)2 + (ki2-kj2)2) , (7)
где ki1 и ki2 - координаты по оси x и оси y нейрона i, kj1 и kj2 - аналогично для нейрона j. При этом можно использовать следующие функции близости:
-z2
dGauss (z) = e (8)
-z2
dmexican-hat (z) = (1-z2) e (9)
cos (z*/2), для z<1
dcos (z) = (10)
0
Как отмечено выше, изменение весовых векторов wj осуществляется в направлении входного вектора x, и эти изменения осуществляются многократно. В процессе самообучения варьируется как коэффициент коррекции , так и радиус d, задающий окрестность вокруг нейрона-"победителя".