AIMA.Core.Learning.Neural.FeedForwardNeuralNetwork.trainOn C# (CSharp) Method

trainOn() public method

public trainOn ( NNDataSet innds, int numberofEpochs ) : void
innds NNDataSet
numberofEpochs int
return void
	public void trainOn(NNDataSet innds, int numberofEpochs) {
		for (int i = 0; i < numberofEpochs; i++) {
			innds.refreshDataset();
			while (innds.hasMoreExamples()) {
				NNExample nne = innds.getExampleAtRandom();
				processInput(nne.getInput());
				Vector error = getOutputLayer()
						.errorVectorFrom(nne.getTarget());
				processError(error);
			}
		}

	}

Usage Example

        public void testDataSetPopulation()
        {
            DataSet irisDataSet = DataSetFactory.getIrisDataSet();
            Numerizer numerizer = new IrisDataSetNumerizer();
            NNDataSet innds = new IrisNNDataSet();

            innds.createExamplesFromDataSet(irisDataSet, numerizer);

            NNConfig config = new NNConfig();
            config.setConfig(FeedForwardNeuralNetwork.NUMBER_OF_INPUTS, 4);
            config.setConfig(FeedForwardNeuralNetwork.NUMBER_OF_OUTPUTS, 3);
            config.setConfig(FeedForwardNeuralNetwork.NUMBER_OF_HIDDEN_NEURONS, 6);
            config.setConfig(FeedForwardNeuralNetwork.LOWER_LIMIT_WEIGHTS, -2.0);
            config.setConfig(FeedForwardNeuralNetwork.UPPER_LIMIT_WEIGHTS, 2.0);

            FeedForwardNeuralNetwork ffnn = new FeedForwardNeuralNetwork(config);
            ffnn.setTrainingScheme(new BackPropLearning(0.1, 0.9));

            ffnn.trainOn(innds, 10);

            innds.refreshDataset();
            ffnn.testOnDataSet(innds);
        }