- •" Исследование метода обучения многослойных нейронных сетей по алгоритму с обратным распространением ошибки "
- •Определение по входным данным применение нормализации:
- •Крутизна
- •Смещение
- •Скорость обучения
- •Обучение с моментом
- •Применение различного количества нейронов в слоях
- •Расчёт обратного хода
- •(2) Для выходного слоя:
- •Ошибка для 1-го слоя:
Расчёт обратного хода
-
(2) Для выходного слоя:
dyi/dsi=(0,5*EXP(-1*s))/(1+EXP(-1*s))^2=0,121558344
di=0,274803789
δi(2)= (0,582966-0,274803789)*( 0,121558344)= 0,037459688
Изменение весов w(2) выходного слоя:
-0,01368 |
|
-0,01358 |
|
-0,01356 |
|
-0,01369 |
|
-0,01873 |
Коррекция весов W(2.0,0), W(2.0,1), W(2.0,2), W(2.0,3):
W(2.0,0) |
-0,92968 |
W(2.0,1) |
-0,73558 |
W(2.0,2) |
0,028441 |
W(2.0,3) |
0,666311 |
Вес смещения |
0,98127 |
-
Ошибка для 1-го слоя:
dyi/dsi |
δi |
0,098474781 |
-0,00676 |
0,099684076 |
-0,00539 |
0,099929151 |
0,000314 |
0,098348322 |
0,00501 |
Изменение весов w(1) 1-го слоя:
|
δ0 |
δ1 |
δ2 |
δ3 |
1й нейрон |
0,0001246 |
0,0000994 |
-0,0000579 |
-0,0000923 |
2й нейрон |
0,0000723 |
0,0000576 |
-0,0000336 |
-0,0000536 |
3й нейрон |
0,0000170 |
0,0000136 |
-0,0000079 |
-0,0000126 |
Смещение |
0,0033800 |
0,0026960 |
-0,0015700 |
-0,0025050 |
Коррекция весов первого слоя:
|
|
Вывод:
Для выполнения лабораторной работы была создана обучающая выборка из 200 примеров. В ходе лабораторной работы для конкретной выборки были определены оптимальные параметры нейронной сети:
-
способ подачи образов на обучение может быть произвольным;
-
диапазон нормализации [0,1];
-
параметр крутизны 1;
-
параметры смещения практически не влияют на получаемые оценки;
-
скорость обучения 0,6;
-
момент обучения 0,2;
-
оптимальная архитектура сети 3-3-5-1.
По итогам ручного расчёта были получены результаты, совпадающие с результатами, полученными программой.
Программа:
Выход нейрона |
Взвешенная сумма |
Значение выхода |
Нейрон 1_0 |
0,99628129 |
0,73032681 |
Нейрон 1_1 |
0,96947688 |
0,72501522 |
Нейрон 1_2 |
0,96400733 |
0,72392342 |
Нейрон 1_3 |
0,9990675 |
0,7308752 |
Нейрон 5_0 |
0,33495958 |
0,54177235 |
Расчет:
Выход нейрона |
Взвешенная сумма |
Значение выхода |
Нейрон 1_0 |
0,996281 |
0,730327 |
Нейрон 1_1 |
0,969477 |
0,725015 |
Нейрон 1_2 |
0,964007 |
0,723923 |
Нейрон 1_3 |
0,999067 |
0,730875 |
Нейрон 5_0 |
0,33496 |
0,541772 |
Коррекция весов синапсов:
Нейроны |
Расчет |
Программа |
w[1, 1, 1] |
-0,2298754 |
-0,22986778 |
w[1, 1, 2] |
0,3700723 |
0,37007669 |
w[1, 1, 3] |
-0,6259830 |
-0,625981943 |
w[1, 1, 4] |
1,0033800 |
1,003586986 |
w[1, 2, 1] |
-0,3159006 |
-0,315894503 |
w[1, 2, 2] |
-0,8639424 |
-0,86393881 |
w[1, 2, 3] |
-0,0799864 |
-0,079985593 |
w[1, 2, 4] |
1,0026960 |
1,002862017 |
w[1, 3, 1] |
-0,9840579 |
-0,984006152 |
w[1, 3, 2] |
-0,1160336 |
-0,116003568 |
w[1, 3, 3] |
0,5479921 |
0,54799916 |
w[1, 3, 4] |
0,9984300 |
0,999833102 |
w[1, 4, 1] |
0,2359077 |
0,235901972 |
w[1, 4, 2] |
-0,5800536 |
-0,580056858 |
w[1, 4, 3] |
0,5499874 |
0,549986613 |
w[1, 4, 4] |
0,9974950 |
0,997340592 |
w[2, 1, 1] |
-0,92968 |
-0,930520996 |
w[2, 1, 2] |
-0,73558 |
-0,736415386 |
w[2, 1, 3] |
0,028441 |
0,027606322 |
w[2, 1, 4] |
0,666311 |
0,665468101 |
w[2, 1, 5] |
0,98127 |
0,980117126 |