5.8 KiB
status, type, tags, created, updated, aliases
| status | type | tags | created | updated | aliases | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| seed | concept |
|
2026-05-07 | 2026-05-14 |
|
Алгоритм обучения сети Кохонена
Алгоритм обучения сети Кохонена - процедура самообучения, при которой нейроны топологической карты постепенно становятся прототипами групп похожих входных объектов. Алгоритм относится к Нейронная сеть Кохонена и связан с задачами Кластерный анализ.
Общая схема
- Инициализировать веса нейронов небольшими случайными значениями.
- Подать на вход очередной обучающий объект.
- Найти нейрон-победитель, чей вектор весов лучше всего соответствует входному вектору.
- Скорректировать веса нейрона-победителя и, в классической SOM, нейронов из его окрестности.
- Повторять предъявление объектов до стабилизации карты или достижения заданного числа эпох.
Базовая формула корректировки веса:
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 - наличие топологической карты: обновляется не только победитель, но и его соседи, поэтому карта сохраняет отношения близости между областями данных.
Метод выпуклой комбинации
Случайная инициализация весов может ухудшить качество карты. Плотные классы могут слиться, а близкие образы одного класса - раздробиться на дополнительные подклассы.
Один из способов смягчить эту проблему - метод выпуклой комбинации. Идея в том, что нормализованные входные образы сначала искусственно сближаются между собой, а затем постепенно возвращаются к исходному виду.
Для этого используют коэффициент \alpha(t), который в процессе обучения изменяется от 0 до 1. В начале обучения сеть видит почти одинаковые образы и формирует грубую структуру карты. Затем входы всё сильнее приближаются к исходным данным, и карта уточняет разделение классов.
Этот приём снижает риск того, что начальные случайные веса слишком рано закрепят неудачное разбиение данных.
Связанные заметки
- Нейронная сеть Кохонена
- Нейронные сети
- Кластерный анализ
- Расстояние между объектами
- Итерационная классификация. Метод K-средних (K-means)