Skip to content

pyoperon-0.4.0

Latest
Compare
Choose a tag to compare
@foolnotion foolnotion released this 13 Jun 15:37
· 4 commits to main since this release
16f71f1

What's Changed

This release is based on Operon rev. 4a93f98

  • minor bugfix related to lexicographical sorting in NSGA2
  • best order sort (DOI) implementation, now Operon contains all well-known non-dominated sorting algorithms
  • refactored dispatch table using generic backend interface (based on mdspan), support for other math backends (Blaze, Eve, etc.)
  • improved likelihoods (Gaussian, Poisson) which can also be used as objective functions
  • many other small improvements and fixes
  • support for SGD and L-BFGS algorithms for parameter tuning

The scikit-learn interface has been updated with some fixes and additional parameters:

  • local_iterations parameter has been renamed to optimizer_iterations
  • optimizer parameter accepts lm, sgd or lbfgs values to choose the optimization method
  • optimizer_likelihood parameter specifies the likelihood used by the optimizer
  • optimizer_batch_size controls the batch size for gradient descent
  • local_search_probability controls the probability of applying local search to an individual
  • lamarckian_probability controls the probability of writing optimized coefficients back into the genotype
  • parameters add_model_scale_term and add_model_intercept_term control linear scaling of the final model
  • uncertainty parameter specifies the variance of the error (taken into account inside the likelihood)
  • sgd_update_rule, sgd_learning_rate, sgd_beta, sgd_beta2, sgd_epsilon can be used to configure the SGD algorithm
  • model_selection_criterion parameter can be used to specify which model from the final pareto front is returned (NSGA2)