Method: MachineLearningWorkbench::Optimizer::NaturalEvolutionStrategies::Base#initialize
- Defined in:
- lib/machine_learning_workbench/optimizer/natural_evolution_strategies/base.rb
#initialize(ndims, obj_fn, opt_type, rseed: nil, mu_init: 0, sigma_init: 1, parallel_fit: false, rescale_popsize: 1, rescale_lrate: 1) ⇒ Base
NES object initialization
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/machine_learning_workbench/optimizer/natural_evolution_strategies/base.rb', line 22 def initialize ndims, obj_fn, opt_type, rseed: nil, mu_init: 0, sigma_init: 1, parallel_fit: false, rescale_popsize: 1, rescale_lrate: 1 raise ArgumentError unless [:min, :max].include? opt_type raise ArgumentError unless obj_fn.respond_to? :call @ndims, @opt_type, @obj_fn, @parallel_fit = ndims, opt_type, obj_fn, parallel_fit @rescale_popsize, @rescale_lrate = rescale_popsize, rescale_lrate @eye = NArray.eye(ndims) rseed ||= Random.new_seed # puts "NES rseed: #{s}" # currently disabled @rng = Random.new rseed @best = [(opt_type==:max ? -1 : 1) * Float::INFINITY, nil] @last_fits = [] initialize_distribution mu_init: mu_init, sigma_init: sigma_init end |