A question for a NN project

jacob's picture

Hi,

I'm trying to make a Neural network project. My project is MPG(MilePerGalon)
Auto.

The data concerns city-cycle fuel consumption in miles per gallon, to be predicted in terms of 3 multivalued discrete and 5 continuous attributes.

1. mpg: continuous
2. cylinders: multi-valued discrete
3. displacement: continuous
4. horsepower: continuous
5. weight: continuous
6. acceleration: continuous
7. model year: multi-valued discrete
8. origin: multi-valued discrete

An data example:
-18.0 8. 307.0 130.0 3504. 12.0 70. 1.;
-15.0 8. 350.0 165.0 3693. 11.5 70. 1.;
-18.0 8. 318.0 150.0 3436. 11.0 70. 1.;
-16.0 8. 304.0 150.0 3433. 12.0 70. 1.;

So how which algorthm should I use?

jeffheaton's picture

This is not a classification problem, so I would not use a SOM. Perhaps an RBF. Its not temporal, so I don't think you need Elman or Jordan style networks. I would just start with a single layer feedforward network. First task is to get your input and output neurons. The output neuron will be miles per gallon. I would probably just divide by 100 to keep it in the 0-1 range. For example 30mpg would be .3, 18 miles per gallon would be .18. You could probably get a bit more precise to use more of the range, since I doubt you will have many cars with greater than 50 mpg. The Encog normalization class can actually analyze the input data and deduce the range.

I would assign a single input neuron to each of your continuous inputs.

The MVD inputs will need one input neuron for each of the discrete values.

Then create a training set with the input (your values above) and ideal (the mpg) and train it.

Jeff

jacob's picture

Exception in thread "main" org.encog.neural.NeuralNetworkError: Error, must define radial functions for each neuron
at org.encog.neural.networks.layers.RadialBasisFunctionLayer.compute(Unknown Source)
at org.encog.neural.networks.logic.FeedforwardLogic.compute(Unknown Source)
at org.encog.neural.networks.logic.FeedforwardLogic.compute(Unknown Source)
at org.encog.neural.networks.BasicNetwork.compute(Unknown Source)
at org.encog.neural.networks.training.propagation.PropagationUtil.forwardPass(Unknown Source)
at org.encog.neural.networks.training.propagation.Propagation.iteration(Unknown Source)
at org.encog.examples.neural.xorbackprop.BENIMnnPROJEM.main(BENIMnnPROJEM.java:945)

How should i define radial functions?

sujan's picture

I do agree with Jeff. I've solved similar situation using Feed Forward Neural Network with Simulated Annealing as Training Method.

jeffheaton's picture

We actually created an example from this test data, you can find it in the Encog Java examples.


Copyright 2005 - 2012 by Heaton Research, Inc.. Heaton Research™ and Encog™ are trademarks of Heaton Research. Click here for copyright, license and trademark information.