Files
SecondBrain/01 Library/11 Machine Learning/Алгоритм обучения сети Кохонена.md
T
2026-05-07 22:48:05 +03:00

4.4 KiB

status, type, tags, created, updated, title
status type tags created updated title
seed concept
machine-learning
neural-networks
clustering
self-organizing-maps
2026-05-07 2026-05-07 Алгоритм обучения сети Кохонена

Алгоритм обучения сети Кохонена

Алгоритм обучения сети Кохонена - процедура самообучения, при которой нейроны топологической карты постепенно становятся прототипами групп похожих входных объектов. Алгоритм относится к Нейронная сеть Кохонена и связан с задачами Кластерный анализ.

Общая схема

  1. Инициализировать веса нейронов небольшими случайными значениями.
  2. Подать на вход очередной обучающий объект.
  3. Найти нейрон-победитель, чей вектор весов лучше всего соответствует входному вектору.
  4. Скорректировать веса нейрона-победителя и, в классической SOM, нейронов из его окрестности.
  5. Повторять предъявление объектов до стабилизации карты или достижения заданного числа эпох.

Базовая формула корректировки веса:


w_{ij}(t)=w_{ij}(t-1)+\alpha(x_i-w_{ij}(t-1))

где:

  • w_{ij} - вес связи между входом i и нейроном j;
  • x_i - значение входного признака;
  • \alpha - скорость обучения;
  • t - номер шага обучения.

Выбор нейрона-победителя

Нейрон-победитель можно выбирать через меру близости входного вектора и вектора весов нейрона.

Через скалярное произведение

Если векторы нормализованы, близость можно оценивать скалярным произведением:


S_j=\sum\limits_{i=1}^{m}x_iw_{ij}=||x||\cdot||w^j||\cdot cos(\phi)

Побеждает нейрон с максимальным значением S_j.

Через евклидово расстояние

Чаще победителем считают нейрон с минимальным расстоянием до входного объекта:


D_j=\sqrt{\sum\limits_{i=1}^{m}(x_i-w_{ij})^2}

где j - индекс нейрона, i - индекс входного признака, m - размерность входного вектора.

Такой способ напрямую связан с заметкой Расстояние между объектами.

Нормализация

Перед обучением часто нормализуют входные данные и начальные веса, чтобы признаки с крупным масштабом не доминировали при выборе победителя.

Нормализация входного вектора:


x_j=\frac{x_j}{\sqrt{\sum\limits_{l=1}^{m}x_l^2}}

Нормализация весов:


w_{ij}=\frac{w_{ij}}{\sqrt{\sum\limits_{l=1}^{k}w_{lj}^2}}

Отличие от K-means

Алгоритм похож на Итерационная классификация. Метод K-средних (K-means) тем, что объект влияет на ближайший прототип. Главное отличие SOM - наличие топологической карты: обновляется не только победитель, но и его соседи, поэтому карта сохраняет отношения близости между областями данных.

Связанные заметки

  • Нейронная сеть Кохонена
  • Нейронные сети
  • Кластерный анализ
  • Расстояние между объектами
  • Итерационная классификация. Метод K-средних (K-means)