2016년 4월 9일 토요일

Multi Layer perceptron (MLP)

Multi Layer perceptron (MLP) is a feedforward neural network with one or more layers between input and output layer. 

Feedforward means that data flows in one direction from input to output layer (forward). 

This type of network is trained with the backpropagation learning algorithm. 

MLPs are widely used for pattern classification, recognition, prediction and approximation. 

Multi Layer Perceptron can solve problems which are not linearly separable.

DataSet trainingSet = new DataSet(2, 1);
trainingSet.addRow(new DataSetRow(new double[]{0, 0}, new double[]{0}));
trainingSet.addRow(new DataSetRow(new double[]{0, 1}, new double[]{0}));
trainingSet.addRow(new DataSetRow(new double[]{1, 0}, new double[]{0}));
trainingSet.addRow(new DataSetRow(new double[]{1, 1}, new double[]{1}));
// create perceptron neural network
NeuralNetwork myPerceptron = new Perceptron(2, 1);

// learn the training set
myPerceptron.learn(trainingSet);
// test perceptron
System.out.println("Testing trained perceptron");
testNeuralNetwork(myPerceptron, trainingSet);
// save trained perceptron
myPerceptron.save("mySamplePerceptron.nnet");
// load saved neural network
NeuralNetwork loadedPerceptron = NeuralNetwork.createFromFile("mySamplePerceptron.nnet");

// test loaded neural network
System.out.println("Testing loaded perceptron");
testNeuralNetwork(loadedPerceptron, trainingSet);

댓글 없음:

댓글 쓰기