Notebook "нейронные сети" Глава 2
Вид материала | Документы |
C414. poststd C415. postreg C417. tramnmx C417. trastd |
- Программа дисциплины «Теория нечетких множеств и нейронные сети» Для специальности, 567.45kb.
- Самостоятельная работа по прогнозированию экономических процессов на тему: нейронные, 148.65kb.
- Лекция 2 Лекция «Нейронные сети» Начнем с определения: Искусственные нейронные сети, 131.57kb.
- "Нейроновые сети ", 374.46kb.
- Нейронные сети как механизм представления лексико-семантической информации, 376.06kb.
- Программа, 39.37kb.
- Нейронные сети: алгоритм обратного распространения, 336.15kb.
- Предупреждение. Спасение. Помощь, 3059.76kb.
- Нейрокомпьютерная обработка сигналов и изображений, 184.71kb.
- Нейронные сети: основы теории / А. И. Галушкин. М. Горячая линия Телеком, 2010., 585.42kb.
C414. POSTSTD
В этом примере сначала с помощью функции prestd выполняется масштабирование обучающей последовательности к нормальному закону распределения с параметрами [0 1], затем создается и обучается нейронная сеть прямой передачи, выполняется ее моделирование и восстановление выхода с помощью функции poststd.
p = [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93];
t = [-0.08 3.40 -0.82 0.69 3.10];
[pn,meanp,stdp,tn,meant,stdt] = prestd(p,t);
net = newff(minmax(pn),[5 1],{'tansig' 'purelin'},'trainlm');
net = train(net,pn,tn); grid on
an = sim(net,pn)
TRAINLM, Epoch 0/100, MSE 2.34864/0, Gradient 9.59914/1e-010
TRAINLM, Epoch 4/100, MSE 1.24883e-022/0, Gradient 4.57729e-011/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
an =
Columns 1 through 4
-0.7049 1.1285 -1.0947 -0.2992
Column 5
0.9704
a = poststd(an,meant,stdt)
a =
Columns 1 through 4
-0.0800 3.4000 -0.8200 0.6900
Column 5
3.1000
C415. POSTREG
В данном примере с помощью функции prestd нормализуется множество обучающих данных, на нормализованных данных вычисляются главные составляющие преобразования, создается и обучается сеть, используя pca данные, сеть моделируется. Затем выход сети с помощью функции poststd денормализуется и вычисляется линейная регрессия между выходом (ненормализованным) сети и целями, чтобы проверить качество обучения сети.
P = [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93];
T = [-0.08 3.40 -0.82 0.69 3.10];
[pn,meanp,stdp,tn,meant,stdt] = prestd(P,T);
[ptrans,transMat] = prepca(pn,0.02);
net = newff(minmax(ptrans),[5 1],{'tansig' 'purelin'},'trainlm');
net = train(net,ptrans,tn); grid on
an = sim(net,ptrans)
TRAINLM, Epoch 0/100, MSE 1.06854/0, Gradient 6.56843/1e-010
TRAINLM, Epoch 4/100, MSE 7.84424e-030/0, Gradient 3.04851e-015/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
an =
Columns 1 through 4
-0.7049 1.1285 -1.0947 -0.2992
Column 5
0.9704
a = poststd(an,meant,stdt)
a =
Columns 1 through 4
-0.0800 3.4000 -0.8200 0.6900
Column 5
3.1000
figure(1), clf
[m,b,r] = postreg(a,t), grid on % Рис.11.61
m =
1.0000
b =
5.0387e-016
r =
1
C417. TRAMNMX
Следующие операторы масштабируют обучающую последовательность к диапазону [-1 1], формируют и обучают нейронную сеть прямой передачи
p = [-10 -7.5 -5 -2.5 0 2.5 5 7.5 10];
t = [0 7.07 -10 -7.07 0 7.07 10 7.07 0];
[pn,minp,maxp,tn,mint,maxt] = premnmx(p,t);
net = newff(minmax(pn),[5 1],{'tansig' 'purelin'},'trainlm');
net = train(net,pn,tn); grid on
TRAINLM, Epoch 0/100, MSE 0.685331/0, Gradient 10.0713/1e-010
TRAINLM, Epoch 10/100, MSE 6.32948e-022/0, Gradient 4.72377e-011/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
Если в дальнейшем к обученной сети будут приложены новые входы, то они должны быть масштабированы с помощью функции tramnmx. Выход сети должен быть восстановлен с помощью функции postmnmx.
p2 = [4 -7]; pn = tramnmx(p2,minp,maxp);
an = sim(net,pn)
an =
0.9440 0.0067
a = postmnmx(an,mint,maxt)
a =
9.4399 0.0671
C417. TRASTD
Следующие операторы масштабируют обучающую последовательность к нормальному закону распределения с параметрами [0 1], формируют и обучают нейронную сеть прямой передачи
p = [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93];
t = [-0.08 3.4 -0.82 0.69 3.1];
[pn,meanp,stdp,tn,meant,stdt] = prestd(p,t);
net = newff(minmax(pn),[5 1],{'tansig' 'purelin'},'trainlm');
net = train(net,pn,tn); grid on
TRAINLM, Epoch 0/100, MSE 4.09289/0, Gradient 14.841/1e-010
TRAINLM, Epoch 5/100, MSE 5.42342e-032/0, Gradient 1.24667e-015/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
Если в дальнейшем к обученной сети будут приложены новые входы, то они должны быть масштабированы с помощью функции trastd. Выход сети должен быть восстановлен с помощью функции poststd.
p2 = [1.5 -0.8; 0.05 -0.3];
pn = trastd(p2,meanp,stdp);
an = sim(net,pn)
an =
1.1259 -0.9903
a = poststd(an,meant,stdt)
a =
3.3951 -0.6218