Files
SecondBrain/99 System/Archive/Алгоритм обучения сети Кохонена.md
T
2026-05-31 10:18:48 +03:00

2.5 KiB
Raw Blame History

status, type, tags, created, updated, aliases
status type tags created updated aliases
seed concept
2025-12-17 2026-05-07
Алгоритм обучения сети Кохонена

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

  • При инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.
  • На входы подается входной образ.
  • Из всего выходного слоя выбирается нейрон-победитель, значения синапсов которого максимально подходят на входной образ.
  • Для него осуществляется подстройка весов синапсов с применением формулы: w_{ij}(t)=w_{ij}(t-1)+\alpha(x_{i}-w_{ij}(t-1))
  • Цикл повторяется с шага 2, где попеременно предъявляются все образы из входного набора пока выходные значения сети не будут стабилизированы с заданной точностью.

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

  • Расчет скалярного произведения вектор весовых коэффициентов с вектором входных значений (уровень входного возбуждения). Максимальное произведение дает выигравший нейрон.
S_{j}=\sum\limits_{i=1}^{m}x_{i}w_{ij}=||x|| * ||w^{j}||*cos(\phi)
  • Расчет расстояния между этими векторами в $m$-мерном пространстве, где $m$-размер векторов. В данном случае, "побеждает" нейрон с наименьшим расстоянием. D_{j}=\sqrt{\sum\limits_{i=1}^{m}(x_{i}-w_{ij})^{2}}, где j - индекс нейрона, i - индекс входа, w_{ij} - вес синапса.

Нормализация входных значений

При использовании обучения по алгоритму Кохонена на стадии инициализации существует практика нормализации:

  • входных образов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}}}