--- status: seed type: concept tags: - machine-learning - neural-networks - clustering - self-organizing-maps created: 2026-05-07 updated: 2026-05-14 title: Нейронная сеть Кохонена --- # Нейронная сеть Кохонена **Нейронная сеть Кохонена** - класс нейронных сетей, основанный на самоорганизующихся картах (*Self-Organizing Maps*, SOM). Такие сети применяются для [[Кластерный анализ|кластеризации]] и проецирования многомерных данных на пространство меньшей размерности с сохранением топологической близости объектов. Если два объекта близки в исходном пространстве признаков, после обучения они обычно попадают в близкие области карты. Поэтому сеть Кохонена удобна не только для разбиения данных на группы, но и для визуального анализа структуры выборки. ## Идея Сеть Кохонена объединяет две задачи: 1. Выделение кластеров в многомерных данных. 2. Отображение многомерных объектов на двумерную или одномерную карту. В отличие от многих сетей, обучающихся с учителем, сеть Кохонена обычно работает в режиме самообучения: ей предъявляют входные объекты, а сеть постепенно настраивает веса нейронов так, чтобы разные области карты отвечали за разные группы похожих объектов. Интуитивно идею можно описать так: за каждым классом или группой похожих объектов закрепляется один нейрон либо группа близких нейронов. Нейрон хранит вектор весов, который постепенно становится представителем своего класса объектов. ![[Pasted image 20260507230701.png]] Если один и тот же нейрон слишком часто становится победителем, его иногда временно исключают из рассмотрения или тормозят. Это помогает "уравнять права" нейронов выходного слоя и не дать одному прототипу забрать на себя слишком много объектов. Простейший вариант такого механизма - торможение только что выигравшего нейрона. ## Архитектура Сеть состоит из двух основных слоев: - **входной слой** - принимает вектор признаков объекта; - **выходной слой** - содержит нейроны топологической карты. Каждый нейрон выходного слоя связан со всеми входными признаками и имеет собственный вектор весов. Количество нейронов выходного слоя связано с желаемой детализацией карты и числом обнаруживаемых областей данных. Выходной слой можно рассматривать как упорядоченную структуру радиальных нейронов. В контексте классификации без учителя число нейронов или областей карты связано с ожидаемым числом классов $K$, но это не жёсткое число заранее известных меток: карта может показать более тонкую структуру данных. ![[Pasted image 20260507222244.png|500]] ## Обучение Обучение сети Кохонена сводится к последовательной подстройке весов. На каждом шаге сети предъявляется входной объект, после чего выбирается нейрон-победитель - нейрон, чей вектор весов ближе всего к входному вектору. После выбора победителя корректируются: - веса самого нейрона-победителя; - веса нейронов, лежащих в его окрестности на карте. Размер окрестности $R$ и скорость обучения обычно задаются как функции времени: на первых итерациях они велики, а затем постепенно уменьшаются. В начале обучения может обновляться большая часть карты, поэтому формируется грубая структура кластеров. Ближе к концу обучения $R$ стремится к нулю, и карта уточняет границы между группами объектов. Подробная процедура вынесена в [[Алгоритм обучения сети Кохонена]]. ## Связь с кластеризацией По смыслу сеть Кохонена близка к итерационным методам кластеризации: веса нейронов играют роль прототипов групп, а входные объекты притягивают ближайшие прототипы к себе. Поэтому рядом полезно держать заметки про [[Кластерный анализ]], [[Классификация]] и [[Итерационная классификация. Метод K-средних (K-means)]]. ## Применение Сети Кохонена особенно полезны для разведочного анализа данных: они помогают увидеть сгущения объектов, близость классов и потенциальные аномалии на двумерной карте. Типичные применения: - кластеризация без учителя; - визуализация многомерных данных; - поиск закономерностей в больших массивах данных; - выявление независимых или слабо связанных признаков; - сжатие информации; - моделирование и прогнозирование; - обнаружение новых явлений и нетипичных объектов. Если после обучения кластеры разметить вручную, карту можно использовать и для классификации новых объектов. Если новый объект не похож ни на один из известных кластеров, это может быть сигналом новизны или аномалии. ## Связанные заметки - [[Нейронные сети]] - [[Алгоритм обучения сети Кохонена]] - [[Кластерный анализ]] - [[Классификация]] - [[Итерационная классификация. Метод K-средних (K-means)]]