How to set up Neural network and train the data
2 views (last 30 days)
Show older comments
I have a linear system:
x(n+1) = Ax(n)+By(n)
y(n+1) = Cx(n)+Dy(n)
x(0) = -2, y(0) = 3.
I also have set of 1000 point (x,y)
How do i train to get the coefficient A, B, C, D
0 Comments
Answers (1)
Drishti
on 7 Oct 2024
Hi Dinh,
I understand that you are trying to build a neural network to solve the linear equations to get the corresponding coefficients A, B, C, D.
To accomplish this, you can create a simple neural network with one hidden layer. Given that the task involves solving linear equations, set the transfer function (specified as ‘transferFcn’) of the layers to ‘purelin’.
Refer to the implementation below for better understanding:
% Create a neural network with a minimal hidden layer size
hiddenLayerSize = 1;
% Minimal size to approximate linearity
net_x = feedforwardnet(hiddenLayerSize);
net_y = feedforwardnet(hiddenLayerSize);
% Configure the networks for a linear output
net_x.layers{2}.transferFcn = 'purelin';
net_y.layers{2}.transferFcn = 'purelin';
% Train the network for x(n+1)
net_x = train(net_x, inputs, targets_x);
% Train the network for y(n+1)
net_y = train(net_y, inputs, targets_y);
% Extract the weights (coefficients)
weights_x = net_x.IW{1};
bias_x = net_x.b{1};
weights_y = net_y.IW{1};
bias_y = net_y.b{1};
The weights will correspond to the coefficients in order A, B, C, D. You can also refer to the MATLAB Documentation of ‘purelin’ function for more information:
Additionally, work arounds such as linear regression and the mean square method can also be utilized to solve the given linear equations.
I hope this helps in getting started.
0 Comments
See Also
Categories
Find more on Define Shallow Neural Network Architectures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!