ВУЗ:
Составители:
202
Если используется сопряжённый градиент функционала, то на первой итерации
направление движения
0
p выбирают против градиента
0
g этой итерации:
00
gp
−
=
. (10.5)
Для следующих итераций направление
k
p выбирают как линейную
комбинацию векторов
k
g и
1−k
p :
1−
β
+
−
=
kkkk
pgp
, (10.6)
а вектор параметров рассчитывают по формуле:
kkkk
pXX
α
+
=
+1
, (10.7)
Для методов второго порядка расчет параметров на k-м шаге производят по
формуле (метод Ньютона):
kkkk
gHXX
1
1
−
+
−= , (10.8)
где H
k
– матрица вторых частных производных целевой функции (матрица
Гессе);
g
k
– вектор градиента на k-й итерации. Вычисление матрицы Гессе требует
больших затрат машинного времени, поэтому её заменяют приближенными
выражениями (квазиньютоновские алгоритмы).
Программа синтеза нейрорегулятора на основе эталонной модели
универсальна и имеет следующий вид:
function = RefArm
%
%-- Программа построения нейронных моделей объекта управления и
%-- регулятора:
%
RefArmNet=newff([-0.5 0.5],[13 1 10 1],{'tansig' 'purelin' 'tansig' 'purelin'},'traingdx');
%
%-- Обучение нейронной модели объекта управления
:
%
RefArmNet.inputWeights{1,1}.learn=0;
RefArmNet.layerWeights{2,1}.learn=0;
RefArmNet.layerWeights{3,2}.learn=1;
RefArmNet.layerWeights{4,3}.learn=1;
RefArmNet.trainParam.epochs=300;
RefArmNet.trainParam.goal=1e-5;
RefArmNet.trainParam.min_grad=1e-45;
Если используется сопряжённый градиент функционала, то на первой итерации направление движения p0 выбирают против градиента g 0 этой итерации: p0 = −g 0 . (10.5) Для следующих итераций направление pk выбирают как линейную комбинацию векторов g k и pk −1 : pk = − g k + β k pk −1 , (10.6) а вектор параметров рассчитывают по формуле: X k +1 = X k + α k pk , (10.7) Для методов второго порядка расчет параметров на k-м шаге производят по формуле (метод Ньютона): X k +1 = X k − H k−1 g k , (10.8) где Hk – матрица вторых частных производных целевой функции (матрица Гессе); gk – вектор градиента на k-й итерации. Вычисление матрицы Гессе требует больших затрат машинного времени, поэтому её заменяют приближенными выражениями (квазиньютоновские алгоритмы). Программа синтеза нейрорегулятора на основе эталонной модели универсальна и имеет следующий вид: function = RefArm % %-- Программа построения нейронных моделей объекта управления и %-- регулятора: % RefArmNet=newff([-0.5 0.5],[13 1 10 1],{'tansig' 'purelin' 'tansig' 'purelin'},'traingdx'); % %-- Обучение нейронной модели объекта управления: % RefArmNet.inputWeights{1,1}.learn=0; RefArmNet.layerWeights{2,1}.learn=0; RefArmNet.layerWeights{3,2}.learn=1; RefArmNet.layerWeights{4,3}.learn=1; RefArmNet.trainParam.epochs=300; RefArmNet.trainParam.goal=1e-5; RefArmNet.trainParam.min_grad=1e-45; 202
Страницы
- « первая
- ‹ предыдущая
- …
- 200
- 201
- 202
- 203
- 204
- …
- следующая ›
- последняя »