To tentando implementar uma rede neural com Encog mas não to conseguindo, nem to achando nada que me ajude.
Meu problema deve passar 3 entradas para minha rede. Por exemplo, uma rede pra resolvero XOR recebe as seguintes entradas:
0 0
1 0
0 1
1 1
Agora, meu problema deve receber:
15, 0, 190
20, 40, 150
…
Estou usando rede com backpropagation.
Alguem já fez isso no Encog? Pode me passar o codigo de exemplo?
/* * Encog(tm) Examples v3.1 - Java Version * http://www.heatonresearch.com/encog/ * http://code.google.com/p/encog-java/ * Copyright 2008-2012 Heaton Research, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * For more information on Heaton Research copyrights, licenses * and trademarks visit: * http://www.heatonresearch.com/copyright */packageorg.encog.examples.neural.xor;importorg.encog.Encog;importorg.encog.engine.network.activation.ActivationSigmoid;importorg.encog.ml.data.MLData;importorg.encog.ml.data.MLDataPair;importorg.encog.ml.data.MLDataSet;importorg.encog.ml.data.basic.BasicMLDataSet;importorg.encog.neural.networks.BasicNetwork;importorg.encog.neural.networks.layers.BasicLayer;importorg.encog.neural.networks.training.propagation.resilient.ResilientPropagation;/** * XOR: This example is essentially the "Hello World" of neural network * programming. This example shows how to construct an Encog neural * network to predict the output from the XOR operator. This example * uses backpropagation to train the neural network. * * This example attempts to use a minimum of Encog features to create and * train the neural network. This allows you to see exactly what is going * on. For a more advanced example, that uses Encog factories, refer to * the XORFactory example. * */publicclassXORHelloWorld{/** * The input necessary for XOR. */publicstaticdoubleXOR_INPUT[][]={{0.0,0.0},{1.0,0.0},{0.0,1.0},{1.0,1.0}};/** * The ideal data necessary for XOR. */publicstaticdoubleXOR_IDEAL[][]={{0.0},{1.0},{1.0},{0.0}};/** * The main method. * @param args No arguments are used. */publicstaticvoidmain(finalStringargs[]){// create a neural network, without using a factoryBasicNetworknetwork=newBasicNetwork();network.addLayer(newBasicLayer(null,true,2));network.addLayer(newBasicLayer(newActivationSigmoid(),true,3));network.addLayer(newBasicLayer(newActivationSigmoid(),false,1));network.getStructure().finalizeStructure();network.reset();// create training dataMLDataSettrainingSet=newBasicMLDataSet(XOR_INPUT,XOR_IDEAL);// train the neural networkfinalResilientPropagationtrain=newResilientPropagation(network,trainingSet);intepoch=1;do{train.iteration();System.out.println("Epoch #"+epoch+" Error:"+train.getError());epoch++;}while(train.getError()>0.01);// test the neural networkSystem.out.println("Neural Network Results:");for(MLDataPairpair:trainingSet){finalMLDataoutput=network.compute(pair.getInput());System.out.println(pair.getInput().getData(0)+","+pair.getInput().getData(1)+", actual="+output.getData(0)+",ideal="+pair.getIdeal().getData(0));}Encog.getInstance().shutdown();}}