Программа 26.2

 

100 'ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ (Определение весов)
110 '
120                      'ИНИЦИАЛИЗАЦИЯ
130 MU = .000005         'размер шага итерации
140 DIM X1[101]          'хранит сигнал + смещение входного слоя
150 DIM X2[10]           'хранит сигнал скрытого слоя
160 DIM WH[10,101]       'хранит веса скрытого слова
170 DIM WO[10]           'хранит веса выходного слоя
180 '
190 FOR H% = 1 TO 10      'Инициализация весов случайными значениями
200 WO[H%] = (RND–0/5)    'веса выходного слоя: от –0.5 до 0.5
210 FOR I% = 1 TO 101     'веса скрытого слоя: от –0.0005 до 0.0005
220 WH[H%,I%] = (RND-0.5)/1000
230 NEXT I%
240 NEXT H%
250 '
260 '                      'основной ЦИКЛ
270 FOR ITER% = 1 TO 800   'цикл по 800 итерациям
280 '
290 ESUM = 0               'очистить аккумулятор ошибки ESUM
300 '
310 FOR LETTER% = 1 TO 260 'цикл по каждой букве в обучающем множестве
320 GOSUB 1000             'загрузить X1[ ] с обучающим множеством
330 GOSUB 2000             'найти ошибку для этой буквы
340 ESUM = ESUM + ELET^2   'накопить ошибку для этой итерации
350 GOSUB 3000             'найти новые веса
360 NEXT LETTER%
370 '
380 PRINT ITER% ESUM       'отображать процесс на экране
390 '
400 NEXT ITER%
410 '
420 GOSUB XXXX             'некоторая подпрограмма хранения весов
430 END