v1.5
Version 1.5 of DynaML, released August 11, 2017. Updates to global optimization api, improvements and new features in the gaussian process and stochastic process api.
Additions¶
Package dynaml.algebra
- Added support for dual numbers.
//Zero Dual
val zero = DualNumber.zero[Double]  
val dnum = DualNumber(1.5, -1.0) 
val dnum1 = DualNumber(-1.5, 1.0) 
//Algebraic operations: multiplication and addition/subtraction
dnum1*dnum2
dnum1 - dnum
dnum*zero 
Package dynaml.probability
- Added support for mixture distributions and mixture random variables. MixtureRV,ContinuousDistrMixturefor random variables andMixtureDistributionfor constructing mixtures of breeze distributions.
Package dynaml.optimization
- Added ModelTuner[T, T1]trait as a super trait toGlobalOptimizer[T]
- GridSearchand- CoupledSimulatedAnnealingnow extend- AbstractGridSearchand- AbstractCSArespectively.
- Added ProbGPMixtureMachine: constructs a mixture model after a CSA or grid search routine by calculating the mixture probabilities of members of the final hyper-parameter ensemble.
Stochastic Mixture Models¶
Package dynaml.models
- Added StochasticProcessMixtureModelas top level class for stochastic mixture models.
- Added GaussianProcessMixture: implementation of gaussian process mixture models.
- Added MVTMixture: implementation of mixture model over multioutput matrix T processes.
Kulback-Leibler Divergence¶
Package dynaml.probability
- Added method KL()toprobabilitypackage object, to calculate the Kulback Leibler divergence between two continuous random variables backed by breeze distributions.
Adaptive Metropolis Algorithms.¶
- 
AdaptiveHyperParameterMCMC which adapts the exploration covariance with each sample. 
- 
HyperParameterSCAM adapts the exploration covariance for each hyper-parameter independently. 
Splines and B-Spline Generators¶
Package dynaml.analysis
- B-Spline generators
- Bernstein b-spline generators.
- Arbitrary spline functions can be created using the SplineGeneratorclass.
Cubic Spline Interpolation Kernels¶
Package dynaml.kernels
- Added cubic spline interpolation kernel CubicSplineKerneland its ARD analogueCubicSplineARDKernel
Gaussian Process Models for Linear Partial Differential Equations¶
Based on a legacy ICML 2003 paper by Graepel. DynaML now ships with capability of performing PDE forward and inverse inference using the Gaussian Process API.
Package dynaml.models.gp
- GPOperatorModel: models a quantity of interest which is governed by a linear PDE in space and time.
Package dynaml.kernels
- 
LinearPDEKernel: The core kernel primitive accepted by theGPOperatorModelclass.
- 
GenExpSpaceTimeKernel: a kernel of the exponential family which can serve as a handy base kernel forLinearPDEKernelclass.
Basis Function Gaussian Processes¶
DynaML now supports GP models with explicitly incorporated basis functions as linear mean/trend functions.
Package dynaml.models.gp
- GPBasisFuncRegressionModelcan be used to create GP models with trends incorporated as a linear combination of basis functions.
Log Gaussian Processes¶
- LogGaussianProcessModel represents a stochastic process whose natural logarithm follows a gaussian process.
Improvements¶
Package dynaml.probability
- Changes to RandomVarWithDistr: made type parameterDistcovariant.
- Reform to IIDRandomVarhierarchy.
Package dynaml.probability.mcmc
- Bug-fixes to the HyperParameterMCMCclass.
General
- DynaML now ships with Ammonite v1.0.0.
Fixes¶
Package dynaml.optimization
- Corrected energy calculation in CoupledSimulatedAnnealing; added log likelihood due to hyper-prior.
Package dynaml.optimization
- Corrected energy calculation in CoupledSimulatedAnnealing; added log likelihood due to hyper-prior.