Искусственные нейронные сети. Каширина И.Л. - 14 стр.

UptoLike

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

14
Шаг 3. Весовые коэффициенты модифицируются по следующей формуле:
k
i
t
i
t
i
xww +=
+
δν
1
. Здесь t и t+1 номера соответственно текущей и следующей
итераций ; ν коэффициент скорости обучения,
)
1
0
(
<
ν
;
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
. Обучение заключается в итераци-
онной подстройке матрицы весов
W
(w
ij
вес синапсической связи между i-м
входом и j-м нейроном ), последовательно уменьшающей ошибку в выходных
векторах. Алгоритм включает следующие шаги .
Шаг 0. Проинициализировать элементы весовой матрицы
W
небольшими
случайными значениями.
Шаг 1. Подать на входы один из входных векторов
k
X
и вычислить ее выход
.
Шаг 2. Если выход правильный (
)
k
YY =
, перейти на шаг 4. Иначе вычислить
вектор ошибки - разницу между идеальным и полученным значениями выхода :
k
=
δ
.
Шаг 3. Матрица весов модифицируется по следующей формуле:
                                              14
Шаг 3. Весовые коэффициенты модифицируются по следующей формуле:
wit +1 =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 . Обучение заключается в итераци-
онной подстройке матрицы весов W (wij –вес синапсической связи между i-м
входом и j-м нейроном), последовательно уменьшающей ошибку в выходных
векторах. Алгоритм включает следующие шаги.
Шаг 0. Проинициализировать элементы весовой матрицы W небольшими
случайными значениями.
Шаг 1. Подать на входы один из входных векторов X k и вычислить ее выход
Y.
Шаг 2. Если выход правильный ( Y =Y k ) , перейти на шаг 4. Иначе вычислить
вектор ошибки - разницу между идеальным и полученным значениями выхода:
δ =Y k −Y .
Шаг 3. Матрица весов модифицируется по следующей формуле: