# MATLAB: How do i construct neural network

neural network

how do i construct neural network that has two layers, four weights linking the input-to-hidden layer with no biases, and two weights linking the hidden-to-output layer with a 1 bias at the output neuron

• What you are asking doesn't make much sense. For a standard universal approximation I-H-O net the number of weights are
 Nw = (I+1)*H+(H+1)*O
where the 1s correspond to biases. If either bias node is removed, the net is no longer a universal approximator.
It looks like you want
 Nw = I*H+(H+1)*O
with
 I*H = 4 H*O = 2   O = 1
Consequently, O=1, H=2, I = 2 and
 size(input)  = [ 2 N ] size(target) = [ 1 N ]
Since you don't specify regregression or classification, lets try classification with the exclusive or function. Typically, I desire the explained target variance = coefficient of variation, = Rsquared (See Wikipeia) to be >= 0.99.
clear all, clcx     = [1 1 -1 -1 ; -1 1 1 -1 ];t     = [ 0 1 0 1 ];MSE00 = var(t)                  % 0.33333 Reference MSEnet            = patternnet(2);net.biasConnect = [ 0;1];        % No input biasnet.divideFcn   = 'dividetrain'; % No validation or test subsetsrng(0)for i = 1:10   net                = configure(net,x,t);   [net tr y(i,:) e]  = train(net,x,t);   R2(i,:)            = 1-mse(e)/MSE00;end y  = y      % y  = 0.5*ones(10,4) R2 = R2     % R2 = 0.25*ones(10,1), (far from 0.99!!!)
Obviously, can get negligible error with the input bias.
Hope this helps.
Thank you for formally accepting my answer
Greg