Simple implementation of a FNN with back-propagation to recap some AI knowledge.
// crate a data set with input- and output-values
DataSet train = DataSet.fromArray( // syntactic sugar
new double[][] { new double[]{ ... }, ... }, // inputs
new double[][] { new double[]{ ... }, ... } // expected
);
FNN net = Trainer.builder( inputUnits , outputUnits ) // create a Builder
.withLearningRate( learningRate ) // do setup
.addHiddenLayer( hiddenUnits ) // add hidden layers
.build() // build a Trainer
.train( train, error, maxIterations ); // do training
double[] results = net.eval( new double[] { ... } ) // evaluate against input
Additional examples can be found in the unit tests.