.create(
new int[] { 2, 4, 1 },
new ActivationFunction[] { LINEAR.get(),
ActivationFunctionSelector.ELLIOT.get(),
ActivationFunctionSelector.ELLIOT.get() },
new LogisticErrorFunction(), new Fmincg(), 100).build();
Tuple<DoubleVector[], DoubleVector[]> sampleXOR = sampleXOR();
double error = mlp.train(sampleXOR.getFirst(), sampleXOR.getSecond(),
new Fmincg(), 100, 0.0d, false);
System.out.println(error);
// increase the error here a bit, because it is just an approx. to sigmoid