I am trying to do classification using NEAT-python for the first time, and I am having difficulty getting the accuracy rate. I tried the same problem with an ANN and was able to get a good accuracy rate (96%+), but NEAT-Python gives barely 40%.

Here's how I set up:

  • Problem: Train 100 probability values to predict classification (1-10)

  • Input and output setup: inputs = number of input shape (100 values of prob), and output is 10 values of probability assoc with 10 classes.

  • Activation: I applied ReLU for feedforward, then applied softmax

    • Fitness function: I used the loglikelihood. I was unsure about how to set up the fitness function. I also used mean accuracy rate in the genome. Both gave similar results.

In terms of hyperparameters, I am trying various values and haven't had any luck with it. Today I am trying with an increase in population size and generations. I have another feature input that can be used.

Are there any resources that discuss how to handle mixed data for NEAT?

Any help is greatly appreciated.

  • $\begingroup$ Hi and welcome to AI SE! What do you mean by "Train 100 probability values to predict classification"? Also, isn't NEAT used to find the hyper-parameters of neural networks? What exactly do you want to classify here? $\endgroup$
    – nbro
    Apr 9 '20 at 23:45
  • $\begingroup$ Thank you @nbro My input values are array of float values between 0 and 1. yes, NEAT is used to optimize not only the weights but also the number of nodes and layers. NEAT however has its own hyperparameters (more for GA) such as no of generations, no. of populations, mutation rate, etc. I have 10 values range from 0 and 9. The input should predict one of the 10 values.. Multi label classification problem $\endgroup$
    – Linkuz
    Apr 10 '20 at 1:06
  • $\begingroup$ Are you saying that you're using NEAT to evolve NNs that receive a certain array as input and needs to predict one or more labels for each input? $\endgroup$
    – nbro
    Apr 10 '20 at 3:40
  • $\begingroup$ @nbro I am using NEAT to predict one label for each input $\endgroup$
    – Linkuz
    Apr 10 '20 at 17:17
  • $\begingroup$ Hi! @Linkuz I would suggest that you take a look into the paper papers.nips.cc/paper/2019/file/…. There is a section about weight-agnostic classification in it using NEAT - maybe you can transfer some of that into your implementation? $\endgroup$ Jan 7 '21 at 17:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.