A feed-forward Neural Network which has I
imputs, H
hidden layers, N
Nodes per hidden layer, and O
ouputs.
Data is passed in and received via a double[]
.
Training is done via passing in an ArrayList<double[]>
for the inputs and the coresponding outputs.
Eventually I would like to set up a better system for this.
- new Network(
I
,H
,N
,O
); - setHiddenLayerFunctions(
activation function via Function<Double, Double>
,derivitive of that function via Function<Double, Double>
); - setOutputLayerFunction(
activation function via Function<Double, Double>
,derivitive of that function via Function<Double, Double>
); - initRandomWeights();
- adjustDataScalingsToDataSet(
input data as ArrayList<double[]>
,expected outputs as ArrayList<double[]>
);
- pass in data via input(
input data as double[]
); - pass in data then check the output via getOutputs();
- train the network via train(
list of input datas as ArrayList<double[]>
,list of output datas as ArrayList<double[]>
,learning rate as double
,number of epochs to run through as int
,show outputs every this many epochs as int
)