- •" Исследование метода обучения многослойных нейронных сетей по алгоритму с обратным распространением ошибки "
- •Определение по входным данным применение нормализации:
- •Крутизна
- •Смещение
- •Скорость обучения
- •Обучение с моментом
- •Применение различного количества нейронов в слоях
- •Расчёт обратного хода
- •(2) Для выходного слоя:
- •Ошибка для 1-го слоя:
Применение различного количества нейронов в слоях
Структура сети: 3 - 2 - 5 - 5 - 1 Число входов: 3 Число выходов: 1
Слой------Сигмоида----------Крутизна---Смещение---Момент----Вес
--1-------сигмоид--------------1,0-------1,0-------0--------1,0 --2-------сигмоид--------------1,0-------1,0-------0--------1,0 --3-------сигмоид--------------1,0-------1,0-------0--------1,0 --выход---сигмоид--------------0,5-------1,0-------0--------1,0
Скорость обучения: 0,6 Нормализация: [0;1]
Циклов обучения: 10000 Максимальная ошибка: 129.15070100 Минимальная ошибка: 0.15862600 Средняя ошибка: 27.27066292 Среднеквадратичная ошибка: 110139.99691974
Ошибки по тестовой выборке: {20,401389}, {35,91143}, {6,351784}, {63,06109}, {55,631193}
Примеры для тестирования: {0,03567; 0,023221; 0,039783; 0,411367; 0,30093999; } {0,04747; 0,01364; 0,029229; 0,495318; 0,30093948; } {0,042111; 0,00341; 0,006928; 0,335318; 0,30093757; } {0,048714; 0,020081; 0,053045; 0,642273; 0,30094098; } {0,045196; 0,026739; 0,044168; 0,602057; 0,30094093; }
|
Структура сети: 3 - 5 - 5 - 5 - 1 Число входов: 3 Число выходов: 1
Слой------Сигмоида----------Крутизна---Смещение---Момент----Вес
--1-------сигмоид--------------1,0-------1,0-------0--------1,0 --2-------сигмоид--------------1,0-------1,0-------0--------1,0 --3-------сигмоид--------------1,0-------1,0-------0--------1,0 --выход---сигмоид--------------0,5-------1,0-------0--------1,0
Скорость обучения: 0,6 Нормализация: [0;1]
Циклов обучения: 10000 Максимальная ошибка: 33.20587400 Минимальная ошибка: 0.20159100 Средняя ошибка: 7.28355265 Среднеквадратичная ошибка: 9360.25809669
Ошибки по тестовой выборке: {1,604635}, {13,253988}, {20,597083}, {1,686015}, {5,391246}
Примеры для тестирования: {0,03567; 0,023221; 0,039783; 0,411367; 0,40268156; } {0,04747; 0,01364; 0,029229; 0,495318; 0,42357787; } {0,042111; 0,00341; 0,006928; 0,335318; 0,22383176; } {0,048714; 0,020081; 0,053045; 0,642273; 0,65139893; } {0,045196; 0,026739; 0,044168; 0,602057; 0,5728757; }
|
Структура сети: 3 - 5 - 5 - 7 - 1 Число входов: 3 Число выходов: 1
Слой------Сигмоида----------Крутизна---Смещение---Момент----Вес
--1-------сигмоид--------------1,0-------1,0-------0--------1,0 --2-------сигмоид--------------1,0-------1,0-------0--------1,0 --3-------сигмоид--------------1,0-------1,0-------0--------1,0 --выход---сигмоид--------------0,5-------1,0-------0--------1,0
Скорость обучения: 0,6 Нормализация: [0;1]
Циклов обучения: 10000 Максимальная ошибка: 32.47156600 Минимальная ошибка: 0.01259600 Средняя ошибка: 7.94663834 Среднеквадратичная ошибка: 8551.32349988
Ошибки по тестовой выборке: {0,096558}, {11,564136}, {19,388286}, {2,248523}, {3,832364}
Примеры для тестирования: {0,03567; 0,023221; 0,039783; 0,411367; 0,41084436; } {0,04747; 0,01364; 0,029229; 0,495318; 0,43272457; } {0,042111; 0,00341; 0,006928; 0,335318; 0,23037464; } {0,048714; 0,020081; 0,053045; 0,642273; 0,65444362; } {0,045196; 0,026739; 0,044168; 0,602057; 0,58131349; }
|
Структура сети: 3 - 3 - 5 - 1 Число входов: 3 Число выходов: 1
Слой------Сигмоида----------Крутизна---Смещение---Момент----Вес
--1-------сигмоид--------------1,0-------1,0-------0--------1,0 --2-------сигмоид--------------0,5-------1,0-------0--------1,0 --выход---сигмоид--------------0,5-------1,0-------0--------1,0
Скорость обучения: 0,6 Нормализация: [0;1]
Циклов обучения: 10000 Максимальная ошибка: 33.81920800 Минимальная ошибка: 0.03728800 Средняя ошибка: 7.02385776 Среднеквадратичная ошибка: 8825.27115831
Ошибки по тестовой выборке: {3,529088}, {9,008642}, {20,153408}, {1,89624}, {0,59059}
Примеры для тестирования: {0,03567; 0,023221; 0,039783; 0,411367; 0,43046896; } {0,04747; 0,01364; 0,029229; 0,495318; 0,44655674; } {0,042111; 0,00341; 0,006928; 0,335318; 0,22623325; } {0,048714; 0,020081; 0,053045; 0,642273; 0,65253682; } {0,045196; 0,026739; 0,044168; 0,602057; 0,59886031; }
|
Структура сети: 3 - 5 - 5 - 1 Число входов: 3 Число выходов: 1
Слой------Сигмоида----------Крутизна---Смещение---Момент----Вес
--1-------сигмоид--------------1,0-------1,0-------0--------1,0 --2-------сигмоид--------------0,5-------1,0-------0--------1,0 --выход---сигмоид--------------0,5-------1,0-------0--------1,0
Скорость обучения: 0,6 Нормализация: [0;1]
Циклов обучения: 10000 Максимальная ошибка: 34.54258500 Минимальная ошибка: 0.07643000 Средняя ошибка: 7.18452901 Среднеквадратичная ошибка: 9229.37871015
Ошибки по тестовой выборке: {2,923386}, {7,633504}, {21,684227}, {1,425547}, {0,971201}
Примеры для тестирования: {0,03567; 0,023221; 0,039783; 0,411367; 0,42719047; } {0,04747; 0,01364; 0,029229; 0,495318; 0,45399998; } {0,042111; 0,00341; 0,006928; 0,335318; 0,21794736; } {0,048714; 0,020081; 0,053045; 0,642273; 0,64998909; } {0,045196; 0,026739; 0,044168; 0,602057; 0,59680016; }
|
Структура сети: 3 - 5 - 7 - 1 Число входов: 3 Число выходов: 1
Слой------Сигмоида----------Крутизна---Смещение---Момент----Вес
--1-------сигмоид--------------1,0-------1,0-------0--------1,0 --2-------сигмоид--------------0,5-------1,0-------0--------1,0 --выход---сигмоид--------------0,5-------1,0-------0--------1,0
Скорость обучения: 0,6 Нормализация: [0;1]
Циклов обучения: 10000 Максимальная ошибка: 34.81653400 Минимальная ошибка: 0.05353400 Средняя ошибка: 7.20611530 Среднеквадратичная ошибка: 9276.73849364
Ошибки по тестовой выборке: {3,334475}, {7,78493}, {21,767775}, {1,502423}, {0,678976}
Примеры для тестирования: {0,03567; 0,023221; 0,039783; 0,411367; 0,42941558; } {0,04747; 0,01364; 0,029229; 0,495318; 0,45318035; } {0,042111; 0,00341; 0,006928; 0,335318; 0,21749513; } {0,048714; 0,020081; 0,053045; 0,642273; 0,6504052; } {0,045196; 0,026739; 0,044168; 0,602057; 0,59838189; }
|
Вывод: В случае различного количества слоев и нейронов в каждом из слоев, для данной обучающей выборки, результаты лучше для сети со структурой 3-3-5-1. В дальнейшем идет ухудшение результата.
Трассировка:
Условия останова обучения нейронной сети:
Циклов обучения: 10000
Инициализация весов синапсов случайным образом...
Нейрон[1][1]
w[1, 1, 1] = -0,23
w[1, 1, 2] = 0,37
w[1, 1, 3] = -0,626
Вес смещения:
w[1, 1, 4] = 1
Нейрон[1][2]
w[1, 2, 1] = -0,316
w[1, 2, 2] = -0,864
w[1, 2, 3] = -0,08
Вес смещения:
w[1, 2, 4] = 1
Нейрон[1][3]
w[1, 3, 1] = -0,984
w[1, 3, 2] = -0,116
w[1, 3, 3] = 0,548
Вес смещения:
w[1, 3, 4] = 1
Нейрон[1][4]
w[1, 4, 1] = 0,236
w[1, 4, 2] = -0,58
w[1, 4, 3] = 0,55
Вес смещения:
w[1, 4, 4] = 1
Нейрон[2][1]
w[2, 1, 1] = -0,916
w[2, 1, 2] = -0,722
w[2, 1, 3] = 0,042
w[2, 1, 4] = 0,68
Вес смещения:
w[2, 1, 5] = 1
Выбираем допустимый образ из обучающего множества...
0,036861
0,02138
0,005034
0,274804
Подаем сигнал на вход нейронной сети...
Нейрон[0][1]
Аксон = 0,036861
Нейрон[0][2]
Аксон = 0,02138
Нейрон[0][3]
Аксон = 0,005034
Прямая волна...
Нейрон[1][1]
Взвешенная сумма = 0,996281286
Аксон = 0,7303268072
Нейрон[1][2]
Взвешенная сумма = 0,969476884
Аксон = 0,7250152174
Нейрон[1][3]
Взвешенная сумма = 0,964007328
Аксон = 0,7239234211
Нейрон[1][4]
Взвешенная сумма = 0,999067496
Аксон = 0,7308751977
Нейрон[2][1]
Взвешенная сумма = 0,3349595758
Аксон = 0,5417723515
Обратная волна - подсчет локальной ошибки нейронов...
Подсчет локальной ошибки нейронов на выходе нейронной сети...
Желаемый сигнал на выходе:
0,274804
Прогнозируемый сигнал на выходе нейронной сети:
0,5417723515
Нейрон[2][1]
Локальная ошибка = 0,03313812349
Подсчет локальной ошибки нейронов в скрытых слоях нейронной сети...
Нейрон[1][1]
Локальная ошибка = -0,005978309635
Нейрон[1][2]
Локальная ошибка = -0,004770027608
Нейрон[1][3]
Локальная ошибка = 0,0002781630211
Нейрон[1][4]
Локальная ошибка = 0,0044323472
Коррекция весов синапсов...
w[1, 1, 1] = -0,2298677801
w[1, 1, 2] = 0,3700766898
w[1, 1, 3] = -0,6259819431
Вес смещения:
w[1, 1, 4] = 1,003586986
w[1, 2, 1] = -0,3158945032
w[1, 2, 2] = -0,8639388101
w[1, 2, 3] = -0,07998559261
Вес смещения:
w[1, 2, 4] = 1,002862017
w[1, 3, 1] = -0,984006152
w[1, 3, 2] = -0,1160035683
w[1, 3, 3] = 0,5479991598
Вес смещения:
w[1, 3, 4] = 0,9998331022
w[1, 4, 1] = 0,2359019715
w[1, 4, 2] = -0,5800568581
w[1, 4, 3] = 0,5499866125
Вес смещения:
w[1, 4, 4] = 0,9973405917
w[2, 1, 1] = -0,930520996
w[2, 1, 2] = -0,7364153863
w[2, 1, 3] = 0,02760632177
w[2, 1, 4] = 0,6654681005
Вес смещения:
w[2, 1, 5] = 0,9801171259
Ручной расчет:
Таблица 1 – Входной вектор первого примера обучающей выборки
Номер входа |
Выход нейрона |
Значение выхода |
1 |
Нейрон 0_0 |
0,036861 |
2 |
Нейрон 0_1 |
0,02138 |
3 |
Нейрон 0_2 |
0,005034 |
Таблица 2 – Значение выходов первого слоя
Выход нейрона |
Взвешенная сумма |
Значение выхода |
Нейрон 1_0 |
0,996281 |
0,730327 |
Нейрон 1_1 |
0,969477 |
0,725015 |
Нейрон 1_2 |
0,964007 |
0,723923 |
Нейрон 1_3 |
0,999067 |
0,730875 |
Таблица 3 – Значение выхода в выходном слое
Выход нейрона |
Взвешенная сумма |
Значение выхода |
Нейрон 5_0 |
0,33496 |
0,582966 |