Накопленная ошибка

Aлгоритм обучения однослойных НС с нелинейной функцией активации

Нелинейность функции активации НС усложняет работу рассмотренного выше традиционного алгоритма и влияет на правила изменения весов нейросети, в формуле которых участвует производная от общей ошибки.

Рассмотрим в качестве функции активации функцию 1/(1+ exp(- WTXK)).

Ошибка для одного образца: ЕK = 1/2(YK - OK)2 = 1/2(YK - 1/(1 + exp(- WTXK)))2,

где Y - желаемый выход, О - текущий выход.

Разновидность функции активации в формуле изменения весов уточняет значение градиента от общей функции ошибки Wn+1 = Wn - z( EK (W)/ W).

Рассмотрим пример. Для униполярной сигмоидальной функции правила весов уточняются следующим образом. Если вычислить градиент от EK (W), то получим преобразованную формулу: W = W + z (YK - OK) OK (1 - OK) ХK,

где d = - (YK - OK) OK (1 - OK), т. е. W =W + zdX. Если функция активации нейронов - это биполярная сигмоида, то формула изменения весов будет следующей:

W = W + 1/2 z (1 - OK )(YK - OK)2 ХK.

Алгоритм "победитель получает все"

Самоорганизующиеся карты решают задачу классификации. У нее есть сколько-то центров и после обучения к каждому этому центру она будет относить объекты по принципу ближайшего соседства. Обучается алгоритмом без учителя.

Простейшая сеть Кохонена – нелинейная однослойная сеть. Каждый выходной нейрон назначается на определенный кластер. При каждом срабатывании только 1 нейрон активен. Определение активного нейрона осуществляется с помощью сравнения вектора входов с векторами весов всех выходных нейронов. Сеть Кохонена называют соревновательным слоем, если она входить в состав другой нейронной сети.

Среди алгоритмов обучения нейросети выделяют два вида: без учителя и с учителем. Обучение без учителя заключается в том, что образцы данных делятся на классы по степени похожести. Такое обучение называют кластеризацией. Рассмотрим однослойную нейронную сеть, представленную на рис. 4.10. Пусть необходимо выделить m кластеров. Решая задачу кластеризации, используют нормализованные вектора, т.е. Wi = Wi / || W ||. Затем расстояния между векторами || X - Wi || сравниваются и ищется минимальное. Найденный минимальный выход объявляется победителем. Обозначим его Wr. В дальнейшем модифицируются только веса нейрона-победителя: Wr = Wr + || X-Wr ||,

Wr = Wr / || Wr ||,

а веса остальных нейронов остаются постоянными: Wi = Wi, oi = 0, i0.

Таким образом, входные данные сортируются по классам с помощью меры похожести, в качестве которой выступает расстояние между векторами: Wr = Wr + || X-Wr ||.

Финалом работы алгоритма " победитель забирает все " является набор векторов, каждый из которых указывает на центр гравитации кластера (рис. 4.12).

W 2 W 1 W 1 W 2 W 3 Рис. 4.12. Решение задачи кластеризации

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: