Участник:Anton goy/Самоорганизующиеся карты Кохонена
Автор: Гой Антон, 617 группа.
1 Свойства и структура алгоритмов
1.1 Общее описание алгоритма
Самоорганизующаяся карта Кохонена (англ. Self-Organizing Map или сокращено SOM) - это разновидность нейронных сетей, относящаяся к алгоритмам обучения без учителя. Основная цель - найти скрытые закономерности в данных. Важным свойством карт Кохонена является то, что они строят отображение исходного пространства в пространство низкой размерности (обычно двумерное), сохраняя топологическую струтуру, которая накладывается на нейроны. Результат данного отображения называется "картой" исходного пространства. Построение карты представляет собой процесс соревнования между нейронами, в результате которой алгоритм строит двумерную карту с такой же топологией как и в исходном пространстве.
Алгоритм был разработан известным финским учёным заслуженным академиком Финской Академии Наук Теуво Кохоненом в 1984 году.
Карты Кохонена отличаются от обычных нейронных сетей прямого распространения. Cамым значительным отличием является то, что карты Кохонена используют соревнование между нейронами в процессе обучения (competitive learning), в то время как сети прямого распространения используют градиентные методы для минимизации ошибки сети (error-correction learning).
Карты Кохенана находят успешное применение в задачах кластеризации и визуализации, а также для снижения размерности и детектирования аномалий в данных.
С точки зрения архитектуры сети, карты Кохонена представляют два полносвязных слоя из нейронов: первый слой (будем называть его [math]l_1[/math]) состоит из входных нейронов (их количество равно размерности исходного пространства), второй слой ([math]l_2[/math]) представляет собой регулярную (прямоугольную или шестиугольную) решётку из нейронов. Размеры сетки выбираются вручную до начала запуска алгоритма. Таким образом каждый нейрон слоя [math]l_2[/math] описывается двумя векторами: первый вектор --- вектор весов [math]\mathbf{m}[/math], размерность которого совпадает с размерностью исходного пространства, а второй вектор [math]\mathbf{r}[/math] определяет положение нейрона в регулярной сетке слоя [math]l_2[/math].