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)



