B
BestGoalkeeper
Gast
Versuche gerade, das XOR zu lernen. Ich weiß, dass es mit einem Perceptron nicht möglich ist, aber warum hält neuroph nicht an bzw. wie kann ich die maximalen Trainingsdurchläufe setzen?
Maven:
siehe hier https://github.com/neuroph/NeurophFramework
Code, der nicht anhält:
Code, der anhält:
merci
Maven:
siehe hier https://github.com/neuroph/NeurophFramework
Code, der nicht anhält:
Java:
import java.util.Arrays;
import org.neuroph.core.NeuralNetwork;
import org.neuroph.core.data.DataSet;
import org.neuroph.core.data.DataSetRow;
import org.neuroph.nnet.MultiLayerPerceptron;
public class XORNN {
public static void main(String[] args) {
@SuppressWarnings("rawtypes")
NeuralNetwork nn = new MultiLayerPerceptron(2, 1, 1);
DataSet training = new DataSet(2, 1);
training.add(new DataSetRow(new double[] { 0, 0 }, new double[] { 0 }));
training.add(new DataSetRow(new double[] { 0, 1 }, new double[] { 1 }));
training.add(new DataSetRow(new double[] { 1, 0 }, new double[] { 1 }));
training.add(new DataSetRow(new double[] { 1, 1 }, new double[] { 0 }));
System.out.println(nn.getNetworkType());
System.out.println(nn.getLearningRule());
System.out.println(Arrays.toString(nn.getWeights()));
nn.learn(training);
System.out.println(Arrays.toString(nn.getWeights()));
nn.setInput(new double[] { 1, 0 });
nn.calculate();
System.out.println(Math.round(nn.getOutput()[0]));
nn.setInput(new double[] { 1, 1 });
nn.calculate();
System.out.println(Math.round(nn.getOutput()[0]));
}
}
Code, der anhält:
NeuralNetwork nn = new MultiLayerPerceptron(2, 4, 1);
.merci