Программа 26

Программа 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