Нейросетевые технологии. Каширина И.Л. - 15 стр.

UptoLike

Составители: 

15
Шаг 0. Проинициализировать весовые коэффициенты w
i
, ni ,0= , не-
большими случайными значениями (например, из диапазона [–0.3, 0.3]).
Шаг 1. Подать на вход персептрона один из обучающих векторов
k
X
и вычислить ее выход y .
Шаг 2. Если выход правильный (
k
yy
=
), перейти на шаг 4. Иначе вы-
числить ошибкуразницу между верным и полученным значениями вы-
хода: yy
k
=
δ
.
Шаг 3. Весовые коэффициенты модифицируются по следующей фор-
муле:
k
i
t
i
t
i
xww +=
+
δν
1
. Здесь t и t + 1 – номера соответственно текущей
и следующей итераций;
νкоэффициент скорости обучения, )10(
<
ν
;
k
i
x i-я компонента входного вектора
k
X .
Шаг 4. Шаги 1–3 повторяются для всех обучающих векторов. Один
цикл последовательного предъявления всей выборки называется эпохой.
Обучение завершается по истечении нескольких эпох, когда сеть переста-
нет ошибаться.
Замечание 1.
Коэффициент скорости обучения ν является парамет-
ром данного алгоритма. Как правило, его выбирают из диапазона [0.5, 0.7].
В некоторых случаях (при большом объеме обучающей выборки ) целесо-
образно постепенно уменьшать значение
ν, начиная, например, с 1.
Замечание 2.
Используемая на шаге 3 формула модифицирует только
весовые коэффициенты, отвечающие ненулевым значениям входов
k
i
x , по-
скольку только они влияли на величину
=
=
n
i
ii
wxs
0
, а, следовательно, и на
значение
у.
Очевидно, что если
yy
k
>
(получен неправильный нулевой выход
вместо правильного единичного), то, поскольку 0
>
δ
, весовые коэффици-
енты (а вместе с ними и величина
s) будут увеличены и тем самым умень-
шат ошибку. В противном случае весовые коэффициенты будут уменьше-
ны, и
s тоже уменьшится, приближая тем самым y к значению
k
y .
Обобщим теперь этот алгоритм обучения на случай однослойной сети,
включающей
n персептронных нейронов (рис. 4). Такая сеть (при доста-
точно большом числе нейронов) может осуществлять разбиение образов на
произвольное требуемое число классов.
Пусть имеется
обучающая выборка, состоящая из пар векторов
PkYX
kk
,1),,( = . Назовем нейронную сеть обученной на данной обу-
чающей выборке, если при подаче на входы сети каждого вектора
k
X на
выходах всякий раз получается соответствующий вектор
k
Y
. Обучение за-
Шаг 0.       Проинициализировать весовые коэффициенты wi , i = 0, n , не-
большими случайными значениями (например, из диапазона [–0.3, 0.3]).
Шаг 1.       Подать на вход персептрона один из обучающих векторов X k
и вычислить ее выход y .
Шаг 2.       Если выход правильный ( y = y k ), перейти на шаг 4. Иначе вы-
числить ошибку – разницу между верным и полученным значениями вы-
хода: δ = y k − y .
Шаг 3.       Весовые коэффициенты модифицируются по следующей фор-
        t +1
муле: wi = wit + ν ⋅ δ ⋅ xik . Здесь t и t + 1 – номера соответственно текущей
и следующей итераций; ν – коэффициент скорости обучения, (0 < ν ≤ 1) ;
xik – i-я компонента входного вектора X k .
Шаг 4.       Шаги 1–3 повторяются для всех обучающих векторов. Один
цикл последовательного предъявления всей выборки называется эпохой.
Обучение завершается по истечении нескольких эпох, когда сеть переста-
нет ошибаться.

    Замечание 1. Коэффициент скорости обучения ν является парамет-
ром данного алгоритма. Как правило, его выбирают из диапазона [0.5, 0.7].
В некоторых случаях (при большом объеме обучающей выборки ) целесо-
образно постепенно уменьшать значение ν, начиная, например, с 1.
    Замечание 2. Используемая на шаге 3 формула модифицирует только
весовые коэффициенты, отвечающие ненулевым значениям входов xik , по-
                                              n
скольку только они влияли на величину s = ∑ xi ⋅ wi , а, следовательно, и на
                                             i =0
значение у.
     Очевидно, что если y k > y (получен неправильный нулевой выход
вместо правильного единичного), то, поскольку δ > 0 , весовые коэффици-
енты (а вместе с ними и величина s) будут увеличены и тем самым умень-
шат ошибку. В противном случае весовые коэффициенты будут уменьше-
ны, и s тоже уменьшится, приближая тем самым y к значению y k .
     Обобщим теперь этот алгоритм обучения на случай однослойной сети,
включающей n персептронных нейронов (рис. 4). Такая сеть (при доста-
точно большом числе нейронов) может осуществлять разбиение образов на
произвольное требуемое число классов.
     Пусть имеется обучающая выборка, состоящая из пар векторов
( X , Y k ), k = 1, P . Назовем нейронную сеть обученной на данной обу-
   k


чающей выборке, если при подаче на входы сети каждого вектора X k на
выходах всякий раз получается соответствующий вектор Y k . Обучение за-
                                     15