Академический Документы
Профессиональный Документы
Культура Документы
вариант 12
Цель работы:
Обучающее множество:
T=[0 0 1 1 1 1]
T=
001111
net=newlind(P,T);
IW=net.IW{1,1};
b= net. b{1,1}
display(IW);
display(b);
plotpv(P,T);
grid on;
plotpc(net.IW{1},0);
Вывод:
IW=
0.0813 -0.1522
b = 0.4473
Рис. 1. Отображение сети, обучающей выборки,
дискриминантной линии
Вывод:
net =
Neural Network
name: 'Custom Neural Network'
userdata: (your custom info)
dimensions:
numInputs: 1
numLayers: 1
numOutputs: 1
numInputDelays: 0
numLayerDelays: 0
numFeedbackDelays: 0
numWeightElements: 3
sampleTime: 1
connections:
biasConnect: true
inputConnect: true
layerConnect: false
outputConnect: true
subobjects:
input: Equivalent to inputs{1}
output: Equivalent to outputs{1}
inputs: {1x1 cell array of 1 input}
layers: {1x1 cell array of 1 layer}
outputs: {1x1 cell array of 1 output}
biases: {1x1 cell array of 1 bias}
inputWeights: {1x1 cell array of 1 weight}
layerWeights: {1x1 cell array of 0 weights}
functions:
adaptFcn: 'adaptwb'
adaptParam: (none)
derivFcn: 'defaultderiv'
divideFcn: (none)
divideParam: (none)
divideMode: 'sample'
initFcn: 'initlay'
performFcn: 'mse'
performParam: .regularization, .normalization
plotFcns: {'plotperform', 'plottrainstate'}
plotParams: {1x2 cell array of 2 params}
trainFcn: 'trainb'
trainParam: .showWindow, .showCommandLine, .show, .epochs,
.time, .goal, .min_grad, .max_fail
weight and bias values:
IW: {1x1 cell} containing 1 input weight matrix
LW: {1x1 cell} containing 0 layer weight matrices
b: {1x1 cell} containing 1 bias vector
methods:
net.inputweights{1,1}.initFcn = 'rands';
net.biases{1}.initFcn = 'rands';
net = init(net);
display(b);
b = 0.6286
display(b);
plotpv(P,T);
grid minor
plotpc (net.IW{1},0);
Вывод:
IW =
-0.5130 0.8585
b = 0.6286
Рис. 2. Окно Neural Network Training
Комментарий и вывод к этапу 1
𝑥 = sin (𝑡 2 − 15 𝑡 + 3 ) , 𝑡 ∈ [ 0 . 5 , 3 ] , ℎ = 0 . 01
Обучающее множество:
h=0.01;
t0=0.5;
t1=3;
n=(t1-t0)/h+1;
p=zeros(1,n);
x=t0:h:t1;
for i=1:n
t=(i-1)*h;
p(i)=sin(t.^2-15.*t+3)-sin(t).^2
end
P=con2seq(p);
T=P;
display(b);
Весовые коэффициенты и смещение:
IW=
b=
-0.4430
view(net);
error=cell2mat (E);
output=cell2mat (y);
etalon =cell2mat (T);
plot (x(6:n),output, x,etalon),grid,legend('output','etalon');
plot (x(6:n),error), grid, legend ('error');
Вывод:
Error =
0.1734
Рис. 5. Структура полученной нейросети
Рис. 6. Эталонные и предсказанные нейросетью значения
Рис. 7. Ошибка обучения
Этап 3:
Построим обучающее множество: в качестве входного множества
используем значения второго входного сигнала на заданном интервале.
Эталонными выходами сети являются значения второй эталонной
функции на заданном интервале.
Входное множество:
𝑥=cos(t 2 ¿,𝑡∈ [0,4 ],ℎ=0.02
Выходное множество:
1
𝑦= 2 cos ¿ 2𝜋)
h=0.01;
t0=0;
t1=4;
n=(t1-t0)/h+1;
p=zeros(1,n);
x=t0:h:t1;
for i=1:n
t=(i-1)*h;
p(i)=cos(t.^2)
T1(i)=(1/2).*cos(t.^2+2.*pi);
end
P=con2seq(p);
T=con2seq(T1);
net=newlin([-1,1],1,0,0.1);
net.inputweights{1,1}.delays=1:5;
net.inputweights{1,1}.initFcn='rands';
net.biases{1}.initFcn='rands';
net=init(net);
IW=net.IW{1,1};
b=net.b{1};
display(IW);
display(b);
Вывод:
IW = 1×5
-0.7228 -0.7014 -0.4850 0.6814 -0.4914
b=
0.0944
display(sqrt(mse(E)));
view(net);
figure
plot (x(6:n),error), grid, legend ('error');
Величина ошибки:
Error =
0.1590
Вывод:
Рис. 8. Структура полученной нейросети
Рис. 9. Входное, эталонное выходное и предсказанное сетью значения
Рис. 10. Ошибка обучения.