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