/SIA-TPE2

Primary LanguageMATLAB

SIA-TPE4

Installation

Clone the repository, make sure you have octave installed

sudo apt-get install octave git clone https://github.com/NicoBuch/SIA-TPE2.git

Running

Open genetic_init.m file and change the following values:

 Perceptron Parameters

- layerSizes : Sizes of the layers you want to try. Eg: [1 512 256 128 64 32 16 8]
  basePerceptron.eta : The value of the eta you want to try. Eg: 0.001
  gValue : Activation function. 1 for tanh and 2 for exp.
  basePerceptron.betaValue : beta value, to be used in, for example, tanh(beta * x) . Eg: 0.75
  error : Lower bound for the error. The perceptron will run until half cuadratic error is lower than this value. Eg: 1
  basePerceptron.momentum : Value of alpha in the momentum algorithm. Eg: 0.5
  basePerceptron.etaAdaptativo : Value of k in the Adaptative Eta algorithm. It measures how consistent the delta error has to be. Eg: 5
  basePerceptron.a : Value of "a" in Eta Adaptative. It is how much it adds when error is descending consistently. Eg: 0.0005
  basePerceptron.b : Value of "b" in Eta Adaptative. It is how much percentage of eta substracts when error is ascending. Eg: 0.1
  basePerceptron.noisePercentage = How much noise will be added to the weights in case it is needed. Eg: 0.01
  basePerceptron.minimumDeltaError = Minimum the error can change until it needs to add noise. Eg: 0.001

 Genetic Parameters

- community_size : The total size of the population. For replace method 1, it MUST be an even number. Eg: 10
  parents_size : For replace methods 2 and 3. K individuals to be selected for the crossover. It MUST be an even number. Eg: 6
  mixed_params : Array that contains 2 values for the mixed selection method; first parameter is percentage that will be selected with elite, second parameter may be 1 for elite+universal, 2 for elite+roulette. Eg: [0.6]

  ages_to_train : Quantity of ages that an individual will be trained with backpropagation.Eg: 5
  max_generations : Maximum quantity of generations that the algorithm will run. Eg: 500
  structureQuantity : Number of individuals that must not change to finish running. Eg: 0.75 * community_size
  generations_without_change_criteria : Quantity of generations that the algorithm will run without changing its structure. Eg: 5
  max_fitness_without_change_criteria : Quantity of generations that the maximum fitness can stay without changing. Eg: 25

  replace_method : Replacement method chosen. Eg: 1
  pick_method : Selection method chosen. 1 -> elite, 2 -> roulette, 3 -> boltzmann, 4 -> tournaments, 5 -> mixed, 6 -> universal
  replace_pick_method : Replacement selection method. Same options than pick_method
  crossover_method : Crossover method chosen. 1 -> one point, 2 -> two points, 3 -> uniform, 4 -> anular
  mutation_method : Mutations method chosen. 1 -> classic, 2 -> not uniform

  mutation_probability : Probability of each gene to mutate. Eg: 0.1
  cross_probability : Probability of each pair of parents to be crossed and generate children. Eg: 0.75
  train_probability : Probability of each new individual to be trained. Eg: 0.85;

Run the algorithm

cd < path to /SIA-TPE2 > octave genetic_init.m

Maintainer

This project is maintained by Nicolás Buchhalter, Agustina Fainguersch and Francisco Depascuali.