Question

I have an ANN that controls an artificial herbivore. The inputs are the closest plant's magnitude and direction, the closest mate's magnitude and direction, and the herbivore's health. The outputs are a movement vector (direction and magnitude). Is it necessary to use a bias if it is being trained by a genetic algorithm?

Was it helpful?

Solution

The bias is used to shift the desicion boundary of the neural network away from the origin. For a simple perceptron doing simple linear classification this is equal to moving the line separating the two classes. (think of c in simple linear regression.

Genetic algorithms is just one of many ways to search for the optimal weights. It doesn't care if you have a bias or not since the bias is only another weight to it!

Therefore use a bias, it can speed up training and allows the network to learn patterns it may not be able to learn otherwise!

Edit to answer your specific question: no it isn't necessary to use a bias per se, the network can work without it, but since it's so easy to implement and improves your network- use it!

OTHER TIPS

You should use a bias, the bias not only allows you to solve problems that are not linearly separable; but it also allows for training of the pseudo threshold values which are interconnections between the bias neuron and the other neurons. In general, it would more likely help your attempts than hinder them.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top