Redes Neurais: Exemplo Encog

Pessoal,

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?

Obrigada.

Veja se este exemplo pode te ajudar.

[code]/*

  • Encog™ 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
    */
    package org.encog.examples.neural.xor;

import org.encog.Encog;
import org.encog.engine.network.activation.ActivationSigmoid;
import org.encog.ml.data.MLData;
import org.encog.ml.data.MLDataPair;
import org.encog.ml.data.MLDataSet;
import org.encog.ml.data.basic.BasicMLDataSet;
import org.encog.neural.networks.BasicNetwork;
import org.encog.neural.networks.layers.BasicLayer;
import org.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.

*/
public class XORHelloWorld {

/**
 * The input necessary for XOR.
 */
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
		{ 0.0, 1.0 }, { 1.0, 1.0 } };

/**
 * The ideal data necessary for XOR.
 */
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 1.0 }, { 0.0 } };

/**
 * The main method.
 * @param args No arguments are used.
 */
public static void main(final String args[]) {
	
	// create a neural network, without using a factory
	BasicNetwork network = new BasicNetwork();
	network.addLayer(new BasicLayer(null,true,2));
	network.addLayer(new BasicLayer(new ActivationSigmoid(),true,3));
	network.addLayer(new BasicLayer(new ActivationSigmoid(),false,1));
	network.getStructure().finalizeStructure();
	network.reset();

	// create training data
	MLDataSet trainingSet = new BasicMLDataSet(XOR_INPUT, XOR_IDEAL);
	
	// train the neural network
	final ResilientPropagation train = new ResilientPropagation(network, trainingSet);

	int epoch = 1;

	do {
		train.iteration();
		System.out.println("Epoch #" + epoch + " Error:" + train.getError());
		epoch++;
	} while(train.getError() > 0.01);

	// test the neural network
	System.out.println("Neural Network Results:");
	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));
	}
	
	Encog.getInstance().shutdown();
}

}
[/code]