General review and plenty of changes
-
Re-implementation:
- Base sigmoidal kernels: computationally more efficient; no more warnings and enforced ceilings now gone
- Change operators: fit appreciably better (i.e. competitive where the data is truly of that kind), probably partly due to steeper gradients of new functional form
- Periodic Kernel: replicated the series-expansions-based approximations as in GPML MATLAB library instead of the pure-form version with overflow-prevention
-
Restructuring:
- Kernel Expressions: the classes are now code-wise more separate (still modular), and the Sigmoidal * Constant expression simplification is now prevented (for description generation)
- Internal functions passing: model-scoring and model-list fitting functions are now passed directly (and can therefore be supplied by a user)
- External (exported) starting kernels, rules and search parameters: added a few and better organised starting kernels and groups of production rules for easy user selection (arbitrary inputs still allowed)
- Global configurations grouped in config.py; may become more user-controllable (e.g. as search arguments) in the future
-
Remaining issues:
- The Periodic kernel is still somehow unstable but competitive when data is not periodic; it seems this is its actual nature
- Stationary kernels in ChangeWindow kernels do not work well (which make sense, but it would be nice if it could be remedied); could try adding a more-or-less hidden offset between the two sides (for all or only non-stationary kernels) in the future