A question for a NN project
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?




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
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?
I do agree with Jeff. I've solved similar situation using Feed Forward Neural Network with Simulated Annealing as Training Method.
We actually created an example from this test data, you can find it in the Encog Java examples.