Искусственные нейронные сети. Сивохин А.В - 116 стр.

UptoLike

116
PCвектор размером 1хS2, указывающий распределение по до-
лям каждого класса из набора классов
S2;
LRпараметр скорости настройки, по умолчанию 0.01;
LFфункция настройки параметров, по умолчанию learnlv2.
В результате выполнения функции
newlog создаётся двухслойная
сеть. Первый слой использует функции взвешивания
negdist, накоп-
ления
netsum и передаточную функцию compet. Второй слой ис-
пользует функции взвешивания
dotprod, накопления netsum и пере-
даточную функцию
purelin. Слои не имеют смещений. Веса первого
слоя инициализируются с помощью функции
midpoint; веса второго
слоя устанавливаются так, чтобы каждому нейрону на выходе соот-
ветствовал единственный нейрон первого слоя. Адаптация и обуче-
ние выполняются с помощью функций
adaptwb, которая модифици-
рует веса первого слоя, используя функцию настройки
learnlv1.
LVQсеть обучается на основе множества парвыход обучаю-
щей последовательности:
{p
1
, t
1
}, {p
2
, t
2
}, …, {p
Q
, t
Q
}.
Каждый целевой вектор имеет единственный элемент, равный
единице, а остальные элементы равны нулю.
Предположим, что при задании вектора входа
p(q) весовые коэф-
фициенты нейрона
i* входного слоя наиболее близки к вектору вхо-
да
p(q) и нейрон i* выигрывает конкуренцию. Тогда конкурирующая
функция
compet выдаст единицу в качестве i*-го элемента вектора
выхода
a
1
первого слоя сети, причём все другие элементы a
1
будут
равны нулю. Во втором, линейном слое, произведение матрицы ве-
сов
LW×a
1
выявляет некоторый столбец LW, в котором единичное
значение указывает на класс
k*. Таким образом, сеть связывает век-
тор входа
p(q) с классом k*. Это назначение может оказаться либо
правильным, либо ошибочным. Поэтому в процессе обучения необ-
ходимо откорректировать строку
i* матрицы IW таким образом, что-
бы приблизить её к вектору
p(q), если назначение правильное, и уда-
лить от вектора
p(q) если назначение неправильное:
i*IW(q) = i*IW(q-1)+LR(p(q)-i*IW(q-1)), a
2
k*
= t
k*
= 1;
i*IW(q) = i*IW(q-1)-LR(p(q)-i*IW(q-1)), (a
2
k*
= 1) (t
k*
= 0).
   PC – вектор размером 1хS2, указывающий распределение по до-
лям каждого класса из набора классов S2;
   LR – параметр скорости настройки, по умолчанию 0.01;
   LF – функция настройки параметров, по умолчанию learnlv2.
   В результате выполнения функции newlog создаётся двухслойная
сеть. Первый слой использует функции взвешивания negdist, накоп-
ления netsum и передаточную функцию compet. Второй слой ис-
пользует функции взвешивания dotprod, накопления netsum и пере-
даточную функцию purelin. Слои не имеют смещений. Веса первого
слоя инициализируются с помощью функции midpoint; веса второго
слоя устанавливаются так, чтобы каждому нейрону на выходе соот-
ветствовал единственный нейрон первого слоя. Адаптация и обуче-
ние выполняются с помощью функций adaptwb, которая модифици-
рует веса первого слоя, используя функцию настройки learnlv1.
   LVQ – сеть обучается на основе множества пар – выход обучаю-
щей последовательности:
                      {p1, t1}, {p2, t2}, …, {pQ, tQ}.
   Каждый целевой вектор имеет единственный элемент, равный
единице, а остальные элементы равны нулю.
   Предположим, что при задании вектора входа p(q) весовые коэф-
фициенты нейрона i* входного слоя наиболее близки к вектору вхо-
да p(q) и нейрон i* выигрывает конкуренцию. Тогда конкурирующая
функция compet выдаст единицу в качестве i*-го элемента вектора
выхода a1 первого слоя сети, причём все другие элементы a1 будут
равны нулю. Во втором, линейном слое, произведение матрицы ве-
сов LW×a1 выявляет некоторый столбец LW, в котором единичное
значение указывает на класс k*. Таким образом, сеть связывает век-
тор входа p(q) с классом k*. Это назначение может оказаться либо
правильным, либо ошибочным. Поэтому в процессе обучения необ-
ходимо откорректировать строку i* матрицы IW таким образом, что-
бы приблизить её к вектору p(q), если назначение правильное, и уда-
лить от вектора p(q) если назначение неправильное:
   i*IW(q) = i*IW(q-1)+LR(p(q)-i*IW(q-1)), a2k* = tk* = 1;
   i*IW(q) = i*IW(q-1)-LR(p(q)-i*IW(q-1)), (a2k* = 1) ≠ (tk*= 0).



                               116