В результате работы алгоритма центр кластера устанавливается в определенной позиции, удовлетворительным образом кластеризующей примеры, для которых данный нейрон является "победителем". В результате обучения сети необходимо определить меру соседства нейронов, т.е. окрестность нейрона-победителя, которая представляет собой несколько нейронов, которые окружают нейрон-победитель.
Сначала к окрестности принадлежит большое число нейронов, далее ее размер постепенно уменьшается. Сеть формирует топологическую структуру, в которой похожие примеры образуют группы примеров, близко находящиеся на топологической карте.
Рассмотрим это более подробнее. Кохонен существенно упростил решение задачи, выделяя из всех нейронов слоя лишь один с-й нейрон, для которого взвешенная сумма входных сигналов максимальна:
Отметим, что весьма полезной операцией предварительной об работки входных векторов является их нормализация:
превращающая векторы входных сигналов в единичные с тем же направлением.
В этом случае вследствие того, что сумма весов каждого нейрона одного слоя
Таким образом, будет активирован только тот нейрон, вектор весов которого w наиболее близок к входному вектору х. А так как перед началом обучения неизвестно, какой именно нейрон будет активироваться при предъявлении сети конкретного входного вектора, сеть обучается без учителя, т. е. самообучается. Вводя потенциальную функцию — функцию расстояния
где
Где
На рисунке 2.2 показан пример изменения двумерных весов карты
Рисунок– 2.2 Изменение весов карты Кохонена
Таким образом, алгоритм обучения сети Кохонена может быть описан так:
1. Инициализация
Весовым коэффициентам всех нейронов присваиваются малые случайные значения и осуществляется их нормализация. Выбирается соответствующая потенциальная функция
2. Выбор обучающего сигнала
Из всего множества векторов обучающих входных сигналов в соответствии с функцией распределения
3. Анализ отклика (выбор нейрона)
По формуле (2.1) определяется активированный нейрон.
4. Процесс обучения
В соответствии с алгоритмом (2.5) изменяются весовые коэффициенты активированного и соседних с ним нейронов до тех пор, пока не будет получено требуемое значение критерия качества обучения или не будет предъявлено заданное число обучающих входных векторов. Окончательное значение весовых коэффициентов совпадает с нормализованными векторами входов.
Поскольку сеть Кохонена осуществляет проецирование N-мерного пространства образов на М-мерную сеть, анализ сходимости алгоритма обучения представляет собой довольно сложную задачу.
Если бы с каждым нейроном слоя ассоциировался один входной вектор, то вес любого нейрона слоя Кохонена мог бы быть обучен с помощью одного вычисления, так как вес нейрона-победителя корректировался бы с
2.3 Выбор функции «соседства»
На рисунке 2.3 показан слой нейронов с нейроном-победителем, отмеченным черным кружком. Поскольку веса всех затемненных нейронов изменяются по-разному, в зависимости от их удаленности от нейрона-победителя, наиболее простым является выбор в качестве
Рисунок 2.3 – Слой нейронов Кохонена
На практике же в качестве
где
К числу наиболее широко используемых потенциальных функций относятся:
а) колоколообразная функция Гаусса
где
Рисунок 2.4 – Колоколообразная функция Гаусса
б) функция «мексиканская шляпа»
Рисунок 2.5 – Функция «мексиканская шляпа»
в) косинусоидная функция
Рисунок 2.6 – Косинусоидная функция
г) конусообразная функция
Рисунок 2.7 – Конусообразная функция
д) цилиндрическая функция