Нейронные сети и нейроконтроллеры. Бураков М.В. - 80 стр.

UptoLike

Составители: 

80
Рис. 3.10. Исходная функция двух переменных
-2
-1
0
1
2
-2
-1
0
1
2
-1
-0.5
0
0.5
1
Заметим, что в этом примере использовался алгоритм обучения
trainlm (Levenberg–Marquardt).
Проверим полученный результат:
>> A = sim(net1,P);
>> plot(x,y,P,A)
Графики функций полностью совпадают (рис. 3.9).
Пример 3.7. Рассмотрим аппроксимацию функции двух пере-
менных:
z=sin(x)cos(y).
C помощью стандартных функций MatLab получаем поверх-
ность, приведенную на рис. 3.10:
>> x = –2:0.25:2; y = –2:0.25:2;
>> z = cos(x)'*sin(y);
>> mesh(x,y,z)
Опишем обучающее множество для нейронной сети:
>> P = [x;y]; T = z;
При таком способе формирования обучающей выборки каждой
паре {x; y} соответствует столбец целевого множества. Поэтому ней-
ронная сеть должна иметь два входа и 17 нейронов на выходе:
>> net=newff([–2 2; –2 2], [25 17], {'tansig' 'purelin'},'trainlm');
>> net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.epochs = 300;