ВУЗ:
Составители:
218
Если используется сопряжённый градиент функционала, то на первой итерации
направление движения
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;
218
Страницы
- « первая
- ‹ предыдущая
- …
- 216
- 217
- 218
- 219
- 220
- …
- следующая ›
- последняя »
