Here is an example of my code just to explain my question. (My code is not the XOR example and it has much more data):
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 }, { 0.0, 1.0 }, { 1.0, 1.0 } };
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 1.0 }, { 0.0 } };
...
MLDataSet trainingSet = new BasicMLDataSet(XOR_INPUT, XOR_IDEAL);
...
for(MLDataPair pair: trainingSet ) {
final MLData output = network.compute(pair.getInput());
System.out.println(pair.getInput().getData(0) + "," + pair.getInput().getData(1)
+ ", actual=" + output.getData(0) + ",ideal=" + pair.getIdeal().getData(0));
}
In an evaluation situation (where I know the ideal output) this works fine.
But in a real situation, with my neural network trained and when I don't know the ideal output: What is the approach in this case? Do I have to "make up" the ideal data?
Can this computation be made through the workbench?
Notice how when it queries the output the above loop just uses pair.getInput(). This is just the input half of the dataset, you do not need to provide ideal/expected. The following code shows how to do it with no ideal values at all. Just wrap the input in a BasicMLData object and you are fine: