, , - . , .
:
numImputs = 2 - ;
numLayers = 3 - ;
biasConnect = [1; 0; 0] - numLayers * 1;
imputConnect = [1 1; 0 0; 0 0] - numLayers * numImputs;
layerConnect = [0 0 0;1 0 0 0; 0 1 0] - numLayers * numLayers;
outputConnect = [0 0 1] - 1* numLayers;
tartegtConnect = [0 0 1] - 1 * numLayers.
:
1. ,
net = network (2, 3, [1; 0; 0], [1 1; 0 0; 0 0],[0 0 0; 1 0 0; 0 1 0], [0 0 1])
2. net .
3. ,
numOutputs = 1 - ;
numInputDelays = 0 -
numLayerDelays = 0 - .
, . , . . numInputDelays NumLayerDelays - .
4. , gensim(net) .
. 2.
NNT :
) Neural Network - x{1}, x{2}, y{1};
) Input1, x{1} Input2, x{2};
) y{1};
) Layer 1, Layer 2, Layer 3, x{1}, x{2], a{1}, a{2}, a{1}, a{2}, a{3}, , y{1};
) TDL - (Time Delay) Delays1, Delays2,..., 1, 2, 3, ;
) Weights - ; S × R, S - , R - , ; j i S × R, S - i, R - j, ;
|
|
) dotprod - , , . . ;
) mux - , , ;
) netsum - : , . .;
) hardlim, purelin . . - ;
) pd{1, 1}, pd{1, 2}, ad{2, 1},... - (d - delay);
) iz{1, 1}, iz{1, 2}, lz{2, 1}, lz{3, 2} - - ;
) bias - ;
) IW - : IW{i, j} - i j;
) LW - : LW{i, j} - i j.
5. NNT.
6.
P = [0 0; 0 0]
A = sim(net, P)
7. :
net.inputs{1}.range = [0 1];
net.inputs{2}.range = [0 1];
net.b{1} = - 0,25;
net.IW{1, 1} = [0.5];
net.IW{1, 2} = [0.5];
net.LW{2, 1} = [0.5];
net.LW{3, 2} = [0.5].
gensim(net) .
. 3.
8. , celldisp. .
ans{1} =
exampleInput: [0 1]
name: 'Input'
processFcns: {}
processParams: {}
processSettings: {1x0 cell}
ans{2} =
exampleInput: [0 1]
name: 'Input'
processFcns: {}
processParams: {}
processSettings: {1x0 cell}
9. , . . ,
PG = [0.5 1; 1 0.5];
PS= {[0.5 1] [1 0.5]};
PG1 = sim(net, PG);
PS1 = sim(net, PS)
, .
10. 2- 3- , :
net.inputWeights{1, 1}.delays = [0 1];
net.inputWeights{1, 2}.delays = [0 1];
net.layerWeights{3, 2}.delays = [0 1 2].
11. :
net.IW{1, 1} = [0.5 0.5];
net.IW{1, 2} = [0.5 0.25];
net.LW{3, 2} = [0.5 0.25 1].
12. , :
AG = sim(net, PG);
AS= sim(net, PS).
, ( ) .
|
|
. 4.
13. , celldisp.
ans{1} =
exampleInput: [0 0,5]
name: 'Input'
processFcns: {0,5 0,5}
processParams: {0,5 0,25}
processSettings: {1x0 cell}
ans{2} =
exampleInput: [0 0,5]
name: 'Input'
processFcns: {0,5 0,5}
processParams: {0,5 0,25 1}
processSettings: {1x0 cell}
14. - .
2.
asgnet, network . net asgnet.
.
.
1. asgnet network
asgnet = network();
2.
asgnet.numInputs = 2
asgnet.numLayers = 3
asgnet.biasConnect = [1; 0; 0]
asgnet.inputConnect = [1 1; 0 0; 0 0]
asgnet.layerConnect = [0 0 0; 1 0 0; 0 1 0]
asgnet.outputConnect = [0 0 1]
. 5. asgnet
P1 = [0 0; 0 0]
A1 = sim(asgnet, P1)
asgnet.inputs{1}.range = [0 1];
asgnet.inputs{2}.range = [0 1];
PG1 = [0.5 1; 1 0.5];
PS1= {[0.5 1]; [1 0.5]};
AG1 = sim(asgnet, PG1);
AS1= sim(asgnet, PS).
asgnet.b{1} = - 0,25;
asgnet.inputWeights{1, 1}.delays = [0 1];
asgnet.inputWeights{1, 2}.delays = [0 1];
asgnet.layerWeights{3, 2}.delays = [0 1 2].
asgnet.IW{1, 1} = [0.5 0.5];
asgnet.IW{1, 2} = [0.5 0.25];
asgnet.LW{2, 1} = [0.5];
asgnet.LW{3, 2} = [0.5 0.25 1]
. 6. asgnet
. 7. net
.
3. Simulink MATLAB, asgnet, , net Report Generator.
Simulink, .
4. network , , :
) , ;
task1 = network (3, 1, [1], [1 1 1],[1], [1], [1])
. 8.
) ; - , ; ; - ;
task2 = network (3, 3, [1; 1; 1], [1 0 0; 1 0 0; 1 0 0],[1 0 0; 1 0 0; 1 0 0], [1 0 0], [1 0 0])
. 9.
) , ; - ; - ; ;
task3 = network (3, 3, [1; 0; 0], [1 1 1; 1 1 1; 1 1 1],[1 1 1; 1 1 1; 1 1 1], [1 0 0], [1 0 0])
. 11. , ;
) ; - , ; ; , ;
|
|
task3 = network (3, 3, [1; 0; 0], [1 1 1; 1 1 1; 1 1 1],[1 1 1; 1 1 1; 1 1 1], [1 0 0], [1 0 0])
. 12.
task3.inputWeights{1, 1}.delays = [0 1];
task3.inputWeights{1, 2}.delays = [0 1];
task3.inputWeights{1, 3}.delays = [0 1];
task3.inputWeights{2, 1}.delays = [0 1];
task3.inputWeights{2, 2}.delays = [0 1];
task3.inputWeights{2, 3}.delays = [0 1];
task3.inputWeights{3, 1}.delays = [0 1 2];
task3.inputWeights{3, 2}.delays = [2 1 2];
task3.IW{1, 1} = [0.5 0.8];
task3.IW{1, 2} = [0.5 0.2];
task3.IW{1, 3} = [0.2 1];
task3.IW{2, 1} = [0.2 1];
task3.IW{2, 2} = [0.5 0.2];
task3.IW{2, 3} = [0.5 1];
task3.LW{3, 1} = [0.5 0.2 0.1];
task3.LW{3, 2} = [0.1 0.2 0.1];
task3.LW{3, 3} = [0 0.2 1];
. 13.
) ; ; ; .
P1 = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0];
P2 = {
[1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1] };
P3 = [1 1 1 1 1 1 1 1 1 1];
task5 = network(10, 10, P1, P2, P2, P3, P3)
, task5.mdl.
, .
:
, ;
, .
.
, , , .
MatLab , , .
, .
.