public EvolutionaryLearning ( ActivationNetwork activationNetwork, int populationSize ) : System | ||
activationNetwork | ActivationNetwork | Activation network to be trained. |
populationSize | int | Size of genetic population. |
리턴 | System |
public EvolutionaryLearning( ActivationNetwork activationNetwork, int populationSize )
{
// Check of assumptions during debugging only
Debug.Assert( activationNetwork != null );
Debug.Assert( populationSize > 0 );
// networks's parameters
this.network = activationNetwork;
this.numberOfNetworksWeights = CalculateNetworkSize( activationNetwork );
// population parameters
this.populationSize = populationSize;
this.chromosomeGenerator = new UniformGenerator( new Range( -1, 1 ) );
this.mutationMultiplierGenerator = new ExponentialGenerator( 1 );
this.mutationAdditionGenerator = new UniformGenerator( new Range( -0.5f, 0.5f ) );
this.selectionMethod = new EliteSelection( );
this.crossOverRate = 0.75;
this.mutationRate = 0.25;
this.randomSelectionRate = 0.2;
}
EvolutionaryLearning::EvolutionaryLearning ( ActivationNetwork activationNetwork, int populationSize, IRandomNumberGenerator chromosomeGenerator, IRandomNumberGenerator mutationMultiplierGenerator, IRandomNumberGenerator mutationAdditionGenerator, ISelectionMethod selectionMethod, double crossOverRate, double mutationRate, double randomSelectionRate ) : System |