Основной принцип работы сети Кохонена
На стадии самообучения сети Кохонена осуществляется коррекция весового вектора не только нейрона-" победителя", но и весовых векторов остальных активных нейронов слоя Кохонена, однако естественно в существенно меньшей степени — в зависимости от удаления от нейрона-" победителя". При этом форма и величина окрестности вокруг нейрона-" победителя", весовые коэффициенты нейронов которой также… Читать ещё >
Основной принцип работы сети Кохонена (реферат, курсовая, диплом, контрольная)
Основной принцип работы сети Кохонена состоит в следующем.
На рис. 1 приведен пример топологической карты сети Кохонена, содержащей сходной слой и слой Кохонена. Нейроны входного слоя служат для ввода значений признаков распознаваемых образов. Активные нейроны слоя Кохонена предназначены для формирования областей (кластеров) различных классов образов. На этом рисунке показаны связи всех входных нейронов лишь с одним нейроном слоя Кохонена. Каждый нейрон слоя Кохонена также соединен с соседними нейронами.
Поясним основной принцип работы сети Кохонена.
Введем следующие обозначения:
____.
wj = (wj1, wj2, …, wjn)T, j = 1, m (1).
— вектор весовых коэффициентов j-го нейрона слоя Кохонена,.
x = (x1, x2, …, xn)T (2).
— входной вектор или вектор значений признаков некоторого образца.
На стадии обучения (точнее самообучения) сети входной вектор xc попарно сравнивается со всеми векторами wj всех нейронов слоя Кохонена. Вводится некоторая функция близости (например, в виде эвклидова расстояния). Активный нейрон с номером c слоя Кохонена, для которого значение функции близости d (x, wc) между входным вектором x, характеризующим некоторый образ, и вектором wc максимально, объявляется «победителем». При этом образ, характеризующийся вектором x, относится к классу, который представляется нейроном-" победителем". В результате осуществляется преобразование n-мерного входного пространства Rn на m-мерную сетку (слой Кохонена).
Следует еще раз подчеркнуть, что это отображение реализуется в результате рекуррентной (итеративной) процедуры самообучения (unsupervised learning, nicht ueberwachtes Lernen). Отличительная особенность этот отображения — формирование кластеров (cluster) или классов. По завершении процесса самообучения на стадии реального использования сети Кохонена неизвестные входные образы относятся к одному из выявленных кластеров (классов).
Возникает естественный вопрос: как возникает указанное отображение топологической карты? Для ответа на него рассмотрим алгоритм самообучения сетей Кохонена, полагая, что ее входной слой содержит n входных нейронов, а ее слой Кохонена — m активных нейронов.
Для определения расстояния между входным вектором x (2) и весовым вектором wj (1) j-го нейрона слоя Кохонена можно использовать различные функции близости (обычно эвклидово расстояние).
При этом «выигрывает» тот нейрон c с весовым вектором wc, который наиболее близок к входному вектору x:
|| x — wc || = min || x — wj || (3).
j
или при использовании функции index, определяющей номер минимального расстояния:
c = index min || x — wj|| (4).
j
При использовании скалярного произведения.
n
xTwj = xi wij = netj = zj (5).
i=1
" выигрывает" нейрон с максимальным значением этого произведения.
На стадии самообучения сети Кохонена осуществляется коррекция весового вектора не только нейрона-" победителя", но и весовых векторов остальных активных нейронов слоя Кохонена, однако естественно в существенно меньшей степени — в зависимости от удаления от нейрона-" победителя". При этом форма и величина окрестности вокруг нейрона-" победителя", весовые коэффициенты нейронов которой также корректируются, в процессе обучения изменяются. Сначала начинают с очень большой области — она, в частности, может включать все нейроны слоя Кохонена.
Изменение весовых векторов осуществляется по правилу:
____.
wj(t+1) = wj(t) + (t) dcj (t) [x(t) — wj (t)], j=1,m (6).
где wj(t) — значение весового вектора на t-м шаге самообучения сети, dcj(t) — функция близости между нейронами слоя Кохонена (neighborhood Kernel) и (t) — изменяемый во времени коэффициент коррекции. В качестве (t) обычно выбирается монотонно уменьшающаяся функция (0 < (t) < 1), т. е. алгоритм самообучения начинается сравнительно большими шагами адаптации и заканчивается относительно небольшими изменениями.
Обратим внимание, что в соответствии с (6) изменение того или иного весового вектора wj пропорционально расстоянию между входным вектором x и этим весовым вектором wj.
В качестве примера рассмотрим сеть Кохонена с одномерным слоем Кохонена (рис. 2). На рис. 2 отображено движение весовых векторов нейронов слоя Кохонена. К входному вектору x ближе всех расположен весовой вектор w5 для нейрона c=5. Этот весовой вектор применяется соответственно наиболее сильно: он в большей степени приближается к входному вектору x. На втором месте по степени близости находятся весовые векторы w4 и w6. Изменение их — второе по силе (степени). Весовые векторы w3 и w7 также изменяются — однако в существенно меньшей степени.
Нейроны 1, 2, 8 и 9 расположены вне окрестности вокруг нейрона-" победителя" c=5, поэтому их весовые векторы оставляются без изменения после показа сети образца, характеризующегося вектором x.
Рис. 2. Сеть Кохонена с одномерным слоем Кохонена.
Приведем примеры функций близости (применительно к двумерному слою Кохонена). При этом расстояние между нейронами i и j в двумерном пространстве равно:
____________________.
z = (ki1-kj1)2 + (ki2-kj2)2), (7).
где ki1 и ki2 — координаты по оси x и оси y нейрона i, kj1 и kj2 — аналогично для нейрона j. При этом можно использовать следующие функции близости:
-z2
dGauss (z) = e (8).
-z2
dmexican-hat (z) = (1-z2) e (9).
cos (z*/2), для z<1.
dcos (z) = (10).
Как отмечено выше, изменение весовых векторов wj осуществляется в направлении входного вектора x, и эти изменения осуществляются многократно. В процессе самообучения варьируется как коэффициент коррекции, так и радиус d, задающий окрестность вокруг нейрона-" победителя" .