
- •Искусственный интеллект. Основные направления и этапы развития.
- •Структура мозга. Уровни моделирования. Основные элементы моделей.
- •Виды функций активации
- •Классификация нейронных сетей
- •Применение нейронных сетей
- •Методика решения формализуемых задач в нейросетевом базисе
- •Настройка нейронной сети на решение прикладных задач
- •Обучение нс Основные понятия
- •Основные алгоритмы обучения нс без обратных связей
- •Персептронные алгоритмы обучения Алгоритм обучения по правилу Хебба
- •Алгоритм обучения Розенблатта
- •Процедура Уидроу-Хоффа
- •Обучение многослойной нейронной сети без обратных связей Математическая постановка задачи обучения
- •Алгоритм обратного распространения ошибки
- •Генетические алгоритмы оптимизации
- •Суть генетического алгоритма
- •Методы формирования популяции
- •Иллюстрация работы генетического алгоритма
- •Особенности реализации генетических алгоритмов
- •Модификация основных параметров га
- •Мобильные га
- •Динамическое изменение параметров в процессе выполнения га
- •Разновидности га
- •Применение генетического алгоритма к обучению многослойного персептрона
- •Рекуррентные и рециркуляционные сети
- •Сеть Хопфилда
- •Применение сети Хопфилда к решению задач комбинаторной оптимизации
- •Сеть Хемминга
- •Самоорганизующиеся нейронные сети Самоорганизация в нс
- •Конкурентное обучение
- •Сеть Кохонена
- •Алгоритмы кластеризации
- •Пороговый алгоритм
- •Алгоритм максимального расстояния
- •Алгоритм внутригруппового среднего (метод k-средних, k-means clustering, c-means clustering)
- •Алгоритм нечётких k-средних (fuzzy c-means clustering)
- •Алгоритм состязания процедур соединения и разделения.
- •Сети адаптивного резонанса
- •Основы адаптивного резонанса
- •Архитектура art
- •Комбинированные нс
- •Иерархический классификатор
- •Нейронные сети с функциональными связями
- •Решающие деревья
- •Методы проектирования нейросетевых архитектур для решения прикладных задач
- •Выбор топологии нс для решения задач нейроуправления
- •Практическое применение нс Управление движением робота по заданной траектории
- •Обучение и формирование обучающей выборки для управления мобильным роботом
- •Тестирование робота
- •Автономное управление мобильным роботом
Сеть Кохонена
Сеть Кохонена была введена Т. Кохоненом в 1982г.
Другие названия сети:
"самоорганизующаяся карта признаков" (Self–Organizing feature Maps, SOM)
KCN (Kohonen Clastering Networks)
KCN используется для отображения нелинейных взаимосвязей данных на достаточно легко интерпретируемые (чаще всего двумерные) сетки, представляющие метрические и топологические зависимости входных векторов, объединяемых в кластеры.
Сеть Кохонена определяется картой Кохонена, которая служит для отображения нейронной активности в пространство.
Сеть Кохонена имеет один слой нейронов. Число входов каждого нейрона равно размерности входного образа. Количество нейронов в слое непосредственно определяет, сколько различных кластеров сеть может распознать.
С помощью KCN можно сократить размерность представления многомерных векторов, при этом сохраняя топологию связей между ними.
Сеть Кохонена использует конкурентный алгоритм обучения.
Для отображения близко взаимодействующих элементов вводится понятие латерального торможения: активность победившего нейрона распространяется на другие нейроны, заставляя их реагировать на входной сигнал (с увеличением расстояния активность уменьшается).
При вычислении активности каждого из нейронов необходимо учитывать расстоянии от него до победившего нейрона. Для сглаживания эффекта насыщения вводится параметр скорость обучения μ.
Алгоритм обучения сети Кохонена сводится к следующей последовательности действий:
Инициализировать весовые вектора для всех выходных нейронов (матрицы связей
) случайной малой величиной.
Вычислить усредненное начальное
расстояние
(обозначим
через
усредненное расстояние после t
итераций) между обучающими векторами
и установленными векторами весовых
коэффициентов:
,
где N – число примеров в обучающей выборке, j – номер нейрона, для которого расстояние dist = min.
Установить размер окрестности для выигравшего нейрона r ("радиус стимуляции").
Положить
.
Подать на вход сети очередной входной вектор из обучающей выборки
, где t – текущий шаг итерации.
Для каждого нейрона j определить его расстояние
по формуле для любого j.
Выбрать нейрон победитель
, для которого это расстояние минимально (поиск победителя ведётся по величине отклонения входного вектора от весового вектора каждого нейрона).
Модифицировать весовые коэффициенты выигравшего нейрона:
и тех нейронов s, которые находятся в окрестности выигравшего:
,
где
;
μ – скорость обучения (μ<1).
Повторить п. 3 – 6 для всех векторов обучающей выборки.
Положить
и вычислить
по формуле .
Подсчитать
.
Если
,
где η – априорно заданная положительная
пороговая величина, то перейти к п. 9,
иначе положить
,
откорректировать μ, размер окрестности
и перейти к п. 2.
Останов.
В начале для быстрого выделения кластеров скорость обучения μ велика, затем она понижается по мере увеличения расстояния между кластерами.
Для учёта влияния эффекта латерального
торможения вводится поправка в формулу
:
,
где
- расстояние между победившим
и соседним нейроном, r
– текущий размер окрестности.
Основные недостатки сети Кохонена:
Метод обучения является эвристическим, поскольку его сходимость не доказана, поэтому завершение процедуры обучения не основывается на оптимизации какой-либо математической модели процесса или относящихся к нему данных.
Итоговые весовые векторы выходных нейронов обычно зависят от входной последовательности.
Различные начальные условия обычно порождают различные результаты.
Использование некоторых параметров алгоритмов KCN: скорости обучения, размера окрестности и пр. не всегда пригодно.
Поэтому более выгодными оказываются комбинированные сети.