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